
/* AVAX MINTIA - MOBILE FINAL CLEAN */

body.dms-mobile-final {
  width: 100vw !important;
  height: 100dvh !important;
  min-height: 100dvh !important;
  margin: 0 !important;
  overflow: hidden !important;
  background: #020b14 !important;
  -webkit-text-size-adjust: 100% !important;
  text-size-adjust: 100% !important;
}

body.dms-mobile-final .dms-titlebar,
body.dms-mobile-final .dms-ribbon,
body.dms-mobile-final .dms-layers,
body.dms-mobile-final .dms-right,
body.dms-mobile-final .dms-rail,
body.dms-mobile-final .dms-statusbar,
body.dms-mobile-final .dms-layout-controls-pro {
  display: none !important;
}

body.dms-mobile-final .dms-workspace,
body.dms-mobile-final .dms-map-slot,
body.dms-mobile-final #map {
  position: fixed !important;
  inset: 0 !important;
  display: block !important;
  width: 100vw !important;
  height: 100dvh !important;
  min-width: 100vw !important;
  min-height: 100dvh !important;
  max-width: none !important;
  max-height: none !important;
  overflow: hidden !important;
  background: #020b14 !important;
}

body.dms-mobile-final #dmsMobileFinalShell {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100dvh !important;
  z-index: 2147483000 !important;
  pointer-events: none !important;
  color: #eef7ff !important;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

body.dms-mobile-final .dmf-topbar {
  position: fixed !important;
  top: max(12px, env(safe-area-inset-top)) !important;
  left: 12px !important;
  right: 12px !important;
  height: 58px !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 0 12px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(104, 168, 255, 0.32) !important;
  background: rgba(3, 15, 28, 0.96) !important;
  box-shadow: 0 18px 46px rgba(0, 0, 0, 0.54) !important;
  backdrop-filter: blur(16px) !important;
  z-index: 2147483002 !important;
  pointer-events: auto !important;
}

body.dms-mobile-final .dmf-logo {
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  border-radius: 12px !important;
  display: grid !important;
  place-items: center !important;
  background: linear-gradient(135deg, #1c86ff, #0a56c9) !important;
  color: #fff !important;
  font-size: 20px !important;
  font-weight: 950 !important;
}

body.dms-mobile-final .dmf-title {
  flex: 1 !important;
  min-width: 0 !important;
  color: #fff !important;
  font-size: 18px !important;
  font-weight: 950 !important;
  letter-spacing: -0.02em !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

body.dms-mobile-final .dmf-icon-btn {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(116, 180, 255, 0.30) !important;
  background: rgba(255, 255, 255, 0.07) !important;
  color: #fff !important;
  display: grid !important;
  place-items: center !important;
  font-size: 18px !important;
}

body.dms-mobile-final .dmf-map-tools {
  position: fixed !important;
  right: 14px !important;
  top: calc(max(12px, env(safe-area-inset-top)) + 74px) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  z-index: 2147483002 !important;
  pointer-events: auto !important;
}

body.dms-mobile-final .dmf-round-btn {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(116, 180, 255, 0.30) !important;
  background: rgba(3, 15, 28, 0.88) !important;
  color: #fff !important;
  display: grid !important;
  place-items: center !important;
  font-size: 18px !important;
  box-shadow: 0 14px 32px rgba(0,0,0,.44) !important;
}

body.dms-mobile-final .dmf-scale {
  position: fixed !important;
  right: 16px !important;
  bottom: calc(96px + env(safe-area-inset-bottom)) !important;
  z-index: 2147483002 !important;
  padding: 7px 11px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(116, 180, 255, 0.24) !important;
  background: rgba(0,0,0,0.64) !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  pointer-events: auto !important;
}

body.dms-mobile-final .dmf-bottomnav {
  position: fixed !important;
  left: 10px !important;
  right: 10px !important;
  bottom: max(10px, env(safe-area-inset-bottom)) !important;
  height: 74px !important;
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 5px !important;
  padding: 7px !important;
  border-radius: 21px !important;
  border: 1px solid rgba(104, 168, 255, 0.32) !important;
  background: rgba(3, 15, 28, 0.96) !important;
  box-shadow: 0 20px 52px rgba(0,0,0,.56) !important;
  backdrop-filter: blur(18px) !important;
  z-index: 2147483002 !important;
  pointer-events: auto !important;
}

body.dms-mobile-final .dmf-nav-btn {
  border: 0 !important;
  border-radius: 16px !important;
  background: transparent !important;
  color: #bddbfa !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  font-size: 11px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
}

body.dms-mobile-final .dmf-nav-btn .ico {
  font-size: 20px !important;
  line-height: 1 !important;
}

body.dms-mobile-final .dmf-nav-btn.is-active {
  background: rgba(35, 136, 255, 0.24) !important;
  color: #fff !important;
  box-shadow: inset 0 0 0 1px rgba(65, 158, 255, 0.44) !important;
}

body.dms-mobile-final .dmf-sheet {
  position: fixed !important;
  left: 10px !important;
  right: 10px !important;
  bottom: calc(94px + env(safe-area-inset-bottom)) !important;
  max-height: 65dvh !important;
  padding: 14px !important;
  border-radius: 20px !important;
  border: 1px solid rgba(104, 168, 255, 0.28) !important;
  background: rgba(3, 15, 28, 0.97) !important;
  box-shadow: 0 24px 60px rgba(0,0,0,.56) !important;
  z-index: 2147483004 !important;
  pointer-events: auto !important;
  overflow: auto !important;
}

body.dms-mobile-final .dmf-sheet[hidden] {
  display: none !important;
}

body.dms-mobile-final .dmf-sheet-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin-bottom: 12px !important;
}

body.dms-mobile-final .dmf-sheet-title {
  color: #fff !important;
  font-size: 16px !important;
  font-weight: 950 !important;
}

body.dms-mobile-final .dmf-close {
  width: 36px !important;
  height: 36px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(116, 180, 255, 0.28) !important;
  background: rgba(255,255,255,.07) !important;
  color: #fff !important;
}

body.dms-mobile-final .dmf-card {
  padding: 12px !important;
  margin-bottom: 10px !important;
  border-radius: 16px !important;
  border: 1px solid rgba(104, 168, 255, 0.20) !important;
  background: rgba(255,255,255,.045) !important;
  color: #dceeff !important;
  font-size: 13px !important;
}

body.dms-mobile-final .dms-ai-fab {
  left: 18px !important;
  bottom: calc(104px + env(safe-area-inset-bottom)) !important;
  z-index: 2147483005 !important;
}

body.dms-mobile-final .dms-ai-chat {
  left: 10px !important;
  right: 10px !important;
  bottom: calc(96px + env(safe-area-inset-bottom)) !important;
  width: auto !important;
  max-width: none !important;
  max-height: 58dvh !important;
  z-index: 2147483006 !important;
}

body.dms-mobile-final #map .navigator,
body.dms-mobile-final #map .openseadragon-container > div[title],
body.dms-mobile-final #map .openseadragon-canvas + div {
  opacity: 0 !important;
  pointer-events: none !important;
}

/* === DMS MOBILE AI POLISH START === */
/* Activ doar pe layout mobil final. Desktopul rămâne neatins. */

body.dms-mobile-final .dms-ai-fab {
  width: 64px !important;
  height: 64px !important;
  left: 18px !important;
  bottom: calc(104px + env(safe-area-inset-bottom)) !important;
  font-size: 28px !important;
  border-radius: 24px !important;
  z-index: 2147483010 !important;
  box-shadow: 0 18px 44px rgba(70, 86, 255, .45) !important;
}

body.dms-mobile-final .dms-ai-chat,
body.dms-mobile-final .ai-draw-chat,
body.dms-mobile-final .ai-chat {
  position: fixed !important;
  left: 10px !important;
  right: 10px !important;
  bottom: calc(96px + env(safe-area-inset-bottom)) !important;
  top: auto !important;
  width: auto !important;
  max-width: none !important;
  height: auto !important;
  max-height: 72dvh !important;
  min-height: 360px !important;
  border-radius: 22px !important;
  border: 1px solid rgba(104, 168, 255, .32) !important;
  background: rgba(3, 15, 28, .98) !important;
  box-shadow: 0 28px 80px rgba(0,0,0,.62) !important;
  overflow: hidden !important;
  z-index: 2147483020 !important;
  font-size: 16px !important;
  color: #eef7ff !important;
}

body.dms-mobile-final .dms-ai-chat * {
  box-sizing: border-box !important;
}

body.dms-mobile-final .dms-ai-chat-header,
body.dms-mobile-final .dms-ai-header,
body.dms-mobile-final .ai-chat-header,
body.dms-mobile-final .dms-ai-chat > div:first-child {
  min-height: 58px !important;
  padding: 14px 58px 12px 16px !important;
  display: flex !important;
  align-items: center !important;
  color: #ffffff !important;
  font-size: 18px !important;
  font-weight: 950 !important;
  border-bottom: 1px solid rgba(104, 168, 255, .18) !important;
  background: rgba(8, 24, 43, .98) !important;
}

/* X mare, vizibil, peste orice element */
body.dms-mobile-final .dms-ai-mobile-close,
body.dms-mobile-final .dms-ai-close,
body.dms-mobile-final .ai-close,
body.dms-mobile-final .dms-ai-chat [data-ai-close],
body.dms-mobile-final .dms-ai-chat button[aria-label="Close"],
body.dms-mobile-final .dms-ai-chat button[aria-label="Închide"],
body.dms-mobile-final .dms-ai-chat button[title="Close"],
body.dms-mobile-final .dms-ai-chat button[title="Închide"] {
  position: absolute !important;
  top: 10px !important;
  right: 10px !important;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 15px !important;
  border: 1px solid rgba(125, 190, 255, .45) !important;
  background: rgba(15, 42, 70, .98) !important;
  color: #ffffff !important;
  font-size: 28px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  opacity: 1 !important;
  visibility: visible !important;
  z-index: 2147483025 !important;
  pointer-events: auto !important;
  box-shadow: 0 10px 28px rgba(0,0,0,.35) !important;
}

body.dms-mobile-final .dms-ai-mobile-close:active,
body.dms-mobile-final .dms-ai-close:active {
  transform: scale(.96) !important;
}

body.dms-mobile-final .dms-ai-body,
body.dms-mobile-final .dms-ai-messages,
body.dms-mobile-final .ai-chat-body,
body.dms-mobile-final .dms-ai-chat .messages {
  max-height: calc(72dvh - 138px) !important;
  overflow-y: auto !important;
  padding: 16px !important;
  font-size: 16px !important;
  line-height: 1.48 !important;
}

body.dms-mobile-final .dms-ai-chat p,
body.dms-mobile-final .dms-ai-chat div,
body.dms-mobile-final .dms-ai-chat span,
body.dms-mobile-final .dms-ai-chat li {
  font-size: 16px !important;
  line-height: 1.48 !important;
}

body.dms-mobile-final .dms-ai-message,
body.dms-mobile-final .ai-message,
body.dms-mobile-final .dms-ai-bubble {
  padding: 13px 14px !important;
  border-radius: 16px !important;
  font-size: 16px !important;
  line-height: 1.48 !important;
  margin-bottom: 10px !important;
}

body.dms-mobile-final .dms-ai-input-row,
body.dms-mobile-final .ai-input-row,
body.dms-mobile-final .dms-ai-chat form {
  min-height: 64px !important;
  display: flex !important;
  align-items: stretch !important;
  border-top: 1px solid rgba(104, 168, 255, .18) !important;
  background: rgba(2, 10, 20, .98) !important;
}

body.dms-mobile-final .dms-ai-chat input,
body.dms-mobile-final .dms-ai-chat textarea {
  min-height: 58px !important;
  height: 58px !important;
  padding: 0 14px !important;
  font-size: 17px !important;
  line-height: 1.3 !important;
  color: #ffffff !important;
  background: rgba(255,255,255,.06) !important;
  border: 1px solid rgba(104, 168, 255, .22) !important;
  border-radius: 0 !important;
  outline: none !important;
}

body.dms-mobile-final .dms-ai-chat input::placeholder,
body.dms-mobile-final .dms-ai-chat textarea::placeholder {
  color: rgba(220, 238, 255, .62) !important;
  font-size: 16px !important;
}

body.dms-mobile-final .dms-ai-chat button,
body.dms-mobile-final .dms-ai-chat .send-btn,
body.dms-mobile-final .dms-ai-chat .dms-ai-send {
  min-width: 58px !important;
  min-height: 58px !important;
  font-size: 22px !important;
  font-weight: 900 !important;
  border-radius: 0 !important;
}

body.dms-mobile-final .dms-ai-chat .dms-ai-status,
body.dms-mobile-final .dms-ai-chat .ai-status,
body.dms-mobile-final .dms-ai-chat .typing {
  font-size: 14px !important;
  line-height: 1.4 !important;
  padding: 10px 12px !important;
  border-radius: 14px !important;
}

/* === DMS MOBILE AI POLISH END === */

/* === DMS MOBILE ACTIONS FIX CSS START === */

body.dms-mobile-final .dms-ai-chat .dms-ai-close-real,
body.dms-mobile-final .dms-ai-chat .dms-ai-min-btn,
body.dms-mobile-final .dms-ai-chat .dms-ai-close,
body.dms-mobile-final .dms-ai-chat .ai-close,
body.dms-mobile-final .dms-ai-chat [data-ai-close] {
  display: none !important;
}

body.dms-mobile-final .dms-ai-chat .dms-ai-mobile-close {
  display: grid !important;
  position: absolute !important;
  top: 10px !important;
  right: 10px !important;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  place-items: center !important;
  border-radius: 15px !important;
  border: 1px solid rgba(125, 190, 255, .45) !important;
  background: rgba(15, 42, 70, .98) !important;
  color: #ffffff !important;
  font-size: 28px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  opacity: 1 !important;
  visibility: visible !important;
  z-index: 2147483025 !important;
  pointer-events: auto !important;
  box-shadow: 0 10px 28px rgba(0,0,0,.35) !important;
}

body.dms-mobile-final .dmf-search-wrap {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 10px !important;
  margin-bottom: 12px !important;
}

body.dms-mobile-final .dmf-search-input {
  min-height: 48px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(104, 168, 255, .28) !important;
  background: rgba(255,255,255,.07) !important;
  color: #ffffff !important;
  padding: 0 13px !important;
  font-size: 16px !important;
  outline: none !important;
}

body.dms-mobile-final .dmf-search-input::placeholder {
  color: rgba(220, 238, 255, .62) !important;
}

body.dms-mobile-final .dmf-primary {
  min-height: 48px !important;
  border: 0 !important;
  border-radius: 14px !important;
  padding: 0 16px !important;
  background: linear-gradient(135deg, #2388ff, #0960d9) !important;
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 950 !important;
}

body.dms-mobile-final .dmf-results {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

body.dms-mobile-final .dmf-result {
  width: 100% !important;
  text-align: left !important;
  border: 1px solid rgba(104, 168, 255, .20) !important;
  border-radius: 15px !important;
  background: rgba(255,255,255,.055) !important;
  color: #ffffff !important;
  padding: 12px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
}

body.dms-mobile-final .dmf-result-title {
  font-size: 15px !important;
  font-weight: 950 !important;
}

body.dms-mobile-final .dmf-result-meta {
  font-size: 12px !important;
  color: #9fbddb !important;
  font-weight: 750 !important;
}

body.dms-mobile-final .dmf-action-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
}

body.dms-mobile-final .dmf-action-card {
  min-height: 92px !important;
  border-radius: 16px !important;
  border: 1px solid rgba(104, 168, 255, .22) !important;
  background: rgba(255,255,255,.055) !important;
  color: #ffffff !important;
  padding: 12px !important;
  text-align: left !important;
}

body.dms-mobile-final .dmf-action-card strong {
  display: block !important;
  font-size: 15px !important;
  font-weight: 950 !important;
  margin-bottom: 5px !important;
}

body.dms-mobile-final .dmf-action-card span {
  display: block !important;
  font-size: 12px !important;
  color: #9fbddb !important;
  line-height: 1.35 !important;
}

/* === DMS MOBILE ACTIONS FIX CSS END === */

/* === DMS MOBILE STABLE OVERRIDE START === */
/* Ultimul strat mobil. Activ doar pe body.dms-mobile-final. Desktop neatins. */

body.dms-mobile-final {
  --dmf-scale: var(--dms-mobile-ui-scale, 1);
}

body.dms-mobile-final #dmsMobileFinalShell {
  display: block !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483000 !important;
  pointer-events: none !important;
  color: #eef7ff !important;
}

body.dms-mobile-final .dmf-topbar {
  height: calc(64px * var(--dmf-scale)) !important;
  min-height: calc(64px * var(--dmf-scale)) !important;
  top: calc(12px * var(--dmf-scale)) !important;
  left: calc(12px * var(--dmf-scale)) !important;
  right: calc(12px * var(--dmf-scale)) !important;
  padding: 0 calc(14px * var(--dmf-scale)) !important;
  gap: calc(12px * var(--dmf-scale)) !important;
  border-radius: calc(20px * var(--dmf-scale)) !important;
  pointer-events: auto !important;
}

body.dms-mobile-final .dmf-logo {
  width: calc(42px * var(--dmf-scale)) !important;
  height: calc(42px * var(--dmf-scale)) !important;
  min-width: calc(42px * var(--dmf-scale)) !important;
  border-radius: calc(14px * var(--dmf-scale)) !important;
  font-size: calc(22px * var(--dmf-scale)) !important;
}

body.dms-mobile-final .dmf-title {
  font-size: calc(20px * var(--dmf-scale)) !important;
  line-height: 1.1 !important;
}

body.dms-mobile-final .dmf-icon-btn {
  width: calc(48px * var(--dmf-scale)) !important;
  height: calc(48px * var(--dmf-scale)) !important;
  min-width: calc(48px * var(--dmf-scale)) !important;
  border-radius: calc(16px * var(--dmf-scale)) !important;
  font-size: calc(21px * var(--dmf-scale)) !important;
  pointer-events: auto !important;
}

body.dms-mobile-final .dmf-map-tools {
  top: calc(88px * var(--dmf-scale)) !important;
  right: calc(14px * var(--dmf-scale)) !important;
  gap: calc(12px * var(--dmf-scale)) !important;
  pointer-events: auto !important;
}

body.dms-mobile-final .dmf-round-btn {
  width: calc(54px * var(--dmf-scale)) !important;
  height: calc(54px * var(--dmf-scale)) !important;
  min-width: calc(54px * var(--dmf-scale)) !important;
  font-size: calc(21px * var(--dmf-scale)) !important;
  pointer-events: auto !important;
}

body.dms-mobile-final .dmf-bottomnav {
  height: calc(84px * var(--dmf-scale)) !important;
  min-height: calc(84px * var(--dmf-scale)) !important;
  left: calc(10px * var(--dmf-scale)) !important;
  right: calc(10px * var(--dmf-scale)) !important;
  bottom: calc(10px * var(--dmf-scale)) !important;
  padding: calc(8px * var(--dmf-scale)) !important;
  gap: calc(6px * var(--dmf-scale)) !important;
  border-radius: calc(24px * var(--dmf-scale)) !important;
  pointer-events: auto !important;
}

body.dms-mobile-final .dmf-nav-btn {
  min-height: calc(66px * var(--dmf-scale)) !important;
  border-radius: calc(18px * var(--dmf-scale)) !important;
  font-size: calc(12px * var(--dmf-scale)) !important;
  line-height: 1.05 !important;
  pointer-events: auto !important;
}

body.dms-mobile-final .dmf-nav-btn .ico {
  font-size: calc(24px * var(--dmf-scale)) !important;
}

body.dms-mobile-final .dmf-sheet {
  bottom: calc(106px * var(--dmf-scale)) !important;
  left: calc(10px * var(--dmf-scale)) !important;
  right: calc(10px * var(--dmf-scale)) !important;
  max-height: 68dvh !important;
  padding: calc(16px * var(--dmf-scale)) !important;
  border-radius: calc(22px * var(--dmf-scale)) !important;
  pointer-events: auto !important;
}

body.dms-mobile-final .dmf-sheet-title {
  font-size: calc(18px * var(--dmf-scale)) !important;
}

body.dms-mobile-final .dmf-close {
  width: calc(44px * var(--dmf-scale)) !important;
  height: calc(44px * var(--dmf-scale)) !important;
  font-size: calc(24px * var(--dmf-scale)) !important;
}

body.dms-mobile-final .dmf-card,
body.dms-mobile-final .dmf-result,
body.dms-mobile-final .dmf-action-card {
  font-size: calc(15px * var(--dmf-scale)) !important;
  line-height: 1.42 !important;
  padding: calc(14px * var(--dmf-scale)) !important;
  border-radius: calc(18px * var(--dmf-scale)) !important;
}

body.dms-mobile-final .dmf-search-input,
body.dms-mobile-final .dmf-primary {
  min-height: calc(56px * var(--dmf-scale)) !important;
  height: calc(56px * var(--dmf-scale)) !important;
  border-radius: calc(16px * var(--dmf-scale)) !important;
  font-size: calc(17px * var(--dmf-scale)) !important;
}

body.dms-mobile-final .dms-ai-fab {
  width: calc(70px * var(--dmf-scale)) !important;
  height: calc(70px * var(--dmf-scale)) !important;
  left: calc(18px * var(--dmf-scale)) !important;
  bottom: calc(116px * var(--dmf-scale)) !important;
  font-size: calc(30px * var(--dmf-scale)) !important;
  border-radius: calc(26px * var(--dmf-scale)) !important;
  z-index: 2147483010 !important;
}

body.dms-mobile-final .dms-ai-chat {
  left: calc(10px * var(--dmf-scale)) !important;
  right: calc(10px * var(--dmf-scale)) !important;
  bottom: calc(106px * var(--dmf-scale)) !important;
  max-height: 74dvh !important;
  min-height: calc(410px * var(--dmf-scale)) !important;
  border-radius: calc(24px * var(--dmf-scale)) !important;
  font-size: calc(18px * var(--dmf-scale)) !important;
  z-index: 2147483020 !important;
}

/* ascundem orice X vechi; controllerul JS creează doar #dmfAiClose */
body.dms-mobile-final .dms-ai-chat .dms-ai-close-real,
body.dms-mobile-final .dms-ai-chat .dms-ai-min-btn,
body.dms-mobile-final .dms-ai-chat .dms-ai-close,
body.dms-mobile-final .dms-ai-chat .ai-close,
body.dms-mobile-final .dms-ai-chat [data-ai-close],
body.dms-mobile-final .dms-ai-chat button[title*="Minimiz"],
body.dms-mobile-final .dms-ai-chat button[title*="Închide"],
body.dms-mobile-final .dms-ai-chat button[title*="Close"] {
  display: none !important;
}

body.dms-mobile-final .dms-ai-chat #dmfAiClose {
  display: grid !important;
  position: absolute !important;
  top: calc(12px * var(--dmf-scale)) !important;
  right: calc(12px * var(--dmf-scale)) !important;
  width: calc(52px * var(--dmf-scale)) !important;
  height: calc(52px * var(--dmf-scale)) !important;
  min-width: calc(52px * var(--dmf-scale)) !important;
  min-height: calc(52px * var(--dmf-scale)) !important;
  place-items: center !important;
  border-radius: calc(18px * var(--dmf-scale)) !important;
  border: 1px solid rgba(125, 190, 255, .48) !important;
  background: rgba(15, 42, 70, .99) !important;
  color: #ffffff !important;
  font-size: calc(32px * var(--dmf-scale)) !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  opacity: 1 !important;
  visibility: visible !important;
  z-index: 2147483028 !important;
  pointer-events: auto !important;
  box-shadow: 0 12px 32px rgba(0,0,0,.42) !important;
}

body.dms-mobile-final .dms-ai-chat input,
body.dms-mobile-final .dms-ai-chat textarea {
  min-height: calc(64px * var(--dmf-scale)) !important;
  height: calc(64px * var(--dmf-scale)) !important;
  font-size: calc(18px * var(--dmf-scale)) !important;
  padding: 0 calc(16px * var(--dmf-scale)) !important;
}

body.dms-mobile-final .dms-ai-chat button {
  min-height: calc(58px * var(--dmf-scale)) !important;
  min-width: calc(58px * var(--dmf-scale)) !important;
  font-size: calc(22px * var(--dmf-scale)) !important;
}

body.dms-mobile-final .dms-ai-chat p,
body.dms-mobile-final .dms-ai-chat div,
body.dms-mobile-final .dms-ai-chat span,
body.dms-mobile-final .dms-ai-chat li {
  font-size: calc(17px * var(--dmf-scale)) !important;
  line-height: 1.5 !important;
}

/* === DMS MOBILE STABLE OVERRIDE END === */

/* === DMS MOBILE PANEL STACK FINAL START === */
/* Mobil final: panourile sunt peste orice, AI FAB nu mai acoperă meniurile. */

body.dms-mobile-final .dms-ai-fab,
body.dms-mobile-final body .dms-ai-fab {
  display: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

body.dms-mobile-final .dmf-sheet {
  z-index: 2147483060 !important;
  bottom: calc(106px * var(--dmf-scale, 1)) !important;
  left: calc(10px * var(--dmf-scale, 1)) !important;
  right: calc(10px * var(--dmf-scale, 1)) !important;
  max-height: 62dvh !important;
  overflow-y: auto !important;
  pointer-events: auto !important;
}

body.dms-mobile-final .dmf-bottomnav {
  z-index: 2147483050 !important;
}

body.dms-mobile-final .dmf-topbar {
  z-index: 2147483055 !important;
}

body.dms-mobile-final .dmf-map-tools {
  z-index: 2147483054 !important;
}

body.dms-mobile-final .dms-ai-chat {
  z-index: 2147483070 !important;
  bottom: calc(106px * var(--dmf-scale, 1)) !important;
}

/* Butoanele dreapta sus să fie clar apăsabile */
body.dms-mobile-final .dmf-round-btn {
  cursor: pointer !important;
  touch-action: manipulation !important;
  user-select: none !important;
}

body.dms-mobile-final .dmf-round-btn:active,
body.dms-mobile-final .dmf-icon-btn:active,
body.dms-mobile-final .dmf-nav-btn:active,
body.dms-mobile-final .dmf-action-card:active {
  transform: scale(.96) !important;
}

/* În meniul Mai multe, cardurile să fie mari și clare */
body.dms-mobile-final .dmf-action-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: calc(12px * var(--dmf-scale, 1)) !important;
}

body.dms-mobile-final .dmf-action-card {
  min-height: calc(104px * var(--dmf-scale, 1)) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

/* Dacă tastatura este deschisă, foaia să nu intre sub ea prea urât */
body.dms-mobile-final.dmf-keyboard-open .dmf-sheet {
  bottom: calc(18px * var(--dmf-scale, 1)) !important;
  max-height: 48dvh !important;
}

body.dms-mobile-final.dmf-keyboard-open .dmf-bottomnav {
  opacity: .18 !important;
  pointer-events: none !important;
}

/* === DMS MOBILE PANEL STACK FINAL END === */

/* === DMS MOBILE MORE PREMIUM START === */

body.dms-mobile-final .dmf-action-grid.dmf-more-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: calc(12px * var(--dmf-scale, 1)) !important;
}

body.dms-mobile-final .dmf-action-card.dmf-more-card {
  min-height: calc(118px * var(--dmf-scale, 1)) !important;
  position: relative !important;
  overflow: hidden !important;
  border-radius: calc(22px * var(--dmf-scale, 1)) !important;
  border: 1px solid rgba(110, 182, 255, .24) !important;
  background:
    radial-gradient(circle at top left, rgba(36, 139, 255, .20), transparent 42%),
    linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.035)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 16px 38px rgba(0,0,0,.22) !important;
  color: #fff !important;
  padding: calc(15px * var(--dmf-scale, 1)) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  gap: calc(10px * var(--dmf-scale, 1)) !important;
  text-align: left !important;
  touch-action: manipulation !important;
}

body.dms-mobile-final .dmf-action-card.dmf-more-card::after {
  content: "" !important;
  position: absolute !important;
  inset: auto -20% -35% auto !important;
  width: 90px !important;
  height: 90px !important;
  border-radius: 999px !important;
  background: rgba(35, 136, 255, .14) !important;
  pointer-events: none !important;
}

body.dms-mobile-final .dmf-more-icon {
  width: calc(44px * var(--dmf-scale, 1)) !important;
  height: calc(44px * var(--dmf-scale, 1)) !important;
  min-width: calc(44px * var(--dmf-scale, 1)) !important;
  display: grid !important;
  place-items: center !important;
  border-radius: calc(16px * var(--dmf-scale, 1)) !important;
  background: rgba(35, 136, 255, .18) !important;
  border: 1px solid rgba(120, 192, 255, .25) !important;
  font-size: calc(24px * var(--dmf-scale, 1)) !important;
  line-height: 1 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08) !important;
}

body.dms-mobile-final .dmf-more-title {
  display: block !important;
  font-size: calc(15px * var(--dmf-scale, 1)) !important;
  line-height: 1.15 !important;
  font-weight: 950 !important;
  color: #ffffff !important;
  margin-top: auto !important;
}

body.dms-mobile-final .dmf-more-desc {
  display: block !important;
  font-size: calc(12px * var(--dmf-scale, 1)) !important;
  line-height: 1.25 !important;
  font-weight: 750 !important;
  color: rgba(216, 236, 255, .76) !important;
}

body.dms-mobile-final .dmf-more-card.dmf-danger {
  border-color: rgba(255, 118, 118, .32) !important;
  background:
    radial-gradient(circle at top left, rgba(255, 70, 70, .16), transparent 42%),
    linear-gradient(145deg, rgba(255,255,255,.07), rgba(255,255,255,.035)) !important;
}

body.dms-mobile-final .dmf-more-card.dmf-warning {
  border-color: rgba(255, 197, 87, .30) !important;
  background:
    radial-gradient(circle at top left, rgba(255, 184, 60, .17), transparent 42%),
    linear-gradient(145deg, rgba(255,255,255,.07), rgba(255,255,255,.035)) !important;
}

body.dms-mobile-final .dmf-more-card.dmf-ai {
  border-color: rgba(142, 124, 255, .42) !important;
  background:
    radial-gradient(circle at top left, rgba(120, 91, 255, .30), transparent 44%),
    linear-gradient(145deg, rgba(255,255,255,.08), rgba(255,255,255,.04)) !important;
}

body.dms-mobile-final .dmf-more-card:active {
  transform: scale(.965) !important;
}

/* Când AI e deschis, meniul se închide și chatul rămâne peste hartă */
body.dms-mobile-final .dms-ai-chat {
  z-index: 2147483090 !important;
}

/* === DMS MOBILE MORE PREMIUM END === */

/* === DMS MOBILE MORE COMPACT FUNCTIONAL START === */
/* Meniu Mai multe compact, lizibil, premium. Doar mobil. */

body.dms-mobile-final .dmf-sheet[data-current-panel="more"],
body.dms-mobile-final .dmf-sheet.dmf-more-open {
  left: calc(14px * var(--dmf-scale, 1)) !important;
  right: calc(14px * var(--dmf-scale, 1)) !important;
  bottom: calc(106px * var(--dmf-scale, 1)) !important;
  max-height: min(64dvh, 560px) !important;
  padding: calc(18px * var(--dmf-scale, 1)) !important;
  border-radius: calc(28px * var(--dmf-scale, 1)) !important;
  overflow-y: auto !important;
  scrollbar-width: none !important;
}

body.dms-mobile-final .dmf-sheet[data-current-panel="more"]::-webkit-scrollbar,
body.dms-mobile-final .dmf-sheet.dmf-more-open::-webkit-scrollbar {
  display: none !important;
}

body.dms-mobile-final .dmf-sheet[data-current-panel="more"] .dmf-sheet-title,
body.dms-mobile-final .dmf-sheet.dmf-more-open .dmf-sheet-title {
  font-size: calc(28px * var(--dmf-scale, 1)) !important;
  line-height: 1.05 !important;
  margin-bottom: calc(14px * var(--dmf-scale, 1)) !important;
  font-weight: 950 !important;
}

body.dms-mobile-final .dmf-more-grid-final {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: calc(10px * var(--dmf-scale, 1)) !important;
}

body.dms-mobile-final .dmf-more-card-final {
  position: relative !important;
  min-height: calc(96px * var(--dmf-scale, 1)) !important;
  height: auto !important;
  border: 1px solid rgba(126, 190, 255, .22) !important;
  border-radius: calc(20px * var(--dmf-scale, 1)) !important;
  background:
    radial-gradient(circle at 14% 18%, rgba(46, 151, 255, .24), transparent 38%),
    linear-gradient(145deg, rgba(255,255,255,.085), rgba(255,255,255,.035)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    0 14px 30px rgba(0,0,0,.20) !important;
  padding: calc(12px * var(--dmf-scale, 1)) !important;
  color: #ffffff !important;
  text-align: left !important;
  display: grid !important;
  grid-template-columns: calc(42px * var(--dmf-scale, 1)) minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  column-gap: calc(10px * var(--dmf-scale, 1)) !important;
  row-gap: calc(2px * var(--dmf-scale, 1)) !important;
  align-items: center !important;
  overflow: hidden !important;
  touch-action: manipulation !important;
  cursor: pointer !important;
}

body.dms-mobile-final .dmf-more-card-final:active {
  transform: scale(.965) !important;
}

body.dms-mobile-final .dmf-more-card-final .dmf-more-icon-final {
  grid-row: 1 / span 2 !important;
  grid-column: 1 !important;
  width: calc(42px * var(--dmf-scale, 1)) !important;
  height: calc(42px * var(--dmf-scale, 1)) !important;
  min-width: calc(42px * var(--dmf-scale, 1)) !important;
  border-radius: calc(15px * var(--dmf-scale, 1)) !important;
  display: grid !important;
  place-items: center !important;
  background: rgba(35, 136, 255, .22) !important;
  border: 1px solid rgba(122, 194, 255, .25) !important;
  font-size: calc(22px * var(--dmf-scale, 1)) !important;
  line-height: 1 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12) !important;
}

body.dms-mobile-final .dmf-more-card-final .dmf-more-title-final {
  grid-column: 2 !important;
  font-size: calc(14px * var(--dmf-scale, 1)) !important;
  line-height: 1.1 !important;
  font-weight: 950 !important;
  color: #ffffff !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

body.dms-mobile-final .dmf-more-card-final .dmf-more-desc-final {
  grid-column: 2 !important;
  font-size: calc(11px * var(--dmf-scale, 1)) !important;
  line-height: 1.25 !important;
  font-weight: 750 !important;
  color: rgba(218, 238, 255, .72) !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

body.dms-mobile-final .dmf-more-card-final.dmf-more-ai {
  border-color: rgba(142, 118, 255, .42) !important;
  background:
    radial-gradient(circle at 14% 18%, rgba(126, 92, 255, .34), transparent 38%),
    linear-gradient(145deg, rgba(255,255,255,.09), rgba(255,255,255,.04)) !important;
}

body.dms-mobile-final .dmf-more-card-final.dmf-more-danger {
  border-color: rgba(255, 105, 105, .36) !important;
  background:
    radial-gradient(circle at 14% 18%, rgba(255, 70, 70, .24), transparent 38%),
    linear-gradient(145deg, rgba(255,255,255,.08), rgba(255,255,255,.035)) !important;
}

body.dms-mobile-final .dmf-more-card-final.dmf-more-warning {
  border-color: rgba(255, 195, 90, .35) !important;
  background:
    radial-gradient(circle at 14% 18%, rgba(255, 185, 70, .24), transparent 38%),
    linear-gradient(145deg, rgba(255,255,255,.08), rgba(255,255,255,.035)) !important;
}

body.dms-mobile-final .dmf-more-card-final.dmf-more-ok {
  border-color: rgba(82, 220, 145, .34) !important;
  background:
    radial-gradient(circle at 14% 18%, rgba(62, 220, 132, .22), transparent 38%),
    linear-gradient(145deg, rgba(255,255,255,.08), rgba(255,255,255,.035)) !important;
}

body.dms-mobile-final .dmf-more-card-final[disabled],
body.dms-mobile-final .dmf-more-card-final.is-disabled {
  opacity: .52 !important;
  pointer-events: none !important;
}

@media (max-width: 380px) {
  body.dms-mobile-final .dmf-more-grid-final {
    gap: 8px !important;
  }

  body.dms-mobile-final .dmf-more-card-final {
    min-height: 88px !important;
    grid-template-columns: 36px minmax(0, 1fr) !important;
    padding: 10px !important;
  }

  body.dms-mobile-final .dmf-more-card-final .dmf-more-icon-final {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    font-size: 19px !important;
  }
}

/* === DMS MOBILE MORE COMPACT FUNCTIONAL END === */

/* === DMS MOBILE REAL DEVICE ONLY CSS START === */

/* Mobilul nu are voie să apară pe desktop, indiferent de lățimea ferestrei. */
html.dms-desktop-device .dms-mobile-shell,
body:not(.dms-mobile-mode) .dms-mobile-shell {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Pe device mobil real, shell-ul mobil poate fi afișat doar când JS pune body.dms-mobile-mode. */
html.dms-real-mobile-device body.dms-mobile-mode .dms-mobile-shell {
  display: block !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

/* Protecție: desktopul rămâne desktop chiar dacă viewport-ul e mic. */
html.dms-desktop-device body,
html.dms-desktop-device .dms-workspace,
html.dms-desktop-device .dms-map-slot,
html.dms-desktop-device #map {
  max-width: none !important;
}

/* === DMS MOBILE REAL DEVICE ONLY CSS END === */
