/* =====================================================================
   SIMURBAN v0.9.64 — consolidação responsiva da interface
   Carregado por último para neutralizar as camadas legadas do core antigo.
   ===================================================================== */

:root{
  --v964-panel:linear-gradient(180deg,rgba(12,25,24,.97),rgba(7,15,16,.96));
  --v964-card:rgba(255,255,255,.052);
  --v964-card-strong:rgba(255,255,255,.075);
  --v964-line:rgba(214,236,226,.14);
  --v964-muted:#91a69d;
  --v964-accent:#8fd36b;
  --v964-danger:#e97b72;
}

/* ---------- Topbar: marca à esquerda, dados realmente centralizados, FPS à direita ---------- */
body.city-mode #topbar.topbar{
  position:fixed!important;
  inset:0 0 auto 0!important;
  width:100%!important;
  max-width:none!important;
  height:52px!important;
  transform:none!important;
  display:grid!important;
  grid-template-columns:210px minmax(0,1fr) 68px!important;
  align-items:stretch!important;
  gap:0!important;
  padding:0!important;
  overflow:hidden!important;
  border:0!important;
  border-bottom:1px solid rgba(255,255,255,.10)!important;
  border-radius:0!important;
  background:rgba(7,17,21,.96)!important;
  box-shadow:0 8px 30px rgba(0,0,0,.22)!important;
  backdrop-filter:blur(16px)!important;
  z-index:50!important;
}
body.city-mode #topbar .topbar-brand-zone{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  min-width:0!important;
  padding:0 10px!important;
  border-right:1px solid rgba(255,255,255,.08)!important;
}
body.city-mode #topbar .hamb-top{
  position:static!important;
  width:34px!important;
  height:34px!important;
  margin:0!important;
  flex:0 0 34px!important;
  border-radius:10px!important;
}
body.city-mode #topbar .brand{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  width:auto!important;
  min-width:0!important;
  padding:0!important;
}
body.city-mode #topbar .brand strong{font-size:13px!important;line-height:1.05!important;letter-spacing:.035em!important}
body.city-mode #topbar .brand span{font-size:9px!important;color:#9eafa8!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
body.city-mode #topbar .topbar-center{
  min-width:0!important;
  display:flex!important;
  align-items:stretch!important;
  justify-content:center!important;
  overflow:hidden!important;
}
body.city-mode #topbar .topbar-center>.hud-pill{
  position:relative!important;
  inset:auto!important;
  flex:0 1 116px!important;
  width:auto!important;
  min-width:82px!important;
  max-width:132px!important;
  height:52px!important;
  margin:0!important;
  padding:0 11px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
  border:0!important;
  border-left:1px solid rgba(255,255,255,.075)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body.city-mode #topbar .topbar-center>.hud-pill:first-child{border-left:0!important}
body.city-mode #topbar .topbar-center>.hud-pill b{
  display:block!important;
  color:#8fa39a!important;
  font-size:8.5px!important;
  font-weight:950!important;
  line-height:1.05!important;
  letter-spacing:.055em!important;
  text-transform:uppercase!important;
}
body.city-mode #topbar .topbar-center>.hud-pill>span{
  display:block!important;
  max-width:100%!important;
  margin-top:3px!important;
  color:#f5faf7!important;
  font-size:12px!important;
  font-weight:950!important;
  line-height:1.05!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
body.city-mode #topbar #hudEvents{
  flex:0 0 64px!important;
  min-width:64px!important;
  max-width:64px!important;
  align-items:center!important;
  padding:0 6px!important;
}
body.city-mode #topbar #hudEvents .ui-ico{position:absolute!important;top:5px!important;left:50%!important;transform:translateX(-50%)!important;width:12px!important;height:12px!important;color:#b9c9c2!important}
body.city-mode #topbar #hudEvents b{margin-top:8px!important}
body.city-mode #topbar #hudEvents>span:last-child{overflow:visible!important}
body.city-mode #topbar #hudRci{
  flex:0 0 128px!important;
  min-width:128px!important;
  max-width:128px!important;
  padding:0 10px!important;
}
body.city-mode #topbar #hudRci .rci-demand-bars{display:grid!important;width:100%!important;grid-template-rows:repeat(3,5px)!important;gap:2px!important;margin-top:4px!important}
body.city-mode #topbar #hudRci .rci-demand-item{display:grid!important;grid-template-columns:9px 1fr!important;gap:4px!important;align-items:center!important}
body.city-mode #topbar #hudRci .rci-demand-label{font-size:8px!important;color:#eff8ee!important;font-weight:950!important;line-height:1!important}
body.city-mode #topbar #hudRci .rci-demand-track{display:block!important;height:5px!important;border-radius:99px!important;background:rgba(0,0,0,.38)!important;overflow:hidden!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.09)!important}
body.city-mode #topbar #hudRci .rci-demand-fill{display:block!important;height:100%!important;width:5%;border-radius:99px!important;transition:width .28s ease!important}
body.city-mode #topbar .topbar-fps-zone{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-left:1px solid rgba(255,255,255,.09)!important;
}
body.city-mode #topbar .topbar-fps-zone .hud-fps{
  position:static!important;
  inset:auto!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  width:54px!important;
  min-width:54px!important;
  max-width:54px!important;
  height:38px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid rgba(143,211,107,.24)!important;
  border-radius:10px!important;
  background:rgba(143,211,107,.065)!important;
  box-shadow:none!important;
}
body.city-mode #topbar .topbar-fps-zone .hud-fps b{display:block!important;color:#83b96d!important;font-size:8px!important;line-height:1!important}
body.city-mode #topbar .topbar-fps-zone .hud-fps span{display:block!important;color:#c9f3b7!important;font-size:12px!important;font-weight:950!important;line-height:1.15!important;overflow:visible!important}
.topbar-hidden-metrics{display:none!important}

/* ---------- Menu hambúrguer ---------- */
body.city-mode #hamburgerMenu.classic-menu{
  position:fixed!important;
  left:10px!important;
  right:auto!important;
  top:60px!important;
  width:min(340px,calc(100vw - 20px))!important;
  max-height:calc(100vh - 72px)!important;
  padding:12px!important;
  overflow:auto!important;
  display:grid!important;
  gap:10px!important;
  border:1px solid var(--v964-line)!important;
  border-radius:16px!important;
  background:var(--v964-panel)!important;
  box-shadow:0 24px 70px rgba(0,0,0,.52),inset 0 1px 0 rgba(255,255,255,.06)!important;
  z-index:80!important;
}
body.city-mode #hamburgerMenu.hidden{display:none!important}
.classic-menu-head{display:flex;align-items:center;justify-content:space-between;padding:2px 2px 6px;border-bottom:1px solid rgba(255,255,255,.08)}
.classic-menu-head b{display:block;font-size:14px;color:#f2f8f4}.classic-menu-head span{display:block;margin-top:2px;font-size:10px;color:var(--v964-muted)}
body.city-mode #hamburgerMenu .menu-seed-row{display:grid!important;grid-template-columns:minmax(0,1fr) 78px!important;gap:8px!important;padding:0!important}
body.city-mode #hamburgerMenu .menu-seed-row input{height:38px!important;border-radius:10px!important;background:rgba(255,255,255,.055)!important;border:1px solid var(--v964-line)!important}
body.city-mode #hamburgerMenu .menu-seed-row button{height:38px!important;display:flex!important;gap:6px!important;align-items:center!important;justify-content:center!important;border-radius:10px!important}
.classic-menu-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
body.city-mode #hamburgerMenu .classic-menu-actions button{
  min-height:46px!important;
  height:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:9px!important;
  padding:8px 10px!important;
  border-radius:11px!important;
  border:1px solid var(--v964-line)!important;
  background:var(--v964-card)!important;
  color:#edf6f1!important;
  font-size:11px!important;
  font-weight:900!important;
  text-align:left!important;
}
body.city-mode #hamburgerMenu .classic-menu-actions button:hover{background:rgba(143,211,107,.13)!important;border-color:rgba(143,211,107,.30)!important}
body.city-mode #hamburgerMenu .classic-menu-actions button:nth-child(4),body.city-mode #hamburgerMenu .classic-menu-actions .danger-menu-action{grid-column:1/-1!important}
body.city-mode #hamburgerMenu .classic-menu-actions .danger-menu-action{border-color:rgba(233,123,114,.28)!important;color:#ffd8d4!important}
body.city-mode #hamburgerMenu .ui-ico{width:17px!important;height:17px!important}

/* ---------- Painéis de ferramentas ---------- */
body.city-mode #toolPanel.tool-panel{
  position:fixed!important;
  left:62px!important;
  right:auto!important;
  top:70px!important;
  bottom:auto!important;
  transform:none!important;
  width:min(430px,calc(100vw - 250px))!important;
  min-width:300px!important;
  max-width:calc(100vw - 250px)!important;
  max-height:calc(100vh - 152px)!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid var(--v964-line)!important;
  border-radius:17px!important;
  background:var(--v964-panel)!important;
  box-shadow:0 24px 70px rgba(0,0,0,.48),inset 0 1px 0 rgba(255,255,255,.06)!important;
  z-index:38!important;
}
body.city-mode #toolPanel[data-active-tool="none"],
body.city-mode #toolPanel[data-active-tool="inspect"],
body.city-mode #toolPanel[data-active-tool="vehicles"],
body.city-mode #toolPanel[data-active-tool="upgrade"],
body.city-mode #toolPanel[data-active-tool="demolish"]{display:none!important}
body.city-mode #toolPanel[data-active-tool="road"],
body.city-mode #toolPanel[data-active-tool="rail"],
body.city-mode #toolPanel[data-active-tool="zone"],
body.city-mode #toolPanel[data-active-tool="lines"],
body.city-mode #toolPanel[data-active-tool="terrain"]{display:block!important}
body.city-mode #toolPanel .tool-panel-head{
  position:sticky!important;
  inset:0 0 auto 0!important;
  float:none!important;
  width:auto!important;
  height:auto!important;
  min-height:54px!important;
  margin:0!important;
  padding:10px 12px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  border:0!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
  border-radius:0!important;
  background:rgba(255,255,255,.025)!important;
  z-index:2!important;
}
body.city-mode #toolPanel .tool-panel-head>div{min-width:0!important}
body.city-mode #toolPanel .tool-panel-head .panel-title{display:block!important;margin:0!important;color:#eef7f1!important;font-size:13px!important;line-height:1.1!important;letter-spacing:.06em!important}
body.city-mode #toolPanel .tool-panel-subtitle{display:block!important;margin-top:3px!important;color:var(--v964-muted)!important;font-size:9px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
body.city-mode #toolPanel .tool-panel-close{position:static!important;display:flex!important;width:30px!important;height:30px!important;flex:0 0 30px!important}
body.city-mode #toolPanel .tool-section{display:none!important}
body.city-mode #toolPanel .tool-section.active{
  display:block!important;
  max-height:calc(100vh - 210px)!important;
  overflow:auto!important;
  padding:12px!important;
  box-sizing:border-box!important;
}
body.city-mode #toolPanel .tool-section-title,body.city-mode #toolPanel .classic-subtitle{display:none!important}
body.city-mode #toolPanel .classic-tool-group,
body.city-mode #toolPanel .zone-density-wrap,
body.city-mode #toolPanel .zone-buttons,
body.city-mode #toolPanel .side-buttons,
body.city-mode #toolPanel .geometry-buttons{
  width:auto!important;
  min-width:0!important;
  margin:0!important;
  padding:10px!important;
  border:1px solid rgba(255,255,255,.085)!important;
  border-radius:12px!important;
  background:var(--v964-card)!important;
  box-sizing:border-box!important;
}
body.city-mode #toolPanel .classic-tool-group>label,
body.city-mode #toolPanel .zone-density-title{
  display:block!important;
  margin:0 0 8px!important;
  color:#aebeb7!important;
  font-size:9px!important;
  font-weight:950!important;
  line-height:1!important;
  letter-spacing:.07em!important;
  text-transform:uppercase!important;
}
body.city-mode #toolPanel button{
  min-width:0!important;
  height:34px!important;
  min-height:34px!important;
  padding:0 9px!important;
  border-radius:9px!important;
  border:1px solid rgba(255,255,255,.11)!important;
  background:rgba(255,255,255,.055)!important;
  color:#e9f2ec!important;
  font-size:10px!important;
  font-weight:900!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
body.city-mode #toolPanel button:hover{background:rgba(143,211,107,.13)!important;border-color:rgba(143,211,107,.28)!important}
body.city-mode #toolPanel button.active{background:linear-gradient(180deg,rgba(143,211,107,.33),rgba(67,112,55,.27))!important;border-color:rgba(143,211,107,.50)!important;color:#fff!important}
body.city-mode #toolPanel .tool-hint{display:block!important;margin:0!important;padding:9px 10px!important;border-radius:11px!important;color:#9eb0a8!important;font-size:9.5px!important;line-height:1.35!important;background:rgba(255,255,255,.035)!important}
body.city-mode #toolPanel .classic-current,body.city-mode #toolPanel .classic-level-readout{display:none!important}

/* Ícones de vias: somente níveis, desenho e extras preservam texto. */
.icon-choice-grid{display:grid!important;gap:7px!important}
.road-main-presets{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.lane-quick-buttons{grid-template-columns:repeat(5,minmax(0,1fr))!important}
.speed-quick-buttons{grid-template-columns:repeat(6,minmax(0,1fr))!important}
body.city-mode #toolPanel .icon-choice{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  height:42px!important;
  min-height:42px!important;
  padding:0!important;
  overflow:visible!important;
}
body.city-mode #toolPanel .icon-choice .ui-ico{width:22px!important;height:22px!important;color:#cfe0d8!important}
body.city-mode #toolPanel .icon-choice.active .ui-ico{color:#fff!important;filter:drop-shadow(0 0 5px rgba(143,211,107,.30))}
body.city-mode #toolPanel .icon-choice::after{
  content:attr(data-tip);
  position:absolute;
  left:50%;bottom:calc(100% + 7px);
  transform:translate(-50%,4px);
  padding:5px 7px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:7px;
  background:rgba(5,12,13,.98);
  color:#edf6f1;
  font-size:9px;
  font-weight:850;
  white-space:nowrap;
  opacity:0;
  pointer-events:none;
  transition:.12s ease;
  z-index:20;
}
body.city-mode #toolPanel .icon-choice:hover::after{opacity:1;transform:translate(-50%,0)}

/* Estradas: grade compacta e responsiva. */
body.city-mode #toolPanel[data-active-tool="road"]{width:min(470px,calc(100vw - 250px))!important}
body.city-mode #toolPanel[data-active-tool="road"] .classic-tool-section.active{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  align-items:start!important;
}
body.city-mode #toolPanel[data-active-tool="road"] .classic-tool-group:has(.speed-quick-buttons),
body.city-mode #toolPanel[data-active-tool="road"] .classic-tool-group:has(.road-extra-grid),
body.city-mode #toolPanel[data-active-tool="road"] .tool-hint{grid-column:1/-1!important}
body.city-mode #toolPanel[data-active-tool="road"] .speed-quick-buttons .ui-ico{width:20px!important;height:20px!important}
body.city-mode #toolPanel[data-active-tool="road"] .geometry-buttons,
body.city-mode #toolPanel[data-active-tool="road"] .road-elevation-grid,
body.city-mode #toolPanel[data-active-tool="road"] .road-extra-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;padding:0!important;border:0!important;background:none!important}
body.city-mode #toolPanel[data-active-tool="road"] .road-elevation-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}

/* Trilhos: cada card ocupa uma linha; tipos usam ícones. */
body.city-mode #toolPanel[data-active-tool="rail"]{width:min(330px,calc(100vw - 90px))!important}
body.city-mode #toolPanel[data-active-tool="rail"] .classic-tool-section.active{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
body.city-mode #toolPanel[data-active-tool="rail"] .rail-main-presets{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
body.city-mode #toolPanel[data-active-tool="rail"] .geometry-buttons,
body.city-mode #toolPanel[data-active-tool="rail"] .rail-elevation-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;padding:0!important;border:0!important;background:none!important}
body.city-mode #toolPanel[data-active-tool="rail"] .rail-elevation-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
body.city-mode #toolPanel[data-active-tool="rail"] .tool-hint{grid-column:auto!important}

/* Zoneamento: RCI saiu daqui; cards em uma coluna. */
body.city-mode #toolPanel[data-active-tool="zone"]{width:min(350px,calc(100vw - 90px))!important}
body.city-mode #toolPanel[data-active-tool="zone"] .tool-section.active{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
body.city-mode #toolPanel[data-active-tool="zone"] .zone-buttons,
body.city-mode #toolPanel[data-active-tool="zone"] .zone-density-buttons,
body.city-mode #toolPanel[data-active-tool="zone"] .zone-brush-buttons{display:grid!important;grid-template-columns:1fr!important;gap:7px!important}
body.city-mode #toolPanel[data-active-tool="zone"] .zone-buttons button{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:9px!important;height:38px!important;padding:0 11px!important}
body.city-mode #toolPanel[data-active-tool="zone"] .zone-buttons button .ui-ico{width:18px!important;height:18px!important}
body.city-mode #toolPanel[data-active-tool="zone"] .zone-grid-toggle-row{display:grid!important;grid-template-columns:1fr!important}

/* Linhas: biblioteca e edição lado a lado, sem áreas desperdiçadas. */
body.city-mode #toolPanel[data-active-tool="lines"]{
  width:min(780px,calc(100vw - 250px))!important;
  max-width:calc(100vw - 250px)!important;
}
body.city-mode #toolPanel[data-active-tool="lines"] .lines-tool-section.active{display:block!important;padding:12px!important}
.lines-layout{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(340px,1.1fr);gap:10px;align-items:start}
.lines-pane{min-width:0;padding:11px;border:1px solid rgba(255,255,255,.085);border-radius:13px;background:var(--v964-card)}
.lines-pane-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:9px}.lines-pane-head b{font-size:12px;color:#eef7f1}.lines-pane-head span{font-size:9px;color:var(--v964-muted);text-align:right}
.transit-mode-row,.transit-actions-main,.line-route-actions{display:grid!important;gap:7px!important}
.transit-mode-row{grid-template-columns:1fr 1fr!important;margin-bottom:8px!important}
.transit-actions-main{grid-template-columns:1fr 1fr!important;margin-bottom:8px!important}
body.city-mode #toolPanel[data-active-tool="lines"] button{display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;height:34px!important}
body.city-mode #toolPanel[data-active-tool="lines"] button .ui-ico{width:15px!important;height:15px!important}
.transit-filter{width:100%;height:36px;box-sizing:border-box;border:1px solid rgba(255,255,255,.11);border-radius:10px;background:rgba(0,0,0,.22);color:#eff7f2;padding:0 10px;font-weight:800;outline:none}
.transit-filter:focus{border-color:rgba(143,211,107,.42);box-shadow:0 0 0 2px rgba(143,211,107,.08)}
.transit-line-list{display:grid;gap:7px;margin-top:8px;max-height:210px;overflow:auto;padding-right:2px}
body.city-mode #toolPanel .transit-line-card{height:auto!important;min-height:48px!important;display:grid!important;grid-template-columns:12px 1fr!important;gap:2px 8px!important;align-items:center!important;justify-content:stretch!important;text-align:left!important;padding:8px!important;overflow:hidden!important}
.transit-line-card i{grid-row:1/3;width:10px;height:32px;border-radius:99px}.transit-line-card b{font-size:11px}.transit-line-card span{font-size:9px;color:var(--v964-muted);white-space:normal!important;line-height:1.25}
.transit-empty{padding:12px;border:1px dashed rgba(255,255,255,.13);border-radius:10px;color:var(--v964-muted);font-size:10px;text-align:center}
.lines-detail-pane .transit-selected-row{display:grid!important;grid-template-columns:58px minmax(0,1fr)!important;gap:9px!important;align-items:start!important;margin:0 0 9px!important;padding:0!important;border:0!important;background:none!important}
.line-color-control{display:grid;gap:4px;color:var(--v964-muted);font-size:9px;font-weight:900;text-transform:uppercase}.line-color-control input{width:100%;height:34px;padding:3px;border-radius:9px;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.22)}
#transitLineSummary{min-width:0;padding:9px;border:1px solid rgba(255,255,255,.08);border-radius:11px;background:rgba(0,0,0,.16)}
#transitLineSummary .transit-fare-box{gap:6px!important}#transitLineSummary .transit-fare-box b{font-size:11px!important}#transitLineSummary .transit-fare-box span{font-size:9px!important}#transitLineSummary .transit-fare-box label{grid-template-columns:1fr 72px!important;font-size:9px!important}#transitLineSummary .transit-fare-box input{height:27px!important;font-size:10px!important}
body.city-mode #toolPanel .wide-fleet-button{width:100%!important;margin:0 0 9px!important;background:rgba(143,211,107,.12)!important;border-color:rgba(143,211,107,.28)!important}
.line-route-actions{grid-template-columns:1fr 1fr!important}.line-route-actions #transitRemoveLine{grid-column:1/-1!important}.primary-action{background:linear-gradient(180deg,rgba(143,211,107,.30),rgba(67,112,55,.25))!important;border-color:rgba(143,211,107,.44)!important}.danger-action{border-color:rgba(233,123,114,.30)!important;color:#ffd7d2!important}
.lines-help{margin:9px 0 0;padding:8px;border-radius:9px;background:rgba(255,255,255,.028);color:#99aaa2;font-size:9px;line-height:1.35}

/* Veículos: uma única janela, catálogo simples e botão de compra íntegro. */
body.city-mode #transitFleetPanel.transit-fleet-panel{
  position:fixed!important;
  left:62px!important;
  right:auto!important;
  top:70px!important;
  bottom:auto!important;
  transform:none!important;
  width:min(470px,calc(100vw - 90px))!important;
  max-width:calc(100vw - 90px)!important;
  max-height:calc(100vh - 90px)!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid var(--v964-line)!important;
  border-radius:17px!important;
  background:var(--v964-panel)!important;
  box-shadow:0 24px 70px rgba(0,0,0,.48),inset 0 1px 0 rgba(255,255,255,.06)!important;
  z-index:45!important;
}
body.city-mode #transitFleetPanel.hidden{display:none!important}
body.city-mode #transitFleetPanel .tool-panel-head{position:sticky!important;top:0!important;display:flex!important;align-items:center!important;justify-content:space-between!important;min-height:54px!important;padding:10px 12px!important;border-bottom:1px solid rgba(255,255,255,.08)!important;background:rgba(10,21,20,.98)!important;z-index:2!important}
body.city-mode #transitFleetPanel .tool-panel-head .panel-title{margin:0!important;color:#eef7f1!important;font-size:13px!important}.transit-fleet-panel .tool-panel-subtitle{display:block!important;font-size:9px!important}
body.city-mode #transitFleetPanel #transitCloseFleet{position:static!important;width:30px!important;height:30px!important}
.transit-fleet-body{max-height:calc(100vh - 145px)!important;overflow:auto!important;padding:12px!important}
.transit-fleet-body>.transit-selected-row{display:grid!important;grid-template-columns:auto 1fr!important;gap:8px!important;align-items:center!important;padding:9px!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:11px!important;background:var(--v964-card)!important}.transit-fleet-body>.transit-selected-row>span{font-size:9px!important;color:var(--v964-muted)!important;text-transform:uppercase!important;font-weight:950!important}.transit-fleet-body>.transit-selected-row>b{font-size:11px!important;color:#f1f8f3!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
body.city-mode #transitFleetPanel h4{margin:13px 0 8px!important;color:#aebeb7!important;font-size:9px!important;letter-spacing:.07em!important;text-transform:uppercase!important}
body.city-mode #transitFleetPanel .fleet-catalog-grid{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
body.city-mode #transitFleetPanel .fleet-catalog-card{padding:10px!important;border-radius:12px!important;gap:5px!important}.fleet-catalog-card b{font-size:12px!important}.fleet-catalog-card span,.fleet-catalog-card p,.fleet-catalog-card em{font-size:10px!important}.fleet-catalog-card p{line-height:1.3!important}
body.city-mode #transitFleetPanel .fleet-card-actions{display:block!important;margin-top:2px!important}
body.city-mode #transitFleetPanel .fleet-card-actions button{
  width:100%!important;
  height:34px!important;
  min-height:34px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  padding:0 10px!important;
  border-radius:9px!important;
  overflow:hidden!important;
  line-height:1!important;
}
body.city-mode #transitFleetPanel .fleet-card-actions button .ui-ico{position:static!important;width:15px!important;height:15px!important;flex:0 0 15px!important}
body.city-mode #transitFleetPanel .fleet-vehicle-row{grid-template-columns:minmax(0,1fr)!important;gap:7px!important;padding:9px!important}.fleet-row-actions{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:7px!important}.fleet-row-actions select{height:32px!important}.fleet-row-actions button{height:32px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:5px!important}

/* ---------- Minimapa: botões só com ícones + tooltip imediato ---------- */
body.city-mode #miniMapPanel{
  display:block!important;
  position:fixed!important;
  right:12px!important;
  bottom:82px!important;
  width:168px!important;
  max-width:168px!important;
  padding:9px!important;
  overflow:visible!important;
  border-radius:15px!important;
  z-index:28!important;
}
body.city-mode #miniMapPanel canvas{display:block!important;width:150px!important;height:150px!important;border-radius:10px!important}
body.city-mode #miniMapPanel .tn-minimap-actions{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:6px!important;margin-top:7px!important;overflow:visible!important}
body.city-mode #miniMapPanel .minimap-icon-button{
  position:relative!important;
  width:100%!important;
  min-width:0!important;
  height:34px!important;
  min-height:34px!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:9px!important;
  overflow:visible!important;
  font-size:0!important;
}
body.city-mode #miniMapPanel .minimap-icon-button .ui-ico{width:16px!important;height:16px!important}
body.city-mode #miniMapPanel .minimap-icon-button::after{
  content:attr(data-tip);
  position:absolute;
  right:calc(100% + 8px);
  top:50%;
  transform:translate(4px,-50%);
  padding:6px 8px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:8px;
  background:rgba(5,12,13,.98);
  color:#edf6f1;
  font-size:9.5px;
  font-weight:850;
  white-space:nowrap;
  opacity:0;
  pointer-events:none;
  transition:.12s ease;
  box-shadow:0 8px 24px rgba(0,0,0,.30);
  z-index:100;
}
body.city-mode #miniMapPanel .minimap-icon-button:hover::after{opacity:1;transform:translate(0,-50%)}
body.city-mode #miniMapPanel.collapsed{width:52px!important;min-width:52px!important;padding:8px!important}
body.city-mode #miniMapPanel.collapsed .tn-minimap-head,body.city-mode #miniMapPanel.collapsed #miniMapCanvas,body.city-mode #miniMapPanel.collapsed .minimap-icon-button:not(#miniMapHide){display:none!important}
body.city-mode #miniMapPanel.collapsed .tn-minimap-actions{display:block!important;margin:0!important}

/* ---------- Ocultar UI: absolutamente tudo some, exceto o botão de retorno ---------- */
.ui-restore-button{display:none;position:fixed;right:16px;bottom:16px;z-index:200;width:auto;height:42px;padding:0 14px;border:1px solid rgba(143,211,107,.42);border-radius:12px;background:linear-gradient(180deg,rgba(81,143,62,.94),rgba(42,84,38,.94));color:#fff;font-weight:950;box-shadow:0 12px 34px rgba(0,0,0,.42);cursor:pointer;align-items:center;justify-content:center;gap:7px}.ui-restore-button .ui-ico{width:17px;height:17px}
body.city-mode.ui-collapsed #topbar,
body.city-mode.ui-collapsed #bottombar,
body.city-mode.ui-collapsed #toolPanel,
body.city-mode.ui-collapsed #tnInfoDock,
body.city-mode.ui-collapsed #tnInfoPanel,
body.city-mode.ui-collapsed #miniMapPanel,
body.city-mode.ui-collapsed #eventsPanel,
body.city-mode.ui-collapsed #transitFleetPanel,
body.city-mode.ui-collapsed #hamburgerMenu,
body.city-mode.ui-collapsed #tmpeInspector,
body.city-mode.ui-collapsed #inspectPanel,
body.city-mode.ui-collapsed #toast,
body.city-mode.ui-collapsed .pill{display:none!important}
body.city-mode.ui-collapsed #uiRestoreButton{display:flex!important}
body.start-mode #uiRestoreButton,body.generator-mode #uiRestoreButton{display:none!important}

/* ---------- Dock lateral sempre centralizado verticalmente ---------- */
body.city-mode #tnInfoDock.tn-info-dock{
  position:fixed!important;
  left:10px!important;
  right:auto!important;
  top:50%!important;
  bottom:auto!important;
  transform:translateY(-50%)!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  width:42px!important;
  z-index:34!important;
}

/* Bottom bar deixa espaço real para o minimapa. */
body.city-mode #bottombar.classic-bottombar{left:10px!important;right:196px!important;bottom:10px!important;transform:none!important;max-width:none!important;justify-content:center!important}

/* ---------- Responsividade ---------- */
@media(max-width:1366px){
  body.city-mode #topbar.topbar{grid-template-columns:192px minmax(0,1fr) 62px!important}
  body.city-mode #topbar .topbar-center>.hud-pill{flex-basis:104px!important;min-width:72px!important;padding:0 8px!important}
  body.city-mode #topbar #hudRci{flex-basis:112px!important;min-width:112px!important;max-width:112px!important}
  body.city-mode #toolPanel[data-active-tool="lines"]{width:min(720px,calc(100vw - 245px))!important}
}
@media(max-width:1120px){
  body.city-mode #topbar.topbar{grid-template-columns:166px minmax(0,1fr) 58px!important}
  body.city-mode #topbar .topbar-center>.hud-pill:has(#hudBuildings),body.city-mode #topbar .topbar-center>.hud-pill:has(#hudPassengers){display:none!important}
  body.city-mode #toolPanel.tool-panel,body.city-mode #transitFleetPanel.transit-fleet-panel{left:60px!important;max-width:calc(100vw - 80px)!important}
  body.city-mode #toolPanel[data-active-tool="lines"]{width:calc(100vw - 80px)!important;max-width:calc(100vw - 80px)!important}
  .lines-layout{grid-template-columns:1fr 1fr!important}
}
@media(max-width:860px){
  body.city-mode #topbar.topbar{grid-template-columns:52px minmax(0,1fr) 56px!important}
  body.city-mode #topbar .brand{display:none!important}
  body.city-mode #topbar .topbar-brand-zone{padding:0 8px!important}
  body.city-mode #topbar .topbar-center>.hud-pill:has(#hudNet){display:none!important}
  body.city-mode #toolPanel.tool-panel,body.city-mode #transitFleetPanel.transit-fleet-panel{left:10px!important;right:10px!important;width:auto!important;min-width:0!important;max-width:none!important;top:62px!important}
  body.city-mode #toolPanel[data-active-tool="road"] .classic-tool-section.active{grid-template-columns:1fr!important}
  body.city-mode #toolPanel[data-active-tool="road"] .classic-tool-group:has(.speed-quick-buttons),body.city-mode #toolPanel[data-active-tool="road"] .classic-tool-group:has(.road-extra-grid),body.city-mode #toolPanel[data-active-tool="road"] .tool-hint{grid-column:auto!important}
  .lines-layout{grid-template-columns:1fr!important}
  body.city-mode #miniMapPanel{display:none!important}
  body.city-mode #bottombar.classic-bottombar{right:10px!important}
  body.city-mode #tnInfoDock.tn-info-dock{display:none!important}
}
@media(max-width:620px){
  body.city-mode #topbar .topbar-center>.hud-pill:has(#hudMoney),body.city-mode #topbar #hudRci{display:none!important}
  body.city-mode #topbar .topbar-center>.hud-pill{min-width:76px!important}
  .classic-menu-actions{grid-template-columns:1fr!important}
  body.city-mode #hamburgerMenu .classic-menu-actions button{grid-column:1!important}
  .speed-quick-buttons{grid-template-columns:repeat(3,1fr)!important}
  .lane-quick-buttons{grid-template-columns:repeat(5,1fr)!important}
}
