/* City UI v2 — presentation layer only. The map/canvas renderer is intentionally untouched. */
:root{
  --city-ui-bg:#07111b;
  --city-ui-panel:#0d1d2b;
  --city-ui-panel2:#112434;
  --city-ui-line:#29465b;
  --city-ui-text:#f2f7fb;
  --city-ui-muted:#8fa9bb;
  --city-ui-accent:#58d5b0;
  --city-ui-blue:#6e8cff;
  --city-ui-danger:#ff6b75;
  --city-ui-radius:12px;
  --city-ui-shadow:0 18px 46px rgba(0,0,0,.28);
}

/* Main navigation */
html .topbar{
  min-height:64px!important;
  padding:8px 14px!important;
  gap:9px!important;
  border:1px solid rgba(255,255,255,.08)!important;
  border-inline:0!important;
  background:rgba(7,17,27,.94)!important;
  box-shadow:0 8px 26px rgba(0,0,0,.2)!important;
  backdrop-filter:blur(16px)!important;
}
html .topbar .brand-mark{width:34px!important;height:34px!important;border-radius:9px!important;background:var(--city-ui-panel2)!important;border-color:var(--city-ui-line)!important}
html .topbar .brand-name{font-size:12px!important;color:var(--city-ui-text)!important}
html .topbar .brand-sub{font-size:9px!important;color:var(--city-ui-muted)!important}
html .topbar .search-input{height:34px!important;min-height:34px!important;border-radius:8px!important;background:var(--city-ui-panel)!important;border-color:var(--city-ui-line)!important;font-size:11px!important}
html .topbar .topbar-actions :is(a,button){
  height:34px!important;min-height:34px!important;min-width:34px!important;padding:0 9px!important;
  border-radius:8px!important;border-color:var(--city-ui-line)!important;background:var(--city-ui-panel2)!important;
  color:var(--city-ui-text)!important;font-size:10px!important;font-weight:700!important
}
html .topbar .topbar-actions :is(a,button):hover{border-color:#52728a!important;background:#183247!important}
html .topbar .city-account{font-size:10px!important;border-color:var(--city-ui-line)!important}
html .category-filter{border:1px solid var(--city-ui-line)!important;border-radius:10px!important;background:rgba(13,29,43,.95)!important;box-shadow:var(--city-ui-shadow)!important}

/* Land market */
.land-market-hud{
  padding:8px 10px!important;border:1px solid var(--city-ui-line)!important;border-radius:10px!important;
  background:rgba(13,29,43,.94)!important;color:var(--city-ui-text)!important;box-shadow:var(--city-ui-shadow)!important
}
.land-market-hud strong{color:var(--city-ui-text)!important;font-size:11px!important}.land-market-hud span,.land-market-hud small{color:var(--city-ui-muted)!important;font-size:9px!important}
.land-market-wallet{border:1px solid var(--city-ui-line)!important;border-radius:8px!important;background:var(--city-ui-panel2)!important;color:var(--city-ui-text)!important}
.land-market-wallet b{color:var(--city-ui-accent)!important}
.land-market-notice{border:1px solid var(--city-ui-line)!important;border-radius:8px!important;background:var(--city-ui-panel)!important;color:var(--city-ui-text)!important}
.land-market-notice.error{border-color:#7f3a42!important;color:#ffc1c6!important}
.land-plot-editor{
  width:min(390px,calc(100vw - 24px))!important;padding:13px!important;border:1px solid var(--city-ui-line)!important;border-radius:12px!important;
  background:rgba(13,29,43,.97)!important;color:var(--city-ui-text)!important;box-shadow:var(--city-ui-shadow)!important
}
.land-plot-editor header{border-color:var(--city-ui-line)!important}.land-plot-editor h3{font-size:13px!important;color:var(--city-ui-text)!important}
.land-plot-editor label{color:var(--city-ui-muted)!important;font-size:10px!important}
.land-plot-editor input:not([type=checkbox]),.land-plot-editor textarea{
  border:1px solid var(--city-ui-line)!important;border-radius:8px!important;background:#081620!important;color:var(--city-ui-text)!important;box-shadow:none!important
}
.land-editor-close{border:1px solid var(--city-ui-line)!important;border-radius:8px!important;background:var(--city-ui-panel2)!important;color:var(--city-ui-text)!important}

/* Resale dialogs */
.sale-modal,.sale-modal *{font-family:Tahoma,system-ui,sans-serif!important}
.sale-modal{
  width:min(420px,calc(100vw - 24px))!important;border:1px solid var(--city-ui-line)!important;border-radius:14px!important;
  background:rgba(13,29,43,.98)!important;color:var(--city-ui-text)!important;box-shadow:var(--city-ui-shadow)!important
}
.sale-modal header{border-color:var(--city-ui-line)!important}.sale-modal h3{font-size:14px!important;color:var(--city-ui-text)!important}.sale-modal .muted{color:var(--city-ui-muted)!important}
.sale-modal label{color:var(--city-ui-muted)!important}.sale-modal input[type=number]{border:1px solid var(--city-ui-line)!important;border-radius:8px!important;background:#081620!important;color:var(--city-ui-text)!important}
.sale-calc,.sale-buy-breakdown{border-color:var(--city-ui-line)!important;background:var(--city-ui-panel2)!important;border-radius:9px!important}
.sale-actions .btn,.sale-actions a.btn{min-height:36px!important;border-radius:8px!important;box-shadow:none!important}
.sale-actions .btn.primary{background:#1d7d62!important;border-color:#3ebd94!important;color:white!important}.sale-actions .btn.ghost{background:var(--city-ui-panel2)!important;border-color:var(--city-ui-line)!important;color:var(--city-ui-text)!important}.sale-actions .btn.danger{background:#57282e!important;border-color:#7f3a42!important;color:#fff!important}

/* Store designer */
.store-modify-modal{
  width:min(1180px,calc(100vw - 24px))!important;max-height:calc(100vh - 24px)!important;border:1px solid var(--city-ui-line)!important;
  border-radius:14px!important;background:var(--city-ui-panel)!important;color:var(--city-ui-text)!important;box-shadow:var(--city-ui-shadow)!important
}
.store-modify-modal>header{min-height:50px!important;padding:9px 12px!important;border-color:var(--city-ui-line)!important;background:var(--city-ui-panel2)!important}
.store-modify-body{gap:10px!important;padding:10px!important}.store-modify-parts-col,.store-modify-preview-col{border:1px solid var(--city-ui-line)!important;border-radius:10px!important;background:#091824!important}
.store-preview-wrap{border-color:var(--city-ui-line)!important;border-radius:10px!important;background:#06111a!important}
.store-modify-modal button{min-height:34px!important;border:1px solid var(--city-ui-line)!important;border-radius:8px!important;background:var(--city-ui-panel2)!important;color:var(--city-ui-text)!important;box-shadow:none!important}
.store-modify-modal input,.store-modify-modal .component-search input{min-height:34px!important;border:1px solid var(--city-ui-line)!important;border-radius:8px!important;background:#081620!important;color:var(--city-ui-text)!important}
.store-modify-modal .component-row,.component-asset-card{border:1px solid var(--city-ui-line)!important;border-radius:9px!important;background:var(--city-ui-panel2)!important;box-shadow:none!important}
.store-modify-modal .component-row.active,.component-asset-card:hover{border-color:#597992!important;background:#173046!important}
.store-modify-modal .component-category-list button.active{background:#315c78!important;border-color:#527f9d!important;color:#fff!important}
.designer-zoom{border:1px solid var(--city-ui-line)!important;border-radius:9px!important;background:var(--city-ui-panel)!important}

/* Motion editor */
.motion-panel{border:1px solid var(--city-ui-line)!important;border-radius:11px!important;background:var(--city-ui-panel)!important;color:var(--city-ui-text)!important;box-shadow:var(--city-ui-shadow)!important}
.motion-panel h3{color:var(--city-ui-text)!important}.motion-panel p,.motion-panel label{color:var(--city-ui-muted)!important}
.motion-panel input,.motion-panel select{border:1px solid var(--city-ui-line)!important;border-radius:7px!important;background:#081620!important;color:var(--city-ui-text)!important}
.motion-panel button{border:1px solid var(--city-ui-line)!important;border-radius:8px!important;background:var(--city-ui-panel2)!important;color:var(--city-ui-text)!important}

/* Storefront front/interior experience */
.city-plan-modal,.city-plan-designer{font-family:Tahoma,system-ui,sans-serif!important}
.city-plan-dialog,.city-plan-designer{
  border:1px solid var(--city-ui-line)!important;border-radius:14px!important;background:var(--city-ui-panel)!important;color:var(--city-ui-text)!important;box-shadow:var(--city-ui-shadow)!important
}
.city-plan-dialog>header,.city-plan-dialog>footer,.city-plan-head{border-color:var(--city-ui-line)!important;background:var(--city-ui-panel2)!important}
.city-plan-head span,.city-plan-room-title,.city-facade-minimap-title strong{color:var(--city-ui-text)!important}.city-plan-head small,.city-facade-minimap-title small{color:var(--city-ui-muted)!important}
.city-plan-primary,.city-plan-secondary,.city-plan-icon-btn,.city-panel-icon-action{
  min-height:34px!important;border:1px solid var(--city-ui-line)!important;border-radius:8px!important;background:var(--city-ui-panel2)!important;color:var(--city-ui-text)!important;box-shadow:none!important
}
.city-plan-primary{background:#1d7d62!important;border-color:#3ebd94!important}
.city-plan-card,.city-plan-asset-library-item,.city-plan-inspector,.city-facade-minimap{
  border-color:var(--city-ui-line)!important;background:var(--city-ui-panel2)!important;border-radius:9px!important;box-shadow:none!important
}
.city-plan-catalog,.city-plan-asset-library,.city-plan-designer-workspace{background:#091824!important;border-color:var(--city-ui-line)!important}
.city-plan-coords input,.city-plan-inspector-controls input:not([type=range]),.city-plan-angle select{border:1px solid var(--city-ui-line)!important;border-radius:7px!important;background:#081620!important;color:var(--city-ui-text)!important}
.city-plan-minimap,.city-facade-map-stage{border-color:var(--city-ui-line)!important;background:#07131d!important}

/* Shared modal/buttons from legacy city bundles */
html body :is(.economy-panel,.asset-store-panel,.store-panel,.city-panel){
  border-color:var(--city-ui-line)!important;background:rgba(13,29,43,.97)!important;color:var(--city-ui-text)!important;box-shadow:var(--city-ui-shadow)!important
}
html body :is(.economy-panel,.asset-store-panel,.store-panel,.city-panel) :is(button,a.btn){
  border-color:var(--city-ui-line)!important;border-radius:8px!important;box-shadow:none!important
}

@media(max-width:720px){
  html .topbar{padding:7px 8px!important}
  .store-modify-modal{width:calc(100vw - 12px)!important;max-height:calc(100vh - 12px)!important}
  .store-modify-body{padding:7px!important}
  .land-plot-editor,.sale-modal{width:calc(100vw - 16px)!important}
}

.city-price-meta{margin:0 10px 8px;padding:5px 7px;border:1px solid var(--city-ui-line);border-radius:7px;background:var(--city-ui-panel2);color:var(--city-ui-accent);font-size:10px;font-weight:800;text-align:center}
.land-plot-editor [data-land-currency]{color:var(--city-ui-accent);font-size:9px}
