@charset "UTF-8";

.dxf_trinhxem html,
.dxf_trinhxem {
  margin: 0 !important;
  padding: 0 !important;
  height: 100%;
  width: 100%;
  overflow: hidden;
  box-sizing: border-box;
}

.dxf_trinhxem *,
.dxf_trinhxem *:before,
.dxf_trinhxem *:after {
  box-sizing: inherit;
}

.dxf_trinhxem .ui-page #page-wrapper {
  --ui-bg: #eef2ff;
  --ui-surface: rgba(255, 255, 255, 0.95);
  --ui-surface-2: #ffffff;
  --ui-surface-3: #f8fbff;
  --ui-text: #0f172a;
  --ui-muted: #64748b;
  --ui-border: #dbe4f0;
  --ui-primary: #2563eb;
  --ui-primary-2: #1d4ed8;
  --ui-info: #22d3ee;
  --ui-success: #16a34a;
  --ui-warning: #f59e0b;
  --ui-danger: #ef4444;
  --ui-canvas-bg: #0b1526;
  --ui-overlay: rgba(15, 23, 42, 0.84);
  --ui-shadow: 0 14px 40px rgba(15, 23, 42, 0.1);
  --ui-radius: 10px;
  --ui-radius-lg: 14px;
  --ui-btn-height: 30px;
  --ui-font-size: 12px;
  --ui-toolbar-size: 12px;
  --ui-font: var(--ui-font-size);
  --ui-btn-h: var(--ui-btn-height);
  --ui-icon: 14px;
  --bg: var(--ui-bg);
  --panel: var(--ui-surface);
  --panel-2: var(--ui-surface-2);
  --panel-3: var(--ui-surface-3);
  --text: var(--ui-text);
  --muted: var(--ui-muted);
  --border: var(--ui-border);
  --primary: var(--ui-primary);
  --primary-2: var(--ui-primary-2);
  --success: var(--ui-success);
  --warning: var(--ui-warning);
  --danger: var(--ui-danger);
  --canvas-bg: var(--ui-canvas-bg);
  --overlay: var(--ui-overlay);
  --shadow: var(--ui-shadow);
  margin: 0;
  min-height: 100vh;
  background: radial-gradient(circle at top left, rgba(37, 99, 235, 0.08), transparent 28%), var(--ui-bg);
  color: var(--ui-text);
  font-family: "Inter", "Segoe UI Variable", "Segoe UI", Arial, sans-serif;
  font-size: var(--ui-font-size);
}

.dxf_trinhxem .ui-page #page-wrapper,
.dxf_trinhxem .ui-page #page-wrapper *:not(.fa):not(.fas):not(.far):not(.fab):not(.fal):not([class^=fa-]):not([class*=" fa-"]) {
  font-family: "Inter", "Segoe UI Variable", "Segoe UI", Arial, sans-serif !important;
}

.dxf_trinhxem .ui-page #page-wrapper .fa,
.dxf_trinhxem .ui-page #page-wrapper .fas,
.dxf_trinhxem .ui-page #page-wrapper .far,
.dxf_trinhxem .ui-page #page-wrapper .fab,
.dxf_trinhxem .ui-page #page-wrapper .fal,
.dxf_trinhxem .ui-page #page-wrapper [class^=fa-],
.dxf_trinhxem .ui-page #page-wrapper [class*=" fa-"] {
  font-family: "Font Awesome 5 Free", "Font Awesome 5 Brands", "FontAwesome" !important;
}

.dxf_trinhxem .ui-page.ui-dark #page-wrapper {
  --ui-bg: #0b1220;
  --ui-surface: rgba(15, 23, 42, 0.95);
  --ui-surface-2: #111827;
  --ui-surface-3: #0f1a2e;
  --ui-text: #e5eefb;
  --ui-muted: #93a4bc;
  --ui-border: #223148;
  --ui-primary: #60a5fa;
  --ui-primary-2: #3b82f6;
  --ui-success: #34d399;
  --ui-warning: #fbbf24;
  --ui-danger: #f87171;
  --ui-canvas-bg: #0b1526;
  --ui-overlay: rgba(2, 6, 23, 0.88);
}

.dxf_trinhxem .ui-shell,
.dxf_trinhxem .ui-page #page-wrapper .app {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr) 320px;
  gap: 10px;
  height: 100vh !important;
  min-height: 100vh !important;
  padding: 10px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

.dxf_trinhxem .ui-shell--three,
.dxf_trinhxem .ui-page #page-wrapper .layout-3col {
  grid-template-columns: 280px minmax(0, 1fr) 320px !important;
}

.dxf_trinhxem .ui-section,
.dxf_trinhxem .ui-page #page-wrapper .group {
  border: 1px solid var(--ui-border);
  border-radius: var(--ui-radius-lg);
  background: var(--ui-surface-2);
}

.dxf_trinhxem .ui-title-row,
.dxf_trinhxem .ui-page #page-wrapper .group-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: var(--ui-text);
  font-size: var(--ui-font-size);
  font-weight: 800;
  line-height: 1.25;
}

.dxf_trinhxem .ui-muted,
.dxf_trinhxem .ui-page #page-wrapper .help,
.dxf_trinhxem .ui-page #page-wrapper .file-sub,
.dxf_trinhxem .ui-page #page-wrapper .entity-meta,
.dxf_trinhxem .ui-page #page-wrapper .layer-meta,
.dxf_trinhxem .ui-page #page-wrapper .summary-meta {
  color: var(--ui-muted);
}

.dxf_trinhxem .ui-btn,
.dxf_trinhxem .ui-page #page-wrapper .toolbar-btn,
.dxf_trinhxem .ui-page #page-wrapper .compact-btn,
.dxf_trinhxem .ui-page #page-wrapper .compact-action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  min-height: var(--ui-btn-height);
  padding: 0 9px;
  border: 1px solid rgba(148, 163, 184, 0.35);
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.04);
  color: var(--ui-text);
  font-size: var(--ui-toolbar-size);
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
  transition: background 0.16s ease, border-color 0.16s ease, color 0.16s ease, transform 0.16s ease;
}

.dxf_trinhxem .ui-btn:hover,
.dxf_trinhxem .ui-page #page-wrapper .toolbar-btn:hover,
.dxf_trinhxem .ui-page #page-wrapper .compact-btn:hover,
.dxf_trinhxem .ui-page #page-wrapper .compact-action-btn:hover {
  transform: translateY(-1px);
  background: rgba(148, 163, 184, 0.12);
}

.dxf_trinhxem .ui-btn:active,
.dxf_trinhxem .ui-page #page-wrapper .toolbar-btn:active,
.dxf_trinhxem .ui-page #page-wrapper .compact-btn:active,
.dxf_trinhxem .ui-page #page-wrapper .compact-action-btn:active {
  transform: translateY(0);
}

.dxf_trinhxem .ui-page #page-wrapper .dxf_trinhxem_left_panel #chooseFileBtn,
.dxf_trinhxem .ui-page #page-wrapper .dxf_trinhxem_left_panel #themeBtn,
.dxf_trinhxem .ui-page #page-wrapper .dxf_trinhxem_left_panel #clearBtn {
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  line-height: 1 !important;
}

.dxf_trinhxem .ui-input,
.dxf_trinhxem .ui-page #page-wrapper .input,
.dxf_trinhxem .ui-page #page-wrapper .compact-input {
  width: 100%;
  min-height: var(--ui-btn-height);
  padding: 6px 8px;
  border: 1px solid var(--ui-border);
  border-radius: var(--ui-radius);
  outline: none;
  background: var(--ui-surface-2);
  color: var(--ui-text);
}

.dxf_trinhxem .ui-input:focus,
.dxf_trinhxem .ui-page #page-wrapper .input:focus,
.dxf_trinhxem .ui-page #page-wrapper .compact-input:focus {
  border-color: var(--ui-primary);
  box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.12);
}

.dxf_trinhxem .ui-tab,
.dxf_trinhxem .ui-page #page-wrapper .dxf_trinhxem_panel-tab-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  min-height: 30px;
  flex: 1 1 0;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: var(--ui-muted);
  font-size: var(--ui-toolbar-size);
  font-weight: 700;
  cursor: pointer;
}

.dxf_trinhxem .ui-tab.active,
.dxf_trinhxem .ui-page #page-wrapper .dxf_trinhxem_panel-tab-btn.active {
  background: rgba(37, 99, 235, 0.14);
  color: var(--ui-primary);
}

.dxf_trinhxem .ui-menu-item.is-toggle::after,
.dxf_trinhxem .ui-page #page-wrapper .dropdown-item.is-toggle::after {
  content: "";
  width: 26px;
  height: 15px;
  margin-left: 8px;
  flex: 0 0 26px;
  border: 1px solid rgba(148, 163, 184, 0.34);
  border-radius: 999px;
  background: radial-gradient(circle at 7px 50%, #cbd5e1 0 4px, transparent 4.5px), rgba(15, 23, 42, 0.86);
}

.dxf_trinhxem .ui-menu-item.is-toggle.active::after,
.dxf_trinhxem .ui-page #page-wrapper .dropdown-item.is-toggle.active::after {
  border-color: rgba(96, 165, 250, 0.72);
  background: radial-gradient(circle at 19px 50%, #ffffff 0 4px, transparent 4.5px), linear-gradient(135deg, #2563eb, #60a5fa);
}

.dxf_trinhxem .ui-list,
.dxf_trinhxem .ui-page #page-wrapper .list-wrap,
.dxf_trinhxem .ui-page #page-wrapper .entity-list,
.dxf_trinhxem .ui-page #page-wrapper .layer-list,
.dxf_trinhxem .ui-page #page-wrapper .summary-list {
  min-height: 0;
  overflow: auto;
  border: 1px solid var(--ui-border);
  border-radius: var(--ui-radius);
  background: var(--ui-surface-2);
}

.dxf_trinhxem .ui-canvas-shell,
.dxf_trinhxem .ui-page #page-wrapper .canvas-wrap {
  position: relative;
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
  background: var(--ui-canvas-bg);
}

.dxf_trinhxem .ui-canvas-shell canvas,
.dxf_trinhxem .ui-page #page-wrapper .canvas-wrap canvas {
  display: block;
  width: 100%;
  height: 100%;
}

.dxf_trinhxem .ui-overlay,
.dxf_trinhxem .ui-page #page-wrapper .overlay {
  position: absolute;
  z-index: 4;
  max-width: 360px;
  padding: 9px 11px;
  border-radius: var(--ui-radius);
  background: var(--ui-overlay);
  color: #ffffff;
  font-size: var(--ui-font-size);
  line-height: 1.4;
  white-space: pre-line;
  pointer-events: none;
}

.dxf_trinhxem .ui-overlay .ui-dropdown,
.dxf_trinhxem .ui-page #page-wrapper .overlay .ui-dropdown {
  position: relative;
  display: inline-flex;
}

.dxf_trinhxem .ui-overlay .ui-dropdown-menu,
.dxf_trinhxem .ui-page #page-wrapper .overlay .ui-dropdown-menu {
  display: none;
  position: absolute;
  top: calc(100% + 5px);
  left: 0;
  min-width: 158px;
  z-index: 300;
  padding: 5px;
  border: 1px solid rgba(96, 165, 250, 0.18);
  border-radius: var(--ui-radius);
  background: rgba(11, 21, 38, 0.96);
  box-shadow: 0 16px 32px rgba(2, 6, 23, 0.45);
  backdrop-filter: blur(10px);
}

.dxf_trinhxem .ui-overlay .ui-dropdown:hover .ui-dropdown-menu,
.dxf_trinhxem .ui-overlay .ui-dropdown.active .ui-dropdown-menu,
.dxf_trinhxem .ui-page #page-wrapper .overlay .ui-dropdown:hover .ui-dropdown-menu,
.dxf_trinhxem .ui-page #page-wrapper .overlay .ui-dropdown.active .ui-dropdown-menu {
  display: block;
}

.dxf_trinhxem .ui-overlay,
.dxf_trinhxem .ui-page #page-wrapper .overlay {
  background: rgba(148, 163, 184, 0.12);
  color: #ffffff;
}

@media (max-width: 1200px) {

  .dxf_trinhxem .ui-shell,
  .dxf_trinhxem .ui-shell--three,
  .dxf_trinhxem .ui-page #page-wrapper .app,
  .dxf_trinhxem .ui-page #page-wrapper .layout-3col {
    grid-template-columns: 1fr;
    height: auto;
    overflow: auto;
  }

  .dxf_trinhxem .ui-statusbar,
  .dxf_trinhxem .ui-page #page-wrapper .statusbar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.dxf_trinhxem.sodo-goc-page .layer-row,
.dxf_trinhxem.dxf-page .layer-row,
.dxf_trinhxem.sodo-goc-page .summary-row,
.dxf_trinhxem.dxf-page .summary-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
}

.dxf_trinhxem.sodo-goc-page .dark .error,
.dxf_trinhxem.dxf-page .dark .error {
  color: #fecaca;
}

.dxf_trinhxem.sodo-goc-page .toolbar-btn.icon-only,
.dxf_trinhxem.dxf-page .toolbar-btn.icon-only {
  min-width: 42px;
  width: 42px;
  padding: 0;
  font-size: 18px;
  font-weight: 500;
}

.dxf_trinhxem.sodo-goc-page .status-item b,
.dxf_trinhxem.dxf-page .status-item b {
  color: var(--text);
}

.dxf_trinhxem.sodo-goc-page .entity-item:last-child,
.dxf_trinhxem.dxf-page .entity-item:last-child,
.dxf_trinhxem.sodo-goc-page .layer-item:last-child,
.dxf_trinhxem.dxf-page .layer-item:last-child,
.dxf_trinhxem.sodo-goc-page .summary-item:last-child,
.dxf_trinhxem.dxf-page .summary-item:last-child {
  border-bottom: none;
}

.dxf_trinhxem.sodo-goc-page .entity-item:hover,
.dxf_trinhxem.dxf-page .entity-item:hover,
.dxf_trinhxem.sodo-goc-page .layer-item:hover,
.dxf_trinhxem.dxf-page .layer-item:hover {
  background: var(--list-hover);
}

.dxf_trinhxem.sodo-goc-page .entity-item.active,
.dxf_trinhxem.dxf-page .entity-item.active {
  background: var(--list-active);
}

.dxf_trinhxem.sodo-goc-page .entity-item,
.dxf_trinhxem.dxf-page .entity-item {
  cursor: pointer;
}

.dxf_trinhxem.sodo-goc-page .toggle:checked,
.dxf_trinhxem.dxf-page .toggle:checked {
  background: var(--primary);
}

.dxf_trinhxem.sodo-goc-page .prop-key,
.dxf_trinhxem.dxf-page .prop-key {
  color: var(--muted);
  font-weight: 500;
}

.dxf_trinhxem.sodo-goc-page .canvas-wrap,
.dxf_trinhxem.dxf-page .canvas-wrap {
  position: relative;
  flex: 1;
  overflow: hidden;
  background: var(--canvas-bg);
}

.dxf_trinhxem.sodo-goc-page .canvas-drop-overlay,
.dxf_trinhxem.dxf-page .canvas-drop-overlay {
  position: absolute;
  inset: 0;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--drop-overlay);
  backdrop-filter: blur(2px);
  cursor: pointer;
}

.dxf_trinhxem.sodo-goc-page .overlay.top-right,
.dxf_trinhxem.dxf-page .overlay.top-right {
  top: 12px;
  right: 12px;
}

.dxf_trinhxem.sodo-goc-page .dxf_trinhxem_panel-tab-btn:hover,
.dxf_trinhxem.dxf-page .dxf_trinhxem_panel-tab-btn:hover {
  background: var(--panel-2);
  color: var(--text);
  transform: none;
}

.dxf_trinhxem.sodo-goc-page .dxf_trinhxem_panel-tab-btn.active .tab-count,
.dxf_trinhxem.dxf-page .dxf_trinhxem_panel-tab-btn.active .tab-count {
  color: yellow;
  opacity: 1;
}

.dxf_trinhxem.sodo-goc-page .tab-panel.active,
.dxf_trinhxem.dxf-page .tab-panel.active {
  display: block;
}

.dxf_trinhxem.sodo-goc-page #tab-layers.active,
.dxf_trinhxem.dxf-page #tab-layers.active {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}

.dxf_trinhxem.sodo-goc-page .layer-list-wrap,
.dxf_trinhxem.dxf-page .layer-list-wrap {
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}

.dxf_trinhxem.sodo-goc-page #chooseFileBtn,
.dxf_trinhxem.dxf-page #chooseFileBtn {
  color: #3b82f6 !important;
  border-color: rgba(59, 130, 246, 0.4) !important;
  background: rgba(59, 130, 246, 0.05) !important;
}

.dxf_trinhxem.sodo-goc-page #chooseFileBtn:hover,
.dxf_trinhxem.dxf-page #chooseFileBtn:hover {
  background: rgba(59, 130, 246, 0.15) !important;
}

.dxf_trinhxem.sodo-goc-page #chooseFileBtn i,
.dxf_trinhxem.dxf-page #chooseFileBtn i {
  color: #fbbf24 !important;
  filter: drop-shadow(0 0 2px rgba(251, 191, 36, 0.3));
}

.dxf_trinhxem.sodo-goc-page #fitBtn,
.dxf_trinhxem.dxf-page #fitBtn {
  color: #34d399 !important;
  border-color: rgba(52, 211, 153, 0.4) !important;
  background: rgba(52, 211, 153, 0.05) !important;
}

.dxf_trinhxem.sodo-goc-page #fitBtn:hover,
.dxf_trinhxem.dxf-page #fitBtn:hover {
  background: rgba(52, 211, 153, 0.15) !important;
}

.dxf_trinhxem .toolbar-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  height: 28px !important;
  padding: 0 10px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  user-select: none !important;
}

.dxf_trinhxem .toolbar-btn>* {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
}

.dxf_trinhxem {
  /* SVG icon: kích thước cố định, không bị kéo giãn */
}

.dxf_trinhxem .toolbar-btn .icon-svg {
  width: 14px !important;
  height: 14px !important;
  flex-shrink: 0 !important;
  overflow: visible !important;
}

.dxf_trinhxem {
  /* Emoji icon (span.icon): kích thước và căn chỉnh */
}

.dxf_trinhxem .toolbar-btn span.icon {
  font-size: 14px !important;
  width: 16px !important;
  height: 16px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.dxf_trinhxem {
  /* ==========================================
     MERGED: style_dxf_trinhxem.css
     ========================================== */
  /* ===== BO CONG CU VAN PHONG DXF PAGE STYLES ===== */
  /* BASE FONT WEIGHT 300 */
}

.dxf_trinhxem.dxf-page {
  font-weight: 300;
}

.dxf_trinhxem {
  /* CHỐNG CẮT MẤT DẤU NẶNG */
}

.dxf_trinhxem.dxf-page .toolbar-btn span {
  padding-top: 3px !important;
  padding-bottom: 3px !important;
  display: inline-block;
}

.dxf_trinhxem {
  /* BẮT BUỘC FONT INTER CHO TOÀN BỘ TRANG DXF (NGOẠI TRỪ ICON) */
}

.dxf_trinhxem.dxf-page,
.dxf_trinhxem.dxf-page button:not(.fa):not(.fas):not([class*=fa-]),
.dxf_trinhxem.dxf-page input:not(.fa):not(.fas):not([class*=fa-]),
.dxf_trinhxem.dxf-page select:not(.fa):not(.fas):not([class*=fa-]),
.dxf_trinhxem.dxf-page textarea:not(.fa):not(.fas):not([class*=fa-]),
.dxf_trinhxem.dxf-page .swal2-container *:where(:not(.fa):not(.fas):not([class*=fa-]):not(b):not(strong)),
.dxf_trinhxem.dxf-page .app.layout-3col *:where(:not(.fa):not(.fas):not(.far):not(.fab):not(.fal):not(.fad):not([class^=fa-]):not([class*=" fa-"]):not(b):not(strong)) {
  font-family: "Inter", sans-serif !important;
  font-weight: 300 !important;
}

.dxf_trinhxem {
  /* GHI ĐÈ THẺ B VÀ STRONG VÀ CÁC ĐIỂM NHẤN UI VỀ 500 (VISUAL HIERARCHY) */
}

.dxf_trinhxem.dxf-page .app.layout-3col b,
.dxf_trinhxem.dxf-page .app.layout-3col strong,
.dxf_trinhxem.dxf-page .app.layout-3col .group-title,
.dxf_trinhxem.dxf-page .app.layout-3col .prop-section,
.dxf_trinhxem.dxf-page .app.layout-3col .dxf_trinhxem_panel-tab-btn.active .tab-label,
.dxf_trinhxem.dxf-page .app.layout-3col .group-title span,
.dxf_trinhxem.dxf-page .app.layout-3col .dxf_trinhxem_panel-tab-btn.active .tab-count,
.dxf_trinhxem.dxf-page .app.layout-3col .layer-item.active,
.dxf_trinhxem.dxf-page .app.layout-3col .entity-item.active,
.dxf_trinhxem.dxf-page .app.layout-3col .toolbar-btn.primary,
.dxf_trinhxem.dxf-page .app.layout-3col #chooseFileBtn,
.dxf_trinhxem.dxf-page .app.layout-3col .file-name {
  font-weight: 500 !important;
}

.dxf_trinhxem {
  /* KHÔI PHỤC FONT GỐC CHO NAVIGATION_LEFT */
}

.dxf_trinhxem.dxf-page nav.navbar-default.navbar-static-side,
.dxf_trinhxem.dxf-page nav.navbar-default.navbar-static-side *:not(.fa):not(.fas):not([class*=fa-]) {
  font-family: "open sans", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
}

.dxf_trinhxem.dxf-page {
  --bg: #eef2ff;
  --panel: rgba(255, 255, 255, .95);
  --panel-2: #fff;
  --panel-3: #f8fbff;
  --border: #dbe4f0;
  --text: #0f172a;
  --muted: #64748b;
  --primary: #2563eb;
  --primary-2: #1d4ed8;
  --danger: #ef4444;
  --warning: #f59e0b;
  --success: #16a34a;
  --shadow: 0 14px 40px rgba(15, 23, 42, .10);
  --canvas-bg: #fff;
  --grid: rgba(15, 23, 42, .06);
  --overlay: rgba(15, 23, 42, .82);
  --list-hover: #f1f5f9;
  --list-active: #dbeafe;
  --crosshair: rgba(37, 99, 235, .45);
  --minimap-bg: rgba(255, 255, 255, .90);
  --minimap-border: rgba(15, 23, 42, .15);
  --toolbar-bg: rgba(255, 255, 255, .82);
  --toolbar-group: rgba(248, 251, 255, .92);
  --toolbar-btn: #fff;
  --toolbar-btn-border: #d7e1ef;
  --drop-overlay: rgba(255, 255, 255, .72);
  --drop-box: rgba(255, 255, 255, .94);
  --ui-font: 12px;
  --ui-radius: 10px;
  --ui-radius-lg: 13px;
  --ui-btn-h: 30px;
  --ui-icon: 14px;
}

.dxf_trinhxem.dxf-page,
.dxf_trinhxem.dxf-page {
  margin: 0;
  height: 100%;
  font-size: var(--ui-font);
  background: var(--bg);
  color: var(--text);
}

.dxf_trinhxem {
  /* [MOVED TO CORE] */
}

.dxf_trinhxem.dxf-page .hidden,
.dxf_trinhxem.dxf-page #hoverInfo,
.dxf_trinhxem.dxf-page #clickPopup,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .file-card-top.no-file .file-card-left,
.dxf_trinhxem.dxf-page #zoomInBtn span:not(.icon),
.dxf_trinhxem.dxf-page #zoomOutBtn span:not(.icon) {
  display: none !important;
}

.dxf_trinhxem.dxf-page .app {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 390px;
  gap: 10px;
  height: 100dvh;
  padding: 10px;
  background: radial-gradient(circle at top left, rgba(37, 99, 235, 0.08), transparent 28%), var(--bg);
  transition: grid-template-columns 0.22s ease;
}

.dxf_trinhxem.dxf-page .app.dxf_trinhxem_panel_collapsed {
  grid-template-columns: minmax(0, 1fr) 0;
  gap: 0;
}

.dxf_trinhxem.dxf-page .app.dxf_trinhxem_panel_collapsed .dxf_trinhxem_panel,
.dxf_trinhxem.dxf-page .layout-3col.app.dxf_trinhxem_panel_collapsed .dxf_trinhxem_right_panel {
  opacity: 0;
  pointer-events: none;
  transform: translateX(18px);
  border-width: 0;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_panel,
.dxf_trinhxem.dxf-page .dxf_trinhxem_viewer {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: var(--panel);
  box-shadow: var(--shadow);
  backdrop-filter: blur(8px);
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_panel {
  order: 2;
  transition: opacity 0.22s ease, transform 0.22s ease, border-width 0.22s ease;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_viewer {
  order: 1;
  display: flex;
  flex-direction: column;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_panel_body {
  height: calc(100dvh - 20px);
  min-height: 0;
  padding: 8px;
  overflow: hidden;
}

.dxf_trinhxem.dxf-page .group,
.dxf_trinhxem.dxf-page .list-wrap,
.dxf_trinhxem.dxf-page .dxf_trinhxem_panel-tabs,
.dxf_trinhxem.dxf-page .status-item,
.dxf_trinhxem.dxf-page .input,
.dxf_trinhxem.dxf-page .error {
  border-radius: var(--ui-radius-lg);
}

.dxf_trinhxem.dxf-page .file-card-top {
  display: grid;
  grid-template-columns: 1fr;
  gap: 6px;
  align-items: stretch;
}

.dxf_trinhxem.dxf-page .file-card-left {
  order: 2;
  min-width: 0;
  flex: 1;
}

.dxf_trinhxem.dxf-page .file-actions,
.dxf_trinhxem.dxf-page .file-actions-main {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 5px;
  flex-wrap: wrap;
  padding-bottom: 0;
}

.dxf_trinhxem.dxf-page .file-actions-main,
.dxf_trinhxem.dxf-page .layout-3col .dxf_trinhxem_left_panel {
  order: 1;
}

.dxf_trinhxem.dxf-page .file-actions-main .danger {
  margin-left: 0;
}

.dxf_trinhxem.dxf-page .file-name,
.dxf_trinhxem.dxf-page .group-title,
.dxf_trinhxem.dxf-page .entity-type,
.dxf_trinhxem.dxf-page .layer-name,
.dxf_trinhxem.dxf-page .summary-name {
  font-size: 12px;
  font-weight: 500;
  line-height: 1.25;
  word-break: break-word;
}

.dxf_trinhxem.dxf-page .file-sub,
.dxf_trinhxem.dxf-page .help,
.dxf_trinhxem.dxf-page .entity-meta,
.dxf_trinhxem.dxf-page .layer-meta,
.dxf_trinhxem.dxf-page .summary-meta,
.dxf_trinhxem.dxf-page .statusbar,
.dxf_trinhxem.dxf-page .overlay,
.dxf_trinhxem.dxf-page .canvas-drop-sub {
  font-size: 13.5px !important;
  line-height: 1.35;
  color: var(--muted);
}

.dxf_trinhxem.dxf-page .file-sub {
  margin-top: 6px;
  word-break: break-word;
}

.dxf_trinhxem.dxf-page .group {
  margin-top: 7px;
  padding: 8px;
  border: 1px solid var(--border);
  background: var(--panel-2);
}

.dxf_trinhxem.dxf-page .group-title {
  margin-bottom: 6px;
}

.dxf_trinhxem.dxf-page .danger {
  color: #ef4444 !important;
  background: rgba(239, 68, 68, 0.06) !important;
  border-color: rgba(239, 68, 68, 0.35) !important;
}

.dxf_trinhxem.dxf-page .danger:hover {
  background: rgba(239, 68, 68, 0.12) !important;
  border-color: rgba(239, 68, 68, 0.5) !important;
}

.dxf_trinhxem.dxf-page .toolbar {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 0px 41px 0px 41px;
  border-bottom: 1px solid var(--border);
  background: var(--toolbar-bg);
  display: flex !important;
  font-weight: 500 !important;
}

.dxf_trinhxem {
  /* KHÔI PHỤC FONT GỐC CHO NAVIGATION_LEFT */
}

.dxf_trinhxem.dxf-page nav.navbar-default.navbar-static-side,
.dxf_trinhxem.dxf-page nav.navbar-default.navbar-static-side *:not(.fa):not(.fas):not([class*=fa-]) {
  font-family: "open sans", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
}

.dxf_trinhxem.dxf-page {
  --bg: #eef2ff;
  --panel: rgba(255, 255, 255, .95);
  --panel-2: #fff;
  --panel-3: #f8fbff;
  --border: #dbe4f0;
  --text: #0f172a;
  --muted: #64748b;
  --primary: #2563eb;
  --primary-2: #1d4ed8;
  --danger: #ef4444;
  --warning: #f59e0b;
  --success: #16a34a;
  --shadow: 0 14px 40px rgba(15, 23, 42, .10);
  --canvas-bg: #fff;
  --grid: rgba(15, 23, 42, .06);
  --overlay: rgba(15, 23, 42, .82);
  --list-hover: #f1f5f9;
  --list-active: #dbeafe;
  --crosshair: rgba(37, 99, 235, .45);
  --minimap-bg: rgba(255, 255, 255, .90);
  --minimap-border: rgba(15, 23, 42, .15);
  --toolbar-bg: rgba(255, 255, 255, .82);
  --toolbar-group: rgba(248, 251, 255, .92);
  --toolbar-btn: #fff;
  --toolbar-btn-border: #d7e1ef;
  --drop-overlay: rgba(255, 255, 255, .72);
  --drop-box: rgba(255, 255, 255, .94);
  --ui-font: 12px;
  --ui-radius: 10px;
  --ui-radius-lg: 13px;
  --ui-btn-h: 30px;
  --ui-icon: 14px;
}

.dxf_trinhxem.dxf-page,
.dxf_trinhxem.dxf-page {
  margin: 0;
  height: 100%;
  font-size: var(--ui-font);
  background: var(--bg);
  color: var(--text);
}

.dxf_trinhxem {
  /* [MOVED TO CORE] */
}

.dxf_trinhxem.dxf-page .hidden,
.dxf_trinhxem.dxf-page #hoverInfo,
.dxf_trinhxem.dxf-page #clickPopup,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .file-card-top.no-file .file-card-left,
.dxf_trinhxem.dxf-page #zoomInBtn span:not(.icon),
.dxf_trinhxem.dxf-page #zoomOutBtn span:not(.icon) {
  display: none !important;
}

.dxf_trinhxem.dxf-page .app {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 390px;
  gap: 10px;
  height: 100dvh;
  padding: 10px;
  background: radial-gradient(circle at top left, rgba(37, 99, 235, 0.08), transparent 28%), var(--bg);
  transition: grid-template-columns 0.22s ease;
}

.dxf_trinhxem.dxf-page .app.dxf_trinhxem_panel_collapsed {
  grid-template-columns: minmax(0, 1fr) 0;
  gap: 0;
}

.dxf_trinhxem.dxf-page .app.dxf_trinhxem_panel_collapsed .dxf_trinhxem_panel,
.dxf_trinhxem.dxf-page .layout-3col.app.dxf_trinhxem_panel_collapsed .dxf_trinhxem_right_panel {
  opacity: 0;
  pointer-events: none;
  transform: translateX(18px);
  border-width: 0;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_panel,
.dxf_trinhxem.dxf-page .dxf_trinhxem_viewer {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: var(--panel);
  box-shadow: var(--shadow);
  backdrop-filter: blur(8px);
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_panel {
  order: 2;
  transition: opacity 0.22s ease, transform 0.22s ease, border-width 0.22s ease;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_viewer {
  order: 1;
  display: flex;
  flex-direction: column;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_panel_body {
  height: calc(100dvh - 20px);
  min-height: 0;
  padding: 8px;
  overflow: hidden;
}

.dxf_trinhxem.dxf-page .group,
.dxf_trinhxem.dxf-page .list-wrap,
.dxf_trinhxem.dxf-page .dxf_trinhxem_panel-tabs,
.dxf_trinhxem.dxf-page .status-item,
.dxf_trinhxem.dxf-page .input,
.dxf_trinhxem.dxf-page .error {
  border-radius: var(--ui-radius-lg);
}

.dxf_trinhxem.dxf-page .file-card-top {
  display: grid;
  grid-template-columns: 1fr;
  gap: 6px;
  align-items: stretch;
}

.dxf_trinhxem.dxf-page .file-card-left {
  order: 2;
  min-width: 0;
  flex: 1;
}

.dxf_trinhxem.dxf-page .file-actions,
.dxf_trinhxem.dxf-page .file-actions-main {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 5px;
  flex-wrap: wrap;
  padding-bottom: 0;
}

.dxf_trinhxem.dxf-page .file-actions-main,
.dxf_trinhxem.dxf-page .layout-3col .dxf_trinhxem_left_panel {
  order: 1;
}

.dxf_trinhxem.dxf-page .file-actions-main .danger {
  margin-left: 0;
}

.dxf_trinhxem.dxf-page .file-name,
.dxf_trinhxem.dxf-page .group-title,
.dxf_trinhxem.dxf-page .entity-type,
.dxf_trinhxem.dxf-page .layer-name,
.dxf_trinhxem.dxf-page .summary-name {
  font-size: 12px;
  font-weight: 500;
  line-height: 1.25;
  word-break: break-word;
}

.dxf_trinhxem.dxf-page .file-sub,
.dxf_trinhxem.dxf-page .help,
.dxf_trinhxem.dxf-page .entity-meta,
.dxf_trinhxem.dxf-page .layer-meta,
.dxf_trinhxem.dxf-page .summary-meta,
.dxf_trinhxem.dxf-page .statusbar,
.dxf_trinhxem.dxf-page .overlay,
.dxf_trinhxem.dxf-page .canvas-drop-sub {
  font-size: 13.5px !important;
  line-height: 1.35;
  color: var(--muted);
}

.dxf_trinhxem.dxf-page .file-sub {
  margin-top: 6px;
  word-break: break-word;
}

.dxf_trinhxem.dxf-page .group {
  margin-top: 7px;
  padding: 8px;
  border: 1px solid var(--border);
  background: var(--panel-2);
}

.dxf_trinhxem.dxf-page .group-title {
  margin-bottom: 6px;
}

.dxf_trinhxem.dxf-page .danger {
  color: #ef4444 !important;
  background: rgba(239, 68, 68, 0.06) !important;
  border-color: rgba(239, 68, 68, 0.35) !important;
}

.dxf_trinhxem.dxf-page .danger:hover {
  background: rgba(239, 68, 68, 0.12) !important;
  border-color: rgba(239, 68, 68, 0.5) !important;
}

.dxf_trinhxem.dxf-page .toolbar {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 0px 41px 0px 41px;
  border-bottom: 1px solid var(--border);
  background: var(--toolbar-bg);
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

.dxf_trinhxem.dxf-page .toolbar-btn,
.dxf_trinhxem.dxf-page .compact-action-btn,
.dxf_trinhxem.dxf-page .compact-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 32px;
  padding: 6px 10px;
  border-radius: 12px;
  border: 1px solid var(--toolbar-btn-border);
  background: var(--toolbar-btn);
  color: var(--text);
  font-size: 13px;
  font-weight: 500;
  box-shadow: 0 2px 6px rgba(15, 23, 42, 0.04);
  flex: 0 0 auto;
  letter-spacing: 0.01em;
}

.dxf_trinhxem.dxf-page .toolbar-btn:hover,
.dxf_trinhxem.dxf-page .compact-action-btn:hover,
.dxf_trinhxem.dxf-page .compact-btn:hover {
  transform: translateY(-1px);
}

.dxf_trinhxem.dxf-page .toolbar-btn.primary {
  background: linear-gradient(135deg, var(--primary), var(--primary-2));
  border-color: transparent;
  color: white;
  padding: 6px 10px;
  box-shadow: 0 10px 22px rgba(37, 99, 235, 0.22);
}

.dxf_trinhxem.dxf-page .toolbar-btn.success,
.dxf_trinhxem.dxf-page .toolbar-btn.excel {
  color: var(--success) !important;
  background: rgba(34, 197, 94, 0.1) !important;
  border-color: rgba(34, 197, 94, 0.24) !important;
}

.dxf_trinhxem.dxf-page .toolbar-btn.warning {
  color: var(--warning) !important;
  background: rgba(245, 158, 11, 0.12) !important;
  border-color: rgba(245, 158, 11, 0.28) !important;
}

.dxf_trinhxem.dxf-page .toolbar-btn.active {
  border-color: var(--primary) !important;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.13) !important;
}

.dxf_trinhxem {
  /* [MOVED TO CORE] */
}

.dxf_trinhxem.dxf-page .toolbar-btn .icon {
  font-size: 15px;
  line-height: 1.2 !important;
}

.dxf_trinhxem.dxf-page .icon-svg,
.dxf_trinhxem.dxf-page .toolbar-btn.primary .icon-svg,
.dxf_trinhxem.dxf-page .toolbar-btn.icon-only .icon-svg,
.dxf_trinhxem.dxf-page .toolbar-btn.success .icon-svg,
.dxf_trinhxem.dxf-page .toolbar-btn.warning .icon-svg {
  width: var(--ui-icon);
  height: var(--ui-icon);
  display: inline-block;
  flex: 0 0 auto;
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.dxf_trinhxem.dxf-page #zoomInBtn .icon-svg,
.dxf_trinhxem.dxf-page #zoomOutBtn .icon-svg,
.dxf_trinhxem.dxf-page .layout-3col #zoomInBtn .icon-svg,
.dxf_trinhxem.dxf-page .layout-3col #zoomOutBtn .icon-svg {
  width: 18px;
  height: 18px;
  stroke-width: 2.25;
}

.dxf_trinhxem.dxf-page .floating-panel-toggle {
  position: absolute;
  right: 9px;
  padding: 0;
  border: 1px solid var(--toolbar-btn-border);
  border-radius: 999px;
  background: var(--toolbar-btn);
  color: var(--text);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.14);
  backdrop-filter: blur(8px);
  transform: translateY(-50%);
}

.dxf_trinhxem.dxf-page .floating-panel-toggle:hover {
  transform: translateY(-50%) scale(1.03);
  border-color: var(--primary);
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12), 0 8px 18px rgba(15, 23, 42, 0.18);
}

.dxf_trinhxem.dxf-page .floating-panel-toggle svg {
  stroke: currentColor;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.dxf_trinhxem.dxf-page .floating-panel-toggle.active {
  color: #fff;
  border-color: transparent;
  background: linear-gradient(135deg, var(--primary), var(--primary-2));
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_panel-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 4px;
  margin-top: 10px;
  padding: 4px;
  border: 1px solid var(--border);
  background: var(--panel-3);
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_panel-tab-btn {
  min-height: 42px;
  padding: 5px 4px;
  border: 1px solid var(--border);
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.4);
  color: var(--muted);
  box-shadow: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  line-height: 1.1;
  text-align: center;
  transition: all 0.15s ease;
}

.dxf_trinhxem {
  /* [MOVED TO CORE] */
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_panel-tab-btn.active {
  color: #fff;
  border-color: transparent;
  background: linear-gradient(135deg, var(--primary), var(--primary-2));
  box-shadow: 0 8px 18px rgba(37, 99, 235, 0.22);
}

.dxf_trinhxem.dxf-page .tab-label,
.dxf_trinhxem.dxf-page .tab-count {
  display: block;
  line-height: 1.1;
  white-space: nowrap !important;
  font-size: 12px !important;
}

.dxf_trinhxem.dxf-page .tab-label {
  font-weight: 500;
  color: inherit;
}

.dxf_trinhxem.dxf-page .tab-count {
  color: var(--success);
  opacity: 0.9;
}

.dxf_trinhxem.dxf-page .tab-panel,
.dxf_trinhxem.dxf-page .canvas-drop-overlay.hidden,
.dxf_trinhxem.dxf-page .layout-3col .dxf_trinhxem_panel-tabs,
.dxf_trinhxem.dxf-page .toolbar.compact-1 #fitBtn span,
.dxf_trinhxem.dxf-page .toolbar.compact-1 #measureModeBtn span:not(.icon),
.dxf_trinhxem.dxf-page .dxf_trinhxem_right_panel .group-title.split-title>span:first-child:empty,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .file-card-left:empty,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .file-name:empty,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .file-sub:empty {
  display: none;
}

.dxf_trinhxem.dxf-page .tab-panel .group:first-child,
.dxf_trinhxem.dxf-page .tab-panel .group-title:first-child {
  margin-top: 10px;
}

.dxf_trinhxem.dxf-page #tab-entities.active {
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.dxf_trinhxem.dxf-page #tab-props.active {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
}

.dxf_trinhxem {
  /* [MOVED TO CORE] */
}

.dxf_trinhxem.dxf-page .list-wrap {
  overflow: hidden;
  background: var(--panel-2);
}

.dxf_trinhxem.dxf-page .entity-list,
.dxf_trinhxem.dxf-page .summary-list {
  max-height: 150px;
  overflow: auto;
  width: 100%;
  box-sizing: border-box;
}

.dxf_trinhxem.dxf-page .layer-list,
.dxf_trinhxem.dxf-page .layer-list-full {
  height: 100%;
  max-height: none;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
}

.dxf_trinhxem {
  /* [MOVED TO CORE] */
}

.dxf_trinhxem.dxf-page .entity-list::-webkit-scrollbar,
.dxf_trinhxem.dxf-page .summary-list::-webkit-scrollbar,
.dxf_trinhxem.dxf-page .layer-list::-webkit-scrollbar {
  width: 4px !important;
  display: block !important;
}

.dxf_trinhxem.dxf-page .entity-list::-webkit-scrollbar-track,
.dxf_trinhxem.dxf-page .summary-list::-webkit-scrollbar-track,
.dxf_trinhxem.dxf-page .layer-list::-webkit-scrollbar-track {
  background: transparent !important;
}

.dxf_trinhxem.dxf-page .entity-list::-webkit-scrollbar-thumb,
.dxf_trinhxem.dxf-page .summary-list::-webkit-scrollbar-thumb,
.dxf_trinhxem.dxf-page .layer-list::-webkit-scrollbar-thumb {
  border-radius: 999px !important;
  background: rgba(100, 120, 160, 0.35) !important;
}

.dxf_trinhxem.dxf-page .entity-list::-webkit-scrollbar-thumb:hover,
.dxf_trinhxem.dxf-page .summary-list::-webkit-scrollbar-thumb:hover,
.dxf_trinhxem.dxf-page .layer-list::-webkit-scrollbar-thumb:hover {
  background: rgba(100, 120, 160, 0.6) !important;
}

.dxf_trinhxem.dxf-page .entity-list,
.dxf_trinhxem.dxf-page .summary-list,
.dxf_trinhxem.dxf-page .layer-list {
  scrollbar-width: thin !important;
  scrollbar-color: rgba(100, 120, 160, 0.35) transparent !important;
}

.dxf_trinhxem.dxf-page .entity-item,
.dxf_trinhxem.dxf-page .layer-item,
.dxf_trinhxem.dxf-page .summary-item {
  padding: 5px 10px;
  border-bottom: 1px solid var(--border);
  transition: 0.15s ease;
}

.dxf_trinhxem {
  /* [MOVED TO CORE] */
}

.dxf_trinhxem.dxf-page .entity-meta,
.dxf_trinhxem.dxf-page .layer-meta,
.dxf_trinhxem.dxf-page .summary-meta {
  margin-top: 4px;
}

.dxf_trinhxem.dxf-page .swatch {
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 999px;
  display: inline-block;
  vertical-align: middle;
}

.dxf_trinhxem.dxf-page .toggle {
  appearance: none;
  width: 26px;
  height: 14px;
  border: none;
  border-radius: 999px;
  background: #cbd5e1;
  position: relative;
  cursor: pointer;
  flex: 0 0 auto;
  transition: 0.2s;
}

.dxf_trinhxem {
  /* [MOVED TO CORE] */
}

.dxf_trinhxem.dxf-page .toggle::after {
  content: "";
  position: absolute;
  width: 10px;
  height: 10px;
  left: 2px;
  top: 2px;
  border-radius: 50%;
  background: #cbd5e1;
  transition: 0.2s;
}

.dxf_trinhxem.dxf-page .toggle:checked::after {
  transform: translateX(12px);
}

.dxf_trinhxem.dxf-page .prop-grid {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 5px 7px;
  align-items: center;
}

.dxf_trinhxem {
  /* [MOVED TO CORE] */
}

.dxf_trinhxem.dxf-page .prop-val {
  color: var(--text);
  word-break: break-word;
  font-family: "Inter", "Segoe UI Variable", "Segoe UI", Arial, sans-serif;
}

.dxf_trinhxem.dxf-page .prop-empty {
  grid-column: 1/-1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  padding-top: 4px;
  overflow: visible;
}

.dxf_trinhxem.dxf-page .prop-empty-title {
  color: #34d399;
  font-size: 12px;
  font-weight: 500;
  line-height: 18px;
  min-height: 18px;
  overflow: visible;
}

.dxf_trinhxem.dxf-page .prop-empty-text {
  color: var(--muted);
  font-family: "Inter", "Segoe UI Variable", "Segoe UI", Arial, sans-serif;
  font-size: 12px !important;
  font-weight: 300;
  line-height: 18px;
  min-height: 18px;
  overflow: visible;
  white-space: normal;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_right_panel .group {
  border: none !important;
  padding: 0 !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_right_panel .group .group-title {
  padding: 0 !important;
  margin-bottom: 8px !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_right_panel .dxf_trinhxem_panel_body.dxf_trinhxem_side_panel_body {
  padding-top: 6px !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_right_panel #tab-props {
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_right_panel #tab-props .group {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  min-height: 0 !important;
  padding-top: 0 !important;
  margin-top: 0 !important;
  overflow: hidden !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_right_panel #propertyPanel {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  scrollbar-width: thin !important;
  scrollbar-color: rgba(100, 120, 160, 0.35) transparent !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_right_panel #propertyPanel::-webkit-scrollbar {
  width: 4px !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_right_panel #propertyPanel::-webkit-scrollbar-track {
  background: transparent !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_right_panel #propertyPanel::-webkit-scrollbar-thumb {
  border-radius: 999px !important;
  background: rgba(100, 120, 160, 0.35) !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_right_panel #propertyPanel::-webkit-scrollbar-thumb:hover {
  background: rgba(100, 120, 160, 0.6) !important;
}

.dxf_trinhxem.dxf-page .error {
  padding: 12px !important;
  border: 1px solid rgba(239, 68, 68, 0.22);
  background: rgba(239, 68, 68, 0.08);
  color: #ef4444;
  text-align: center;
  font-weight: 300;
}

.dxf_trinhxem {
  /* [MOVED TO CORE] */
}

.dxf_trinhxem.dxf-page canvas {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--canvas-bg);
  cursor: crosshair;
}

.dxf_trinhxem.dxf-page canvas.panning,
.dxf_trinhxem.dxf-page .minimap:active {
  cursor: grabbing;
}

.dxf_trinhxem {
  /* Layer canvases: trong suot, phu toan bo canvas-wrap */
}

.dxf_trinhxem.dxf-page #canvasPaper,
.dxf_trinhxem.dxf-page #canvasInteraction {
  background: transparent !important;
  cursor: default;
}

/* Canvas bản đồ nền tile — nằm dưới cùng */
.dxf_trinhxem.dxf-page #canvasBasemap {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  background: transparent !important;
  pointer-events: none;
  z-index: 0;
  display: none; /* ẩn mặc định, bật khi toggle = ON */
  opacity: 0.75; /* hơi mờ để DXF bên trên dễ đọc */
}

/* Khi bản đồ bật */
.dxf_trinhxem.dxf-page #canvasBasemap.basemap-visible {
  display: block;
  opacity: 1;
}

/* Canvas DXF chính nằm trên basemap */
.dxf_trinhxem.dxf-page #canvas {
  position: relative;
  z-index: 1;
}

/* Khi basemap bật → canvas DXF chính phải transparent để thấy nền bên dưới */
.dxf_trinhxem.dxf-page #canvasBasemap.basemap-visible ~ #canvas {
  background: transparent !important;
}


.dxf_trinhxem {
  /* [MOVED TO CORE] */
}

.dxf_trinhxem.dxf-page .canvas-drop-box {
  min-width: 320px;
  max-width: 520px;
  padding: 18px 22px;
  border: 1.5px dashed var(--primary);
  border-radius: 16px;
  background: var(--drop-box);
  text-align: center;
  box-shadow: 0 16px 38px rgba(15, 23, 42, 0.18);
}

.dxf_trinhxem.dxf-page .canvas-drop-icon {
  font-size: 28px;
  margin-bottom: 8px;
}

.dxf_trinhxem.dxf-page .canvas-drop-sub {
  margin-top: 8px;
  font-size: 12.5px !important;
}

.dxf_trinhxem.dxf-page .canvas-drop-cta {
  margin-top: 10px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 11px;
  border-radius: var(--ui-radius);
  background: var(--primary);
  color: #fff;
  font-weight: 500;
  font-size: 12.5px !important;
}

.dxf_trinhxem.dxf-page .overlay {
  position: absolute;
  z-index: 4;
  max-width: 330px;
  padding: 8px 10px;
  border-radius: var(--ui-radius);
  background: var(--overlay);
  color: #fff;
  white-space: pre-line;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.18);
  backdrop-filter: blur(6px);
  pointer-events: none;
}

.dxf_trinhxem {
  /* [MOVED TO CORE] */
}

.dxf_trinhxem.dxf-page .minimap {
  position: absolute;
  right: 10px;
  bottom: 10px;
  z-index: 3;
  width: 165px;
  height: 102px;
  overflow: hidden;
  border: 1px solid var(--minimap-border);
  border-radius: var(--ui-radius);
  background: var(--minimap-bg);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.18);
  backdrop-filter: blur(8px);
  cursor: grab;
  transition: opacity 0.18s ease, transform 0.18s ease;
}

.dxf_trinhxem.dxf-page .minimap.hidden {
  opacity: 0;
  pointer-events: none;
  transform: translateY(8px) scale(0.98);
}

.dxf_trinhxem.dxf-page .minimap canvas {
  background: transparent;
}

.dxf_trinhxem.dxf-page .statusbar {
  display: grid;
  grid-template-columns: minmax(135px, 0.6fr) repeat(4, minmax(0, 1fr));
  gap: 6px;
  padding: 7px 8px;
  border-top: 1px solid var(--border);
  background: var(--panel);
}

.dxf_trinhxem.dxf-page .status-item {
  min-width: 0;
  padding: 6px 8px;
  border: 1px solid var(--border);
  background: var(--panel-2);
  font-size: 12.5px !important;
  display: flex;
  align-items: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.dxf_trinhxem.dxf-page .status-item b {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dxf_trinhxem.dxf-page .status-item svg,
.dxf_trinhxem.dxf-page .status-item i {
  flex-shrink: 0;
}

.dxf_trinhxem {
  /* [MOVED TO CORE] */
}

@media (max-width: 1200px) {
  .dxf_trinhxem.dxf-page {
    overflow: auto;
  }

  .dxf_trinhxem.dxf-page .app {
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr;
    height: auto;
    overflow: auto;
  }

  .dxf_trinhxem.dxf-page .dxf_trinhxem_panel_body {
    height: auto;
  }

  .dxf_trinhxem.dxf-page .dxf_trinhxem_viewer {
    min-height: 78vh;
  }

  .dxf_trinhxem.dxf-page .statusbar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dxf_trinhxem.dxf-page .canvas-drop-box {
    min-width: 0;
    width: calc(100% - 32px);
  }
}

.dxf_trinhxem {
  /* =========================================================
         Readability tuning - font đồng nhất,
  dễ đọc trên nền tối
         ========================================================= */
}

.dxf_trinhxem.dxf-page .fa,
.dxf_trinhxem.dxf-page .fas,
.dxf_trinhxem.dxf-page .far,
.dxf_trinhxem.dxf-page .fab,
.dxf_trinhxem.dxf-page .fal,
.dxf_trinhxem.dxf-page [class^=fa-],
.dxf_trinhxem.dxf-page [class*=" fa-"] {
  font-family: "Font Awesome 5 Free", "Font Awesome 5 Brands", "FontAwesome" !important;
}

.dxf_trinhxem.dxf-page .file-name {
  font-size: 13.5px;
  font-weight: 650;
  line-height: 1.32;
  letter-spacing: 0.1px;
  color: var(--text);
}

.dxf_trinhxem.dxf-page .file-sub,
.dxf_trinhxem.dxf-page .layer-meta,
.dxf_trinhxem.dxf-page .summary-meta,
.dxf_trinhxem.dxf-page .entity-meta {
  font-size: 12.5px;
  color: var(--muted);
  line-height: 1.2;
}

.dxf_trinhxem.dxf-page .layer-name,
.dxf_trinhxem.dxf-page .summary-name,
.dxf_trinhxem.dxf-page .entity-type {
  font-size: 13px;
  font-weight: 650;
  line-height: 1.2;
  letter-spacing: 0.1px;
  color: var(--text);
}

.dxf_trinhxem.dxf-page .group-title,
.dxf_trinhxem.dxf-page .tab-label {
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.05px;
}

.dxf_trinhxem.dxf-page .tab-count {
  font-size: 12.5px;
  font-weight: 500;
}

.dxf_trinhxem.dxf-page .layer-item,
.dxf_trinhxem.dxf-page .summary-item,
.dxf_trinhxem.dxf-page .entity-item {
  padding: 10px 10px;
}

.dxf_trinhxem.dxf-page .swatch {
  width: 15px;
  height: 15px;
  min-width: 15px;
  min-height: 15px;
  aspect-ratio: 1 / 1;
  margin-right: 8px;
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.08);
}

.dxf_trinhxem.dxf-page #zoomInBtn .icon-svg,
.dxf_trinhxem.dxf-page #zoomOutBtn .icon-svg {
  stroke-width: 2.25 !important;
}

.dxf_trinhxem {
  /* =========================================================
         Layout 3 cột chuẩn: Layer | Canvas | Property
         Giữ canvas làm trung tâm,
  bỏ tab trên desktop,
  panel phải có thể collapse.
         ========================================================= */
}

.dxf_trinhxem.dxf-page .app.layout-3col {
  grid-template-columns: 330px minmax(0, 1fr) 280px;
  gap: 10px;
}

.dxf_trinhxem.dxf-page .layout-3col .dxf_trinhxem_viewer {
  order: 2;
}

.dxf_trinhxem.dxf-page .layout-3col .dxf_trinhxem_right_panel {
  order: 3;
}

.dxf_trinhxem.dxf-page .layout-3col.app.dxf_trinhxem_panel_collapsed {
  grid-template-columns: 330px minmax(0, 1fr) 0;
  gap: 10px;
}

.dxf_trinhxem.dxf-page .layout-3col.app.dxf_trinhxem_panel_collapsed .dxf_trinhxem_left_panel {
  opacity: 1;
  pointer-events: auto;
  transform: none;
  border-width: 1px;
}

.dxf_trinhxem.dxf-page .layout-3col.app.dxf_trinhxem_left_panel_collapsed {
  grid-template-columns: 0 minmax(0, 1fr) 280px;
  gap: 10px;
}

.dxf_trinhxem.dxf-page .layout-3col.app.dxf_trinhxem_left_panel_collapsed .dxf_trinhxem_left_panel {
  opacity: 0;
  pointer-events: none;
  transform: translateX(-18px);
  border-width: 0;
}

.dxf_trinhxem.dxf-page .layout-3col.app.dxf_trinhxem_left_panel_collapsed.dxf_trinhxem_panel_collapsed {
  grid-template-columns: 0 minmax(0, 1fr) 0;
  gap: 0 !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_side_panel_body {
  display: flex;
  flex-direction: column;
  min-height: 0;
  gap: 8px;
}

.dxf_trinhxem.dxf-page .layout-3col .tab-panel,
.dxf_trinhxem.dxf-page .layout-3col .tab-panel.active,
.dxf_trinhxem.dxf-page .layout-3col #tab-entities .group,
.dxf_trinhxem.dxf-page .layout-3col #tab-props .group,
.dxf_trinhxem.dxf-page .layout-3col #tab-layers .group {
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
}

.dxf_trinhxem.dxf-page .layout-3col #tab-layers {
  flex: 1.2 1 0;
}

.dxf_trinhxem.dxf-page .layout-3col #tab-entities {
  flex: 1 1 0;
  overflow: hidden;
}

.dxf_trinhxem.dxf-page .layout-3col #tab-props {
  flex: 1 1 auto;
  overflow: hidden;
}

.dxf_trinhxem.dxf-page .layout-3col #tab-entities .group:nth-child(1) {
  flex: 0 0 auto;
  max-height: 34%;
}

.dxf_trinhxem.dxf-page .layout-3col #tab-entities .group:nth-child(2),
.dxf_trinhxem.dxf-page .layout-3col .dxf_trinhxem_right_panel .group {
  flex: 1 1 auto;
}

.dxf_trinhxem.dxf-page .layout-3col .entity-list,
.dxf_trinhxem.dxf-page .layout-3col .summary-list {
  max-height: none;
  height: 100%;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
}

.dxf_trinhxem.dxf-page .layout-3col #tab-entities .group {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
}

.dxf_trinhxem.dxf-page .layout-3col #tab-entities .list-wrap {
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.dxf_trinhxem.dxf-page .layout-3col .split-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.dxf_trinhxem.dxf-page .side-count {
  color: var(--success);
  font-size: 12.5px;
  font-weight: 750;
  white-space: nowrap;
}

.dxf_trinhxem.dxf-page .layout-3col #tab-props .prop-grid {
  overflow: auto;
  min-height: 0;
}

.dxf_trinhxem.dxf-page .layout-3col #tab-props .prop-grid:has(.prop-empty) {
  overflow: visible;
  align-content: start;
}

.dxf_trinhxem {
  /* =========================================================
         UX chỉnh theo workflow CAD/GIS: mở file bên trái,
  property bên phải
         Left = Open + Structure,
  Center = Canvas,
  Right = Properties
         ========================================================= */
}

.dxf_trinhxem.dxf-page .layout-3col .dxf_trinhxem_right_panel .dxf_trinhxem_side_panel_body {
  gap: 10px;
}

.dxf_trinhxem.dxf-page .layout-3col .dxf_trinhxem_left_panel .file-name {
  color: var(--text);
  font-size: 13px;
  font-weight: 750;
  line-height: 1.35;
}

.dxf_trinhxem.dxf-page .layout-3col .dxf_trinhxem_left_panel .file-sub {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.dxf_trinhxem.dxf-page .layout-3col .dxf_trinhxem_left_panel .file-actions-main {
  gap: 6px;
}

.dxf_trinhxem.dxf-page .layout-3col .dxf_trinhxem_left_panel .compact-action-btn,
.dxf_trinhxem.dxf-page .layout-3col .dxf_trinhxem_left_panel .compact-btn {
  min-height: 31px;
  padding: 6px 9px;
}

.dxf_trinhxem.dxf-page .layout-3col .dxf_trinhxem_right_panel .prop-key {
  color: var(--muted);
  font-weight: 750;
}

.dxf_trinhxem.dxf-page .layout-3col .dxf_trinhxem_right_panel .prop-val {
  color: var(--text);
  font-weight: 650;
}

@media (max-width: 1280px) {
  .dxf_trinhxem.dxf-page .app.layout-3col {
    grid-template-columns: 300px minmax(0, 1fr) 260px;
  }

  .dxf_trinhxem.dxf-page .layout-3col.app.dxf_trinhxem_panel_collapsed {
    grid-template-columns: 300px minmax(0, 1fr) 0;
  }

  .dxf_trinhxem.dxf-page .layout-3col.app.dxf_trinhxem_left_panel_collapsed {
    grid-template-columns: 0 minmax(0, 1fr) 260px;
  }

  .dxf_trinhxem.dxf-page .layout-3col.app.dxf_trinhxem_left_panel_collapsed.dxf_trinhxem_panel_collapsed {
    grid-template-columns: 0 minmax(0, 1fr) 0;
  }
}

@media (max-width: 980px) {
  .dxf_trinhxem.dxf-page {
    overflow: auto;
  }

  .dxf_trinhxem.dxf-page .app.layout-3col,
  .dxf_trinhxem.dxf-page .layout-3col.app.dxf_trinhxem_panel_collapsed,
  .dxf_trinhxem.dxf-page .layout-3col.app.dxf_trinhxem_left_panel_collapsed,
  .dxf_trinhxem.dxf-page .layout-3col.app.dxf_trinhxem_left_panel_collapsed.dxf_trinhxem_panel_collapsed {
    grid-template-columns: 1fr;
    grid-template-rows: auto minmax(70vh, 1fr) auto;
    height: auto;
    overflow: auto;
  }

  .dxf_trinhxem.dxf-page .layout-3col .dxf_trinhxem_left_panel,
  .dxf_trinhxem.dxf-page .layout-3col .dxf_trinhxem_viewer,
  .dxf_trinhxem.dxf-page .layout-3col .dxf_trinhxem_right_panel,
  .dxf_trinhxem.dxf-page .layout-3col.app.dxf_trinhxem_panel_collapsed .dxf_trinhxem_right_panel,
  .dxf_trinhxem.dxf-page .layout-3col.app.dxf_trinhxem_left_panel_collapsed .dxf_trinhxem_left_panel {
    order: initial;
    opacity: 1;
    pointer-events: auto;
    transform: none;
    border-width: 1px;
  }

  .dxf_trinhxem.dxf-page .layout-3col .dxf_trinhxem_panel_body,
  .dxf_trinhxem.dxf-page .layout-3col .dxf_trinhxem_side_panel_body {
    height: auto;
    max-height: none;
  }

  .dxf_trinhxem.dxf-page .layout-3col .dxf_trinhxem_viewer {
    min-height: 70vh;
  }
}

.dxf_trinhxem {
  /* =========================================================
         Left panel dùng 2 tab: Layer / Entity
         Property luôn cố định bên phải,
  không tham gia tab.
         ========================================================= */
}

.dxf_trinhxem.dxf-page .layout-3col .dxf_trinhxem_left_panel .dxf_trinhxem_panel-tabs.left-structure-tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 4px;
  margin: 0;
  padding: 4px;
  flex: 0 0 auto;
}

.dxf_trinhxem.dxf-page .layout-3col .dxf_trinhxem_left_panel .dxf_trinhxem_panel-tab-btn {
  min-height: 38px;
  padding: 8px 6px;
  border-radius: 10px;
  gap: 2px;
}

.dxf_trinhxem.dxf-page .layout-3col .dxf_trinhxem_left_panel #tab-layers,
.dxf_trinhxem.dxf-page .layout-3col .dxf_trinhxem_left_panel #tab-entities {
  display: none;
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}

.dxf_trinhxem.dxf-page .layout-3col .dxf_trinhxem_left_panel #tab-layers.active,
.dxf_trinhxem.dxf-page .layout-3col .dxf_trinhxem_left_panel #tab-entities.active {
  display: flex;
  flex-direction: column;
}

.dxf_trinhxem.dxf-page .layout-3col .dxf_trinhxem_right_panel #tab-props {
  display: flex !important;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}

.dxf_trinhxem.dxf-page .layout-3col .dxf_trinhxem_left_panel #tab-layers .group,
.dxf_trinhxem.dxf-page .layout-3col .dxf_trinhxem_left_panel #tab-entities .group {
  flex: 1 1 auto;
  min-height: 0;
}

.dxf_trinhxem.dxf-page .layout-3col .dxf_trinhxem_left_panel #tab-entities .group:first-child {
  flex: 0 0 180px;
}

.dxf_trinhxem {
  /* =========================================================
         FINAL POLISH - Toolbar pro,
  không scrollbar che,
  không nhảy layout
         Panel trái/phải gọn hơn,
  nút collapse có ý nghĩa hơn
         ========================================================= */
}

.dxf_trinhxem.dxf-page .app.layout-3col {
  grid-template-columns: 235px minmax(0, 1fr) 235px !important;
  gap: 8px !important;
}

.dxf_trinhxem {
  /* =========================================================
         Toolbar adaptive AutoCAD style
         - Giữ 1 hàng,
  không scrollbar,
  không xuống dòng tự do
         - Khi thiếu chỗ: rút nhãn các nút phụ theo từng cấp
         ========================================================= */
}

.dxf_trinhxem.dxf-page .toolbar-btn .icon,
.dxf_trinhxem.dxf-page .toolbar-btn .icon-svg,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .file-actions-main .toolbar-btn,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .file-actions-main .compact-btn {
  flex: 0 0 auto;
}

.dxf_trinhxem.dxf-page .toolbar-btn span:not(.icon) {
  display: inline-block;
  overflow: visible;
  text-overflow: unset;
  white-space: normal;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.dxf_trinhxem {
  /* Khi thiếu chỗ: chỉ rút gọn 3 nút theo yêu cầu:
         - Vừa khung: chỉ icon
         - Copy tọa độ: thành Copy
         - Đo 2 điểm: chỉ icon thước
         Các nút khác giữ nguyên,
  không bị co/mất chữ. */
}

.dxf_trinhxem.dxf-page .toolbar.compact-1 #fitBtn,
.dxf_trinhxem.dxf-page .toolbar.compact-1 #measureModeBtn {
  width: 30px;
  min-width: 30px;
  padding: 0;
  gap: 0;
}

.dxf_trinhxem.dxf-page .toolbar.compact-1 #copyCoordBtn span:not(.icon) {
  font-size: 0;
  max-width: 34px;
}

.dxf_trinhxem.dxf-page .toolbar.compact-1 #copyCoordBtn span:not(.icon)::after {
  content: "Copy";
  font-size: 12px;
}

.dxf_trinhxem.dxf-page .floating-panel-toggle {
  z-index: 60;
  top: 50%;
  width: 32px;
  height: 32px;
  min-width: 32px;
  min-height: 32px;
}

.dxf_trinhxem.dxf-page #toggleLeftPanelBtn,
.dxf_trinhxem.dxf-page .floating-panel-toggle.left-toggle {
  left: 4.5px !important;
  right: auto !important;
}

.dxf_trinhxem.dxf-page #togglePanelBtn {
  right: 4.5px !important;
  left: auto !important;
}

.dxf_trinhxem.dxf-page .floating-panel-toggle svg {
  width: 17px;
  height: 17px;
  stroke-width: 2.4;
}

.dxf_trinhxem.dxf-page .canvas-drop-cta {
  background: transparent !important;
  color: #60a5fa !important;
  border: 1px solid rgba(96, 165, 250, 0.45) !important;
  box-shadow: none !important;
}

.dxf_trinhxem.dxf-page .canvas-drop-cta:hover {
  background: rgba(96, 165, 250, 0.1) !important;
  transform: translateY(-1px);
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_right_panel .group-title.split-title {
  min-height: 0;
  margin-bottom: 4px;
}

.dxf_trinhxem.dxf-page .toolbar-btn,
.dxf_trinhxem.dxf-page .dxf_trinhxem_viewer .toolbar-group,
.dxf_trinhxem.dxf-page .dxf_trinhxem_viewer .toolbar-btn {
  align-items: center !important;
}

.dxf_trinhxem.dxf-page .floating-panel-toggle {
  top: 10px !important;
  transform: none !important;
}

.dxf_trinhxem.dxf-page .floating-panel-toggle:hover {
  transform: scale(1.03) !important;
}

.dxf_trinhxem.dxf-page .toolbar .floating-panel-toggle {
  z-index: 30 !important;
}

.dxf_trinhxem {
  /* =========================================================
         Theme dịu hơn: giảm chói nút Chọn file và tab active
         ========================================================= */
}

.dxf_trinhxem.dxf-page #chooseFileBtn.toolbar-btn.primary {
  color: #93c5fd !important;
  border: 1px solid rgba(96, 165, 250, 0.36) !important;
  background: rgba(59, 130, 246, 0.16) !important;
  box-shadow: none !important;
}

.dxf_trinhxem.dxf-page #chooseFileBtn.toolbar-btn.primary:hover {
  color: #bfdbfe !important;
  background: rgba(59, 130, 246, 0.24) !important;
  border-color: rgba(147, 197, 253, 0.48) !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_panel-tab-btn .tab-count {
  font-size: 12px !important;
}

.dxf_trinhxem.dxf-page .toolbar-btn.excel {
  color: #22c55e;
  border-color: rgba(34, 197, 94, 0.22);
  background: rgba(34, 197, 94, 0.1);
}

.dxf_trinhxem.dxf-page .toolbar-btn.excel:hover {
  background: rgba(34, 197, 94, 0.16);
  border-color: rgba(34, 197, 94, 0.34);
}

.dxf_trinhxem {
  /* =========================================================
         FINAL CLEAN UX
         - Panel trái chỉ là danh sách chọn nhanh
         - Chi tiết hình học nằm ở status bar và panel phải
         - Nút file nằm cùng một hàng,
  thống kê file không xuống dòng
         ========================================================= */
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .file-actions-main {
  flex-wrap: nowrap !important;
  align-items: center;
  gap: 6px;
  overflow: hidden;
  min-width: 0;
}

.dxf_trinhxem {
  /* Khi panel trái hẹp: chỉ thu nhỏ riêng nút Xóa,
  không cho xuống dòng/đè nút */
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .file-actions-main.compact-clear #clearBtn {
  width: 30px !important;
  min-width: 30px !important;
  max-width: 30px !important;
  padding: 0 !important;
  gap: 0 !important;
  overflow: hidden;
  font-size: 0 !important;
  align-items: center !important;
  justify-content: center !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .file-actions-main.compact-clear #clearBtn span:not(.icon):not(i) {
  display: inline-flex !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .file-actions-main.compact-clear #clearBtn i {
  margin-right: 0 !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .file-actions-main.compact-clear #clearBtn::before {
  content: none !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .file-sub {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .entity-item {
  padding: 8px 10px;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .entity-type {
  font-size: 12.5px;
  font-weight: 650;
  line-height: 1.25;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .entity-meta {
  margin-top: 3px;
  font-size: 12px;
  line-height: 1.3;
  color: var(--muted);
}

.dxf_trinhxem {
  /* =========================================================
         FINAL FIX - Giữ nút Xóa như cũ,
  chỉ làm nhỏ nút/icon/padding
         ========================================================= */
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .file-actions-main {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 5px !important;
  overflow: hidden !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .file-actions-main .toolbar-btn,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .file-actions-main .compact-btn {
  line-height: 1.2 !important;
  white-space: normal !important;
  flex: 0 0 auto !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .file-actions-main .icon,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .file-actions-main .icon-svg {
  width: 12px !important;
  height: 12px !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
}

.dxf_trinhxem {
  /* Không chuyển Xóa thành icon-only nữa */
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .file-actions-main.compact-clear #clearBtn,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #clearBtn {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  padding: 4px 7px !important;
  gap: 3px !important;
  overflow: visible !important;
  font-size: 12px !important;
  justify-content: center !important;
}

.dxf_trinhxem {
  /* =========================================================
         Layer list compact + controls
         - Chữ vùng danh sách layer nhỏ hơn cho đồng bộ
         - Thêm nút Ẩn tất cả / Hiện tất cả layer
         ========================================================= */
}

.dxf_trinhxem.dxf-page .layer-controls {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  flex: 0 0 auto;
  margin-left: auto;
}

.dxf_trinhxem.dxf-page .layer-list .layer-item {
  padding: 7px 8px !important;
}

.dxf_trinhxem.dxf-page .layer-list .layer-name {
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 1.22 !important;
  letter-spacing: 0.02px !important;
}

.dxf_trinhxem.dxf-page .layer-list .layer-meta {
  margin-top: 3px !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
  color: var(--muted) !important;
  opacity: 0.92;
}

.dxf_trinhxem.dxf-page .layer-list .swatch,
.dxf_trinhxem.dxf-page .swatch {
  width: 11px !important;
  height: 11px !important;
  margin-right: 7px !important;
}

.dxf_trinhxem.dxf-page .layer-list .toggle,
.dxf_trinhxem.dxf-page .toggle {
  width: 26px !important;
  height: 14px !important;
}

.dxf_trinhxem.dxf-page .layer-list .toggle::after,
.dxf_trinhxem.dxf-page .toggle::after {
  width: 10px !important;
  height: 10px !important;
  left: 2px !important;
  top: 2px !important;
}

.dxf_trinhxem.dxf-page .layer-list .toggle:checked::after,
.dxf_trinhxem.dxf-page .toggle:checked::after {
  transform: translateX(12px) !important;
}

.dxf_trinhxem {
  /* =========================================================
         FONT SYSTEM PRO COMPACT - đồng bộ kích thước toàn UI
         Base: 12.5px | Sidebar/List/Tab: 12px | Meta: 11px
         ========================================================= */
}

.dxf_trinhxem.dxf-page {
  --font-base: 12.5px;
  --font-ui: 12px;
  --font-meta: 11px;
  --font-title: 12.5px;
  --font-file: 13px;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .file-actions-main .toolbar-btn,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .file-actions-main .compact-btn {
  min-height: 27px !important;
  height: 27px !important;
  padding: 4px 8px !important;
  border-radius: 8px !important;
  font-size: var(--font-ui) !important;
  gap: 4px !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_panel-tab-btn .tab-label,
.dxf_trinhxem.dxf-page .tab-label {
  font-size: var(--font-ui) !important;
  font-weight: 500 !important;
  line-height: 1.05 !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_panel-tab-btn .tab-count,
.dxf_trinhxem.dxf-page .tab-count {
  font-size: var(--font-ui) !important;
  font-weight: 650 !important;
  line-height: 1.05 !important;
}

.dxf_trinhxem.dxf-page .layer-list .layer-name,
.dxf_trinhxem.dxf-page .layer-name,
.dxf_trinhxem.dxf-page .entity-type,
.dxf_trinhxem.dxf-page .summary-name,
.dxf_trinhxem.dxf-page .statusbar,
.dxf_trinhxem.dxf-page .status-item {
  font-size: var(--font-ui) !important;
}

.dxf_trinhxem.dxf-page .layer-list .layer-meta,
.dxf_trinhxem.dxf-page .layer-meta,
.dxf_trinhxem.dxf-page .entity-meta,
.dxf_trinhxem.dxf-page .summary-meta,
.dxf_trinhxem.dxf-page .help {
  opacity: 0.9;
}

.dxf_trinhxem.dxf-page .prop-key {
  font-size: var(--font-meta) !important;
}

.dxf_trinhxem {
  /* =========================================================
         FINAL PATCH BY CHATGPT - Panel trái cân nút + font dễ đọc
         - Không dùng chữ nhỏ dưới 12px
         - 3 nút Chọn file / Nền tối / Xóa chia đều trong khung
         - Không bị cắt,
  không bị sát icon,
  không bị dư margin lớn
         ========================================================= */
}

.dxf_trinhxem.dxf-page {
  --font-base-final: 13px;
  --font-ui-final: 12px;
  --font-meta-final: 12px;
  --font-title-final: 13px;
  --font-file-final: 13.5px;
}

.dxf_trinhxem.dxf-page,
.dxf_trinhxem.dxf-page {
  font-size: var(--font-base-final) !important;
  line-height: 1.4 !important;
}

.dxf_trinhxem.dxf-page button,
.dxf_trinhxem.dxf-page input,
.dxf_trinhxem.dxf-page .toolbar-btn,
.dxf_trinhxem.dxf-page .compact-action-btn,
.dxf_trinhxem.dxf-page .compact-btn,
.dxf_trinhxem.dxf-page .prop-key,
.dxf_trinhxem.dxf-page .statusbar,
.dxf_trinhxem.dxf-page .status-item {
  font-size: var(--font-ui-final) !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .file-card-top {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  overflow: visible !important;
  align-items: stretch !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .file-actions-main {
  order: 1 !important;
  min-width: 0 !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_viewer .toolbar .toolbar-btn,
.dxf_trinhxem.dxf-page .dxf_trinhxem_viewer .toolbar .toolbar-btn.success,
.dxf_trinhxem.dxf-page .dxf_trinhxem_viewer .toolbar .toolbar-btn.warning,
.dxf_trinhxem.dxf-page .dxf_trinhxem_viewer .toolbar .toolbar-btn.excel {
  width: auto !important;
  max-width: none !important;
  height: 28px !important;
  min-height: 28px !important;
  padding: 4px 8px !important;
  border-radius: 9px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  box-sizing: border-box !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_viewer .toolbar .toolbar-btn .icon,
.dxf_trinhxem.dxf-page .dxf_trinhxem_viewer .toolbar .toolbar-btn .icon-svg {
  width: 14px !important;
  height: 14px !important;
  min-width: 14px !important;
  font-size: 14px !important;
  line-height: 0.6 !important;
  margin: 0 !important;
  flex: 0 0 auto !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_viewer .toolbar .toolbar-btn span {
  display: inline-block !important;
  min-width: 0 !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: nowrap !important;
  line-height: 1.2 !important;
  margin: 0 !important;
}

.dxf_trinhxem.dxf-page #measureModeBtn .icon {
  margin-right: 6px !important;
}

.dxf_trinhxem {
  /* Footer của Sidebar (Phần Admin/Quản trị) */
}

.dxf_trinhxem .side-panel-footer,
.dxf_trinhxem .profile-element {
  padding: 10px 15px !important;
  margin-top: auto !important;
  border-top: 1px solid var(--border);
  background: var(--panel-3);
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  min-height: 45px;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_side_panel_body {
  padding-bottom: 0 !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .file-actions-main.compact-clear #clearBtn {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  padding: 4px 5px !important;
  font-size: var(--font-ui-final) !important;
  gap: 5px !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .file-card-left {
  order: 2 !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

.dxf_trinhxem.dxf-page .file-name,
.dxf_trinhxem.dxf-page .layout-3col .dxf_trinhxem_left_panel .file-name {
  font-size: var(--font-file-final) !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
  margin-top: 2px !important;
  letter-spacing: 0.05px !important;
  color: var(--text) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.dxf_trinhxem.dxf-page .file-sub,
.dxf_trinhxem.dxf-page .layout-3col .dxf_trinhxem_left_panel .file-sub {
  font-size: var(--font-meta-final) !important;
  line-height: 1.35 !important;
  color: var(--muted) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  opacity: 0.95 !important;
}

.dxf_trinhxem.dxf-page .group-title {
  font-size: var(--font-title-final) !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_panel-tab-btn,
.dxf_trinhxem.dxf-page .layout-3col .dxf_trinhxem_left_panel .dxf_trinhxem_panel-tab-btn {
  min-height: 38px !important;
  padding: 5px 7px !important;
  font-size: var(--font-ui-final) !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_panel-tab-btn .tab-label,
.dxf_trinhxem.dxf-page .tab-label,
.dxf_trinhxem.dxf-page .dxf_trinhxem_panel-tab-btn .tab-count,
.dxf_trinhxem.dxf-page .tab-count {
  font-size: var(--font-ui-final) !important;
  line-height: 1.08 !important;
}

.dxf_trinhxem.dxf-page .layer-list .layer-item,
.dxf_trinhxem.dxf-page .entity-item,
.dxf_trinhxem.dxf-page .summary-item {
  padding: 8px 9px !important;
}

.dxf_trinhxem.dxf-page .layer-list .layer-name,
.dxf_trinhxem.dxf-page .layer-name,
.dxf_trinhxem.dxf-page .entity-type,
.dxf_trinhxem.dxf-page .summary-name {
  font-weight: 500 !important;
  line-height: 1.25 !important;
  letter-spacing: 0.02px !important;
}

.dxf_trinhxem.dxf-page .layer-list .layer-meta,
.dxf_trinhxem.dxf-page .layer-meta,
.dxf_trinhxem.dxf-page .entity-meta,
.dxf_trinhxem.dxf-page .summary-meta,
.dxf_trinhxem.dxf-page .help {
  font-size: var(--font-meta-final) !important;
  line-height: 1.35 !important;
  color: var(--muted) !important;
  opacity: 0.92 !important;
}

.dxf_trinhxem.dxf-page .input,
.dxf_trinhxem.dxf-page .compact-input {
  min-height: 30px !important;
  padding: 6px 9px !important;
  font-size: var(--font-ui-final) !important;
}

.dxf_trinhxem.dxf-page .prop-val {
  font-size: 12.5px !important;
  font-weight: 500 !important;
}

.dxf_trinhxem.dxf-page .toolbar-btn .icon-svg,
.dxf_trinhxem.dxf-page .icon-svg,
.dxf_trinhxem.dxf-page .toolbar-btn.primary .icon-svg,
.dxf_trinhxem.dxf-page .toolbar-btn.success .icon-svg,
.dxf_trinhxem.dxf-page .toolbar-btn.warning .icon-svg {
  width: 14px !important;
  height: 14px !important;
}

.dxf_trinhxem {
  /* =========================================================
         FINAL USER PATCH - File action buttons giống mẫu
         - Bỏ kiểu chia cột làm nút cứng
         - Chọn file nổi màu xanh
         - Nền tối / Xóa là nút outline gọn
         - Icon cách chữ đều,
  không bị cắt,
  không bị vòng thừa
         ========================================================= */
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .file-card-top {
  padding: 8px 2px !important;
  gap: 8px !important;
  overflow: visible !important;
  margin-bottom: 0 !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .file-actions-main .toolbar-btn,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .file-actions-main .compact-action-btn,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .file-actions-main .compact-btn,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #chooseFileBtn,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #themeBtn,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #clearBtn {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 30px !important;
  min-height: 30px !important;
  padding: 0 9px !important;
  border-radius: 9px !important;
  display: inline-flex !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
  flex: 0 0 auto !important;
  box-sizing: border-box !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #chooseFileBtn,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #chooseFileBtn.toolbar-btn.primary {
  color: #3b82f6 !important;
  border: 1px solid rgba(59, 130, 246, 0.4) !important;
  background: rgba(59, 130, 246, 0.05) !important;
  box-shadow: none !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #chooseFileBtn:hover,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #chooseFileBtn.toolbar-btn.primary:hover {
  background: rgba(59, 130, 246, 0.15) !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .file-actions-main .toolbar-btn span,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .file-actions-main .compact-btn span,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #chooseFileBtn span,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #themeBtn span,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #clearBtn span {
  display: inline-flex !important;
  align-items: center !important;
  min-width: 0 !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: nowrap !important;
  line-height: 1.2 !important;
  margin: 0 !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .file-actions-main .icon,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .file-actions-main .icon-svg,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #chooseFileBtn .icon,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #themeBtn .icon,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #clearBtn .icon {
  width: 12px !important;
  height: 12px !important;
  min-width: 12px !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  margin: 0 !important;
  flex: 0 0 auto !important;
}

.dxf_trinhxem {
  /* Khi panel rất hẹp vẫn giữ nút đẹp,
  chỉ giảm nhẹ padding */
}

@media (max-width: 1280px) {
  .dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .file-actions-main {
    gap: 7px !important;
  }

  .dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #chooseFileBtn,
  .dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #themeBtn,
  .dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #clearBtn {
    height: 31px !important;
    min-height: 31px !important;
    padding: 0 9px !important;
    font-size: 12px !important;
  }
}

.dxf_trinhxem {
  /* =========================================================
         FIX AN TOÀN - Căn nút panel trái cố định + đồng bộ 2 nút Chọn file
         Ghi đè ở cuối CSS,
  không đụng JS/export Excel
         ========================================================= */
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .file-card-top {
  padding: 4px 10px 4px 10px !important;
  margin: 0 !important;
  gap: 8px !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #chooseFileBtn,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #themeBtn,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #clearBtn {
  padding: 0 8px !important;
  border-radius: 9px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
  text-overflow: clip !important;
  font-size: 12px !important;
  font-weight: 750 !important;
  letter-spacing: 0.02px !important;
  box-shadow: none !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #chooseFileBtn span,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #themeBtn span,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #clearBtn span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 0 !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  line-height: 1.2 !important;
  margin: 0 !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #clearBtn .icon {
  width: 10px !important;
  height: 10px !important;
  min-width: 10px !important;
  font-size: 12px !important;
  line-height: 10px !important;
  margin: 0 !important;
  flex: 0 0 auto !important;
}

.dxf_trinhxem {
  /* 2 nút Chọn file dùng chung màu xanh outline giống nhau */
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #chooseFileBtn,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #chooseFileBtn.toolbar-btn.primary,
.dxf_trinhxem.dxf-page .canvas-drop-cta {
  color: #60a5fa !important;
  background: rgba(96, 165, 250, 0.08) !important;
  border: 1px solid rgba(96, 165, 250, 0.45) !important;
  box-shadow: inset 0 0 0 1px rgba(96, 165, 250, 0.05) !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #chooseFileBtn:hover,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #chooseFileBtn.toolbar-btn.primary:hover,
.dxf_trinhxem.dxf-page .canvas-drop-cta:hover {
  color: #93c5fd !important;
  background: rgba(96, 165, 250, 0.14) !important;
  border-color: rgba(147, 197, 253, 0.6) !important;
  box-shadow: 0 0 0 3px rgba(96, 165, 250, 0.12) !important;
  transform: translateY(-1px) !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #chooseFileBtn:active,
.dxf_trinhxem.dxf-page .canvas-drop-cta:active {
  transform: translateY(0) !important;
  box-shadow: inset 0 0 0 2px rgba(96, 165, 250, 0.22) !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #themeBtn {
  color: #e7f0ff !important;
  border: 1px solid rgba(96, 165, 250, 0.28) !important;
  background: rgba(18, 32, 58, 0.92) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035) !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #themeBtn:hover {
  color: #ffffff !important;
  background: rgba(30, 48, 82, 0.96) !important;
  border-color: rgba(147, 197, 253, 0.42) !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #clearBtn {
  color: #fecaca !important;
  border: 1px solid rgba(248, 113, 113, 0.34) !important;
  background: rgba(127, 29, 29, 0.16) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.025) !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #clearBtn:hover {
  color: #ffffff !important;
  background: rgba(185, 28, 28, 0.24) !important;
  border-color: rgba(252, 165, 165, 0.48) !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #searchInput {
  height: 34px !important;
  min-height: 34px !important;
  padding: 7px 10px !important;
  border-radius: 10px !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .left-structure-tabs,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .group-title.split-title {
  width: 100% !important;
  box-sizing: border-box !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .list-wrap.layer-list-wrap {
  margin: 8px 0 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
  overflow: auto !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .group-title.split-title {
  margin: 0 !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .list-wrap.layer-list-wrap {
  margin-top: 8px !important;
}

@media (max-width: 1280px) {
  .dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .file-actions-main {
    grid-template-columns: 1.1fr 0.9fr 0.7fr !important;
    gap: 7px !important;
  }

  .dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #chooseFileBtn,
  .dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #themeBtn,
  .dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #clearBtn {
    height: 31px !important;
    min-height: 31px !important;
    padding: 0 7px !important;
    font-size: 12px !important;
  }
}

.dxf_trinhxem {
  /* =========================================================
         FINAL LEFT PANEL LOCK + COMPACT PADDING
         Giữ nguyên font/màu chữ hiện tại,
  chỉ khóa kích thước và canh lề.
         ========================================================= */
}

.dxf_trinhxem.dxf-page {
  --dxf_trinhxem_left_panel-w-final: 235px;
  --dxf_trinhxem_right_panel-w-final: 235px;
  --app-gap-final: 8px;
  --left-inner-pad-final: 5px;
}

.dxf_trinhxem.dxf-page .app.layout-3col {
  grid-template-columns: var(--dxf_trinhxem_left_panel-w-final) minmax(0, 1fr) var(--dxf_trinhxem_right_panel-w-final) !important;
}

.dxf_trinhxem.dxf-page .layout-3col.app.dxf_trinhxem_panel_collapsed {
  grid-template-columns: var(--dxf_trinhxem_left_panel-w-final) minmax(0, 1fr) 0 !important;
}

.dxf_trinhxem.dxf-page .layout-3col.app.dxf_trinhxem_left_panel_collapsed.dxf_trinhxem_panel_collapsed {
  grid-template-columns: 0 minmax(0, 1fr) 0 !important;
}

.dxf_trinhxem.dxf-page .layout-3col .dxf_trinhxem_left_panel {
  width: var(--dxf_trinhxem_left_panel-w-final) !important;
  min-width: var(--dxf_trinhxem_left_panel-w-final) !important;
  max-width: var(--dxf_trinhxem_left_panel-w-final) !important;
  flex: 0 0 var(--dxf_trinhxem_left_panel-w-final) !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .file-card-top {
  gap: 6px !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .file-actions-main {
  grid-template-columns: 1.08fr 0.92fr 0.72fr !important;
  overflow: hidden !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #chooseFileBtn,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #themeBtn,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #clearBtn {
  height: 30px !important;
  min-height: 30px !important;
  padding-left: 6px !important;
  padding-right: 6px !important;
  overflow: hidden !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #searchInput {
  padding-left: 8px !important;
  padding-right: 8px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .group {
  padding: 6px !important;
  margin-top: 6px !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .layer-controls {
  gap: 3px !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .list-wrap,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .layer-list-wrap {
  width: 100% !important;
  min-width: 0 !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .layer-row,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .summary-row,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .layer-row>div,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .summary-row>div,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #tab-layers,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #tab-entities {
  min-width: 0 !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel button,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel input {
  box-sizing: border-box !important;
}

@media (max-width: 1280px) {
  .dxf_trinhxem.dxf-page .app.layout-3col {
    grid-template-columns: var(--dxf_trinhxem_left_panel-w-final) minmax(0, 1fr) 225px !important;
  }

  .dxf_trinhxem.dxf-page .layout-3col.app.dxf_trinhxem_left_panel_collapsed {
    grid-template-columns: 0 minmax(0, 1fr) 225px !important;
  }

  .dxf_trinhxem.dxf-page .layout-3col.app.dxf_trinhxem_panel_collapsed {
    grid-template-columns: var(--dxf_trinhxem_left_panel-w-final) minmax(0, 1fr) 0 !important;
  }
}

.dxf_trinhxem {
  /* =========================================================
         AUTOCAD UX PATCH - left panel fixed,
  compact padding,
  one toggle all
         Giữ nguyên font/màu chữ hiện có,
  chỉ chỉnh layout/padding.
         ========================================================= */
}

.dxf_trinhxem.dxf-page .app.layout-3col {
  grid-template-columns: 235px minmax(0, 1fr) 235px !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel {
  width: 275px !important;
  min-width: 275px !important;
  max-width: 275px !important;
  flex: 0 0 275px !important;
  overflow: hidden !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .layer-controls {
  margin-left: auto !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .layer-list-wrap {
  margin-top: 0 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .layer-list,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .layer-list-full {
  scrollbar-gutter: stable !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .layer-list .layer-item {
  padding: 9px 9px !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .layer-list .layer-row {
  align-items: center !important;
  gap: 8px !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .layer-list .layer-name {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.dxf_trinhxem.dxf-page .autocad-toggle-all {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 26px;
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.35);
  cursor: pointer;
  user-select: none;
}

.dxf_trinhxem.dxf-page .autocad-toggle-all input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.dxf_trinhxem.dxf-page .autocad-toggle-track {
  position: relative;
  display: inline-block;
  width: 26px;
  height: 14px;
  border-radius: 999px;
  background: rgba(71, 85, 105, 0.6);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.07);
  flex: 0 0 auto;
  transition: background 0.18s ease, box-shadow 0.18s ease;
}

.dxf_trinhxem.dxf-page .autocad-toggle-thumb {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #94a3b8;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
  transition: transform 0.18s ease, background 0.18s ease;
}

.dxf_trinhxem.dxf-page .autocad-toggle-all input:checked+.autocad-toggle-track {
  background: linear-gradient(135deg, rgba(93, 163, 153, 0.85), rgba(74, 130, 122, 0.85));
  box-shadow: 0 0 0 3px rgba(93, 163, 153, 0.1), inset 0 0 0 1px rgba(255, 255, 255, 0.1);
}

.dxf_trinhxem.dxf-page .autocad-toggle-all input:checked+.autocad-toggle-track .autocad-toggle-thumb {
  transform: translateX(12px);
  background: #cbd5e1;
}

.dxf_trinhxem.dxf-page .autocad-toggle-all input:indeterminate+.autocad-toggle-track {
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.9), rgba(217, 119, 6, 0.9));
}

.dxf_trinhxem.dxf-page .autocad-toggle-all input:indeterminate+.autocad-toggle-track .autocad-toggle-thumb {
  transform: translateX(6px);
  background: #fff7ed;
}

.dxf_trinhxem.dxf-page .autocad-toggle-text {
  font-size: 11px;
  font-weight: 500;
  line-height: 1.2 !important;
  white-space: nowrap;
}

.dxf_trinhxem.dxf-page .autocad-toggle-all:hover {
  border-color: rgba(147, 197, 253, 0.42);
  background: rgba(30, 41, 59, 0.55);
}

.dxf_trinhxem.dxf-page {
  --dxf_trinhxem_left_panel-w-final: 235px;
  --left-pad-even: 10px;
  --left-gap-even: 10px;
  --left-radius-even: 12px;
}

.dxf_trinhxem.dxf-page .app.layout-3col {
  grid-template-columns: var(--dxf_trinhxem_left_panel-w-final) minmax(0, 1fr) var(--dxf_trinhxem_right_panel-w-final) !important;
}

.dxf_trinhxem.dxf-page .layout-3col.app.dxf_trinhxem_left_panel_collapsed {
  grid-template-columns: 0 minmax(0, 1fr) 235px !important;
}

.dxf_trinhxem.dxf-page .layout-3col .dxf_trinhxem_left_panel,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel {
  width: var(--dxf_trinhxem_left_panel-w-final) !important;
  min-width: var(--dxf_trinhxem_left_panel-w-final) !important;
  max-width: var(--dxf_trinhxem_left_panel-w-final) !important;
  flex: 0 0 var(--dxf_trinhxem_left_panel-w-final) !important;
  overflow: hidden !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .dxf_trinhxem_panel_body,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .dxf_trinhxem_side_panel_body {
  padding: var(--left-pad-even) !important;
  gap: var(--left-gap-even) !important;
  box-sizing: border-box !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .file-card-top,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #searchInput,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .dxf_trinhxem_panel-tabs.left-structure-tabs,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #tab-layers,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #tab-entities,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .list-wrap,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .layer-list-wrap {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .file-card-top {
  padding: 0 !important;
  margin: 0 !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .file-card-top.no-file {
  gap: 0 !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .file-actions-main {
  width: 100% !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
  padding: 0 !important;
  margin: 0 !important;
  align-items: center !important;
  justify-content: flex-start !important;
  box-sizing: border-box !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  scrollbar-width: thin !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .file-actions-main::-webkit-scrollbar {
  height: 6px;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .file-actions-main::-webkit-scrollbar-thumb {
  background: rgba(148, 163, 184, 0.6);
  border-radius: 999px;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #chooseFileBtn,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #themeBtn {
  flex: 1 1 0 !important;
  width: auto !important;
  min-width: max-content !important;
  max-width: none !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #clearBtn {
  flex: 1 1 0 !important;
  width: auto !important;
  min-width: 32px !important;
  max-width: none !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  white-space: nowrap !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #searchInput {
  margin: 0 !important;
  display: block !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .dxf_trinhxem_panel-tabs.left-structure-tabs {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  margin: 0 !important;
  padding: 4px !important;
  gap: 4px !important;
  box-sizing: border-box !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .dxf_trinhxem_panel-tabs.left-structure-tabs .dxf_trinhxem_panel-tab-btn {
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  gap: 2px !important;
  justify-content: center !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #tab-layers.active,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #tab-entities.active {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  min-height: 0 !important;
  gap: 8px !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #tab-layers .group-title.split-title {
  width: 100% !important;
  margin: 0 !important;
  padding: 0px 9px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  box-sizing: border-box !important;
  border-bottom: 1px solid var(--border) !important;
}

/* Entity tab: cùng style với Layer tab */
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #tab-entities .group-title.split-title {
  width: 100% !important;
  margin: 0 !important;
  padding: 6.5px 9px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  box-sizing: border-box !important;
  border-bottom: 1px solid var(--border) !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #tab-layers>.group-title.split-title>span:first-child {
  min-width: 0 !important;
  flex: 1 1 auto !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .layer-controls {
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .autocad-toggle-all {
  margin: 0 !important;
  box-sizing: border-box !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .layer-list-wrap,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #tab-layers .layer-list-wrap,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .list-wrap.layer-list-wrap {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  border-radius: var(--left-radius-even) !important;
  overflow: auto !important;
  box-sizing: border-box !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .layer-list,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .layer-list-full {
  height: 100% !important;
  min-height: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .group {
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}

/* ===== TOOLBAR-GROUPS: khai báo chính (đã gộp từ 4 nơi) ===== */
.dxf_trinhxem.dxf-page .toolbar-groups {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 14px;
  width: 100%;
  min-width: 0;
  min-height: 40px;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 2px 8px 6px 8px;
  scrollbar-width: thin;
  scrollbar-color: rgba(120, 145, 190, 0.45) transparent;
  scrollbar-gutter: stable both-edges;
}

.dxf_trinhxem.dxf-page .toolbar-groups::-webkit-scrollbar {
  display: block;
  height: 6px;
}

.dxf_trinhxem.dxf-page .toolbar-groups::-webkit-scrollbar-track {
  background: transparent;
}

.dxf_trinhxem.dxf-page .toolbar-groups::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: rgba(120, 145, 190, 0.45);
}

.dxf_trinhxem.dxf-page .toolbar-group {
  display: inline-flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  gap: 6px !important;
  min-height: 34px !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

.dxf_trinhxem.dxf-page .toolbar-group:not(:last-child)::after {
  content: "" !important;
  width: 1px !important;
  height: 24px !important;
  margin-left: 8px !important;
  background: rgba(120, 145, 190, 0.28) !important;
  flex: 0 0 auto !important;
}

.dxf_trinhxem.dxf-page .toolbar-btn {
  min-height: 30px;
  border-radius: 10px;
  transition: width 0.16s ease, padding 0.16s ease, gap 0.16s ease, background 0.16s ease;
  line-height: 1.15 !important;
  flex: 0 0 auto !important;
  min-width: max-content !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: unset !important;
}

.dxf_trinhxem.dxf-page .toolbar-btn span,
.dxf_trinhxem.dxf-page .toolbar-btn span:not(.icon) {
  display: inline-flex !important;
  align-items: center !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: unset !important;
  max-width: none !important;
  font-size: inherit !important;
}

.dxf_trinhxem.dxf-page .toolbar-btn .icon,
.dxf_trinhxem.dxf-page .toolbar-btn .icon-svg {
  flex: 0 0 auto !important;
}

.dxf_trinhxem {
  /* Tắt mọi kiểu compact cũ để không mất chữ các nút */
}

.dxf_trinhxem.dxf-page .toolbar.compact-1 #fitBtn,
.dxf_trinhxem.dxf-page .toolbar.compact-1 #measureModeBtn,
.dxf_trinhxem.dxf-page .toolbar.compact-1 #copyCoordBtn {
  width: auto !important;
  min-width: max-content !important;
  padding: 5px 9px !important;
  gap: 4px !important;
  font-size: var(--font-ui-final, 12px) !important;
}

.dxf_trinhxem.dxf-page .toolbar.compact-1 #fitBtn span,
.dxf_trinhxem.dxf-page .toolbar.compact-1 #measureModeBtn span:not(.icon),
.dxf_trinhxem.dxf-page .toolbar.compact-1 #copyCoordBtn span:not(.icon) {
  display: inline-flex !important;
  font-size: inherit !important;
  max-width: none !important;
}

.dxf_trinhxem {
  /* Riêng phóng to / thu nhỏ chỉ để biểu tượng */
}

.dxf_trinhxem.dxf-page #zoomInBtn,
.dxf_trinhxem.dxf-page #zoomOutBtn {
  width: 32px !important;
  min-width: 32px !important;
  max-width: 32px !important;
  padding: 0 !important;
  justify-content: center !important;
  gap: 0 !important;
}

.dxf_trinhxem.dxf-page #zoomInBtn .icon-svg,
.dxf_trinhxem.dxf-page #zoomOutBtn .icon-svg {
  width: 18px !important;
  height: 18px !important;
}

.dxf_trinhxem {
  /* =========================================================
         CAD COLOR STANDARD PATCH
         - Màu DXF phân biệt BYLAYER/BYBLOCK/ACI/TrueColor
         - Panel thuộc tính hiển thị swatch + mã màu rõ ràng
         ========================================================= */
}

.dxf_trinhxem.dxf-page .prop-grid {
  grid-template-columns: auto minmax(0, 1fr) !important;
  gap: 7px 9px !important;
  align-content: start !important;
}

.dxf_trinhxem.dxf-page .prop-section {
  grid-column: 1/-1;
  margin: 8px 0 2px;
  padding: 5px 8px;
  border: 1px solid rgba(96, 165, 250, 0.22);
  border-radius: 8px;
  background: rgba(59, 130, 246, 0.1);
  color: #93c5fd;
  font-weight: 500;
  font-size: 12px;
  line-height: 1.2 !important;
}

.dxf_trinhxem.dxf-page .prop-section:first-child {
  margin-top: 0;
}

.dxf_trinhxem.dxf-page .prop-val.with-color {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
}

.dxf_trinhxem.dxf-page .cad-color-swatch {
  width: 13px;
  height: 13px;
  min-width: 13px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.55);
  box-shadow: 0 0 0 2px rgba(15, 23, 42, 0.18);
  display: inline-block;
}

.dxf_trinhxem.dxf-page .cad-color-text {
  overflow-wrap: anywhere;
  word-break: break-word;
  font-family: "Inter", "Segoe UI Variable", "Segoe UI", Arial, sans-serif;
}

.dxf_trinhxem.dxf-page .cad-color-source {
  color: var(--muted);
  font-size: 12px;
  font-weight: 650;
}

.dxf_trinhxem {
  /* =========================================================
         FINAL UI COLOR SYSTEM - Đồng bộ màu toàn bộ ứng dụng
         Mục tiêu: 1 hệ màu CAD/GIS,
  giảm chói,
  không chia mảnh UI
         ========================================================= */
}

.dxf_trinhxem.dxf-page {
  --bg: #edf2ff;
  --panel: rgba(255, 255, 255, .96);
  --panel-2: #ffffff;
  --panel-3: #f7faff;
  --surface: #ffffff;
  --surface-soft: #f8fbff;
  --surface-active: rgba(37, 99, 235, .12);
  --surface-hover: rgba(37, 99, 235, .06);
  --border: #d9e4f2;
  --border-strong: #bfd0e7;
  --text: #132033;
  --muted: #66758b;
  --primary: #2563eb;
  --primary-2: #1d4ed8;
  --accent: #0ea5e9;
  --danger: #ef4444;
  --warning: #f59e0b;
  --success: #16a34a;
  --shadow: 0 14px 40px rgba(15, 23, 42, .10);
  --canvas-bg: #ffffff;
  --grid: rgba(15, 23, 42, .055);
  --overlay: rgba(15, 23, 42, .82);
  --list-hover: var(--surface-hover);
  --list-active: var(--surface-active);
  --crosshair: rgba(37, 99, 235, .35);
  --minimap-bg: rgba(255, 255, 255, .92);
  --minimap-border: rgba(15, 23, 42, .15);
  --toolbar-bg: rgba(255, 255, 255, .88);
  --toolbar-group: #f8fbff;
  --toolbar-btn: #ffffff;
  --toolbar-btn-border: #d7e1ef;
  --drop-overlay: rgba(255, 255, 255, .72);
  --drop-box: rgba(255, 255, 255, .96);
}

.dxf_trinhxem.dxf-page.dark {
  --bg: #080f1c;
  --panel: #0b1526;
  --panel-2: #0f1b2d;
  --panel-3: #0f1b2d;
  --surface: #0f1b2d;
  --surface-soft: #111f34;
  --surface-active: rgba(96, 165, 250, .16);
  --surface-hover: rgba(255, 255, 255, .045);
  --border: #243552;
  --border-strong: #315078;
  --text: #d9e6f8;
  --muted: #9caec7;
  --primary: #5da399;
  --primary-2: #4a827a;
  --accent: #22d3ee;
  --danger: #f87171;
  --warning: #fbbf24;
  --success: #34d399;
  --shadow: 0 18px 48px rgba(0, 0, 0, .38);
  --canvas-bg: #0b1526;
  --grid: rgba(148, 163, 184, .13);
  --overlay: rgba(3, 7, 18, .86);
  --list-hover: var(--surface-hover);
  --list-active: var(--surface-active);
  --crosshair: rgba(148, 163, 184, .18);
  --minimap-bg: rgba(7, 14, 27, .90);
  --minimap-border: rgba(148, 163, 184, .22);
  --toolbar-bg: #0b1526;
  --toolbar-group: #111f34;
  --toolbar-btn: #13233a;
  --toolbar-btn-border: #2a4163;
  --drop-overlay: rgba(3, 7, 18, .48);
  --drop-box: rgba(11, 21, 38, .95);
}

.dxf_trinhxem.dxf-page,
.dxf_trinhxem.dxf-page {
  background: var(--bg) !important;
  color: var(--text) !important;
}

.dxf_trinhxem.dxf-page .app {
  background: radial-gradient(circle at top left, rgba(96, 165, 250, 0.08), transparent 30%), var(--bg) !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_panel,
.dxf_trinhxem.dxf-page .dxf_trinhxem_viewer {
  background: var(--panel) !important;
  border-color: var(--border) !important;
  box-shadow: var(--shadow) !important;
}

.dxf_trinhxem.dxf-page .group,
.dxf_trinhxem.dxf-page .list-wrap,
.dxf_trinhxem.dxf-page .dxf_trinhxem_panel-tabs,
.dxf_trinhxem.dxf-page .status-item,
.dxf_trinhxem.dxf-page .input,
.dxf_trinhxem.dxf-page .compact-input,
.dxf_trinhxem.dxf-page .layer-list-wrap {
  background: var(--surface) !important;
  border-color: var(--border) !important;
  color: var(--text) !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #searchInput,
.dxf_trinhxem.dxf-page #searchInput {
  background: var(--surface) !important;
  border: 1px solid var(--border) !important;
  color: var(--text) !important;
  box-shadow: none !important;
}

.dxf_trinhxem.dxf-page #searchInput::placeholder,
.dxf_trinhxem.dxf-page .input::placeholder,
.dxf_trinhxem.dxf-page .compact-input::placeholder {
  color: var(--muted) !important;
  opacity: 0.85 !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .dxf_trinhxem_panel-tabs,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .left-structure-tabs {
  background: var(--surface) !important;
  border-color: var(--border) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03) !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_panel-tab-btn {
  color: var(--muted) !important;
  background: transparent !important;
  border-color: transparent !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_panel-tab-btn:hover {
  color: var(--text) !important;
  background: var(--surface-hover) !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_panel-tab-btn.active {
  color: #dbeafe !important;
  background: var(--surface-active) !important;
  border: 1px solid var(--border-strong) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05), 0 0 0 1px rgba(96, 165, 250, 0.06) !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_panel-tab-btn.active .tab-label {
  color: #dbeafe !important;
}

.dxf_trinhxem.dxf-page .tab-count {
  color: var(--success) !important;
  font-size: 12px !important;
  font-weight: 300 !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_panel-tab-btn.active .tab-count {
  color: var(--warning) !important;
}

.dxf_trinhxem.dxf-page .layer-list,
.dxf_trinhxem.dxf-page .entity-list,
.dxf_trinhxem.dxf-page .summary-list {
  background: var(--surface) !important;
  color: var(--text) !important;
}

.dxf_trinhxem.dxf-page .layer-item,
.dxf_trinhxem.dxf-page .entity-item,
.dxf_trinhxem.dxf-page .summary-item {
  background: transparent !important;
  border-bottom-color: var(--border) !important;
}

.dxf_trinhxem.dxf-page .layer-item:hover,
.dxf_trinhxem.dxf-page .entity-item:hover,
.dxf_trinhxem.dxf-page .summary-item:hover {
  background: var(--surface-hover) !important;
}

.dxf_trinhxem.dxf-page .entity-item.active,
.dxf_trinhxem.dxf-page .layer-item.active,
.dxf_trinhxem.dxf-page .summary-item.active {
  background: var(--surface-active) !important;
}

.dxf_trinhxem {
  /* [MOVED TO CORE] */
}

.dxf_trinhxem.dxf-page #chooseFileBtn>.icon-svg {
  color: #fbbf24 !important;
  filter: drop-shadow(0 0 2px rgba(251, 191, 36, 0.3));
}

.dxf_trinhxem {
  /* [MOVED TO CORE] */
}

.dxf_trinhxem.dxf-page #fitBtn svg {
  stroke: #34d399 !important;
  fill: none !important;
  stroke-width: 2 !important;
}

.dxf_trinhxem {
  /* [MOVED TO CORE] */
}

.dxf_trinhxem.dxf-page #themeBtn {
  color: #d8b4fe !important;
  background: rgba(168, 85, 247, 0.1) !important;
  border-color: rgba(168, 85, 247, 0.3) !important;
}

.dxf_trinhxem.dxf-page #clearBtn {
  color: #ef4444 !important;
  background: rgba(239, 68, 68, 0.06) !important;
  border-color: rgba(239, 68, 68, 0.35) !important;
}

.dxf_trinhxem.dxf-page #clearBtn i {
  color: #ef4444 !important;
}

.dxf_trinhxem.dxf-page #clearBtn:hover {
  background: rgba(239, 68, 68, 0.12) !important;
  border-color: rgba(239, 68, 68, 0.5) !important;
}

.dxf_trinhxem.dxf-page .canvas-wrap,
.dxf_trinhxem.dxf-page canvas {
  background: var(--canvas-bg) !important;
}

.dxf_trinhxem.dxf-page .overlay {
  background: var(--overlay) !important;
  color: #fff !important;
}

.dxf_trinhxem.dxf-page .minimap {
  background: var(--minimap-bg) !important;
  border-color: var(--minimap-border) !important;
}

.dxf_trinhxem.dxf-page .statusbar {
  background: var(--panel) !important;
  border-top-color: var(--border) !important;
}

.dxf_trinhxem.dxf-page .status-item {
  background: var(--surface) !important;
  border-color: var(--border) !important;
  color: var(--muted) !important;
}

.dxf_trinhxem.dxf-page .status-item b,
.dxf_trinhxem.dxf-page .status-item span,
.dxf_trinhxem.dxf-page .file-name,
.dxf_trinhxem.dxf-page .group-title,
.dxf_trinhxem.dxf-page .layer-name,
.dxf_trinhxem.dxf-page .entity-type,
.dxf_trinhxem.dxf-page .summary-name,
.dxf_trinhxem.dxf-page .prop-val {
  color: var(--text) !important;
}

.dxf_trinhxem.dxf-page .file-sub,
.dxf_trinhxem.dxf-page .help,
.dxf_trinhxem.dxf-page .entity-meta,
.dxf_trinhxem.dxf-page .layer-meta,
.dxf_trinhxem.dxf-page .summary-meta,
.dxf_trinhxem.dxf-page .prop-key {
  color: var(--muted) !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_right_panel .group {
  background: transparent !important;
  border-color: transparent !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_right_panel .group-title.split-title {
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: 100% !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_right_panel .dxf_trinhxem_panel_body {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.dxf_trinhxem.dxf-page .swatch {
  border: 1px solid rgba(255, 255, 255, 0.32) !important;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.18) !important;
}

.dxf_trinhxem.dxf-page .toggle {
  background: #334155 !important;
}

.dxf_trinhxem.dxf-page .toggle:checked {
  background: var(--primary) !important;
}

.dxf_trinhxem.dxf-page .canvas-drop-box {
  background: var(--drop-box) !important;
  border-color: var(--primary) !important;
  color: var(--text) !important;
}

.dxf_trinhxem.dxf-page .canvas-drop-overlay {
  background: var(--drop-overlay) !important;
}

.dxf_trinhxem.dxf-page .error {
  color: #fecaca !important;
  background: rgba(239, 68, 68, 0.1) !important;
  border-color: rgba(248, 113, 113, 0.28) !important;
}

.dxf_trinhxem {
  /* Làm sáng và rõ thông tin người dùng ở Sidebar Top */
}

.dxf_trinhxem.dxf-page #id_navigation_left_tennguoidung {
  color: #fff !important;
  font-size: 13.5px !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

.dxf_trinhxem.dxf-page #id_navigation_left_quyentruycap {
  color: #94a3b8 !important;
  /* Brighter than default text-muted */
  font-size: 12px !important;
}

.dxf_trinhxem.dxf-page .profile-element .text-muted {
  color: #94a3b8 !important;
}

.dxf_trinhxem {
  /* CSS riêng biệt cho Popup thông báo của DXF để tránh bị to/chói */
}

.dxf_trinhxem .dxf-swal-popup {
  border-radius: 16px !important;
  padding: 20px !important;
  font-family: "Inter", sans-serif !important;
}

.dxf_trinhxem .dxf-swal-title {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #ef4444 !important;
  margin-bottom: 8px !important;
  font-family: "Inter", sans-serif !important;
}

.dxf_trinhxem .dxf-swal-html {
  font-size: 13px !important;
  color: #475569 !important;
  line-height: 1.5 !important;
  font-family: "Inter", sans-serif !important;
}

.dxf_trinhxem .dxf-swal-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  padding: 6px 20px !important;
  border-radius: 8px !important;
  color: #ef4444 !important;
  background: #fff !important;
  border: 1px solid #ef4444 !important;
  font-size: 13px !important;
  font-weight: 300 !important;
  text-decoration: none !important;
  transition: all 0.2s !important;
  margin-top: 10px !important;
  font-family: "Inter", sans-serif !important;
}

.dxf_trinhxem .dxf-swal-btn:hover {
  background: #fef2f2 !important;
}

.dxf_trinhxem {
  /* Xóa border và nền của phần tử "Thuộc tính" */
  /* Nếu có chữ "<div class="status-item hidden">Trạng thái</div>",
  xóa nó */
  /* Cỡ chữ cho phần tử chưa chọn đối tượng nào */
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #chooseFileBtn .icon,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #themeBtn .icon,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #clearBtn .icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 12px !important;
  height: 12px !important;
  min-width: 12px !important;
  font-size: 12px !important;
  line-height: 12px !important;
  margin: 0 !important;
  flex: 0 0 12px !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #chooseFileBtn span:not(.icon),
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #themeBtn span:not(.icon) {
  display: inline-flex !important;
  align-items: center !important;
  min-width: 0 !important;
  font-size: 12px !important;
  line-height: 12px !important;
  margin: 0 !important;
  white-space: nowrap !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #clearBtn {
  width: 30px !important;
  height: 30px !important;
  min-width: 30px !important;
  max-width: 30px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #clearBtn span:not(.icon) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 0 !important;
  height: 100% !important;
  font-size: 18px !important;
  font-weight: 200 !important;
  line-height: 1 !important;
  color: #ef4444 !important;
  margin: 0 !important;
  white-space: nowrap !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_viewer .toolbar-groups {
  width: max-content !important;
  max-width: 100% !important;
  padding: 6px 8px 0 0px !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scrollbar-width: thin !important;
  scrollbar-color: rgba(120, 145, 190, 0.45) transparent !important;
  box-sizing: border-box !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_viewer .toolbar-group {
  min-height: 30px !important;
  height: 30px !important;
  display: inline-flex !important;
  align-items: center !important;
  flex-shrink: 0 !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_viewer .floating-panel-toggle {
  top: 50% !important;
  transform: translateY(-50%) !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_viewer .floating-panel-toggle:hover {
  transform: translateY(-50%) scale(1.03) !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_viewer .toolbar .toolbar-btn,
.dxf_trinhxem.dxf-page .dxf_trinhxem_viewer .toolbar .compact-action-btn,
.dxf_trinhxem.dxf-page .dxf_trinhxem_viewer .toolbar .compact-btn {
  border: 1px solid var(--toolbar-btn-border) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035) !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_viewer .toolbar .toolbar-btn:hover,
.dxf_trinhxem.dxf-page .dxf_trinhxem_viewer .toolbar .compact-action-btn:hover,
.dxf_trinhxem.dxf-page .dxf_trinhxem_viewer .toolbar .compact-btn:hover {
  border-color: var(--border-strong) !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .file-actions-main {
  width: calc(100% + 6px) !important;
  padding: 3px !important;
  padding-bottom: 0px !important;
  margin: -3px -3px 0px !important;
  overflow: visible !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #searchInput,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .dxf_trinhxem_panel-tabs.left-structure-tabs,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #tab-layers .group-title.split-title,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #tab-entities .group-title.split-title,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .layer-list-wrap,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #tab-layers .list-wrap,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #tab-entities .list-wrap {
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}

.dxf_trinhxem.dxf-page .canvas-drop-cta {
  min-height: 30px !important;
  height: 30px !important;
  padding: 0 8px !important;
  gap: 6px !important;
  border-radius: 9px !important;
  font-size: 12px !important;
  font-weight: 750 !important;
  line-height: 1.2 !important;
}

.dxf_trinhxem {
  /* --- NEW PREMIUM PROPERTIES UI --- */
}

.dxf_trinhxem.dxf-page .prop-grid {
  grid-template-columns: auto minmax(0, 1fr) !important;
  gap: 6px 10px !important;
  padding: 0 10px 10px 10px !important;
  align-content: start !important;
}

.dxf_trinhxem.dxf-page .prop-section {
  grid-column: 1/-1;
  margin: 12px 0 6px !important;
  padding: 0 !important;
  color: var(--warning) !important;
  font-weight: 500 !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  letter-spacing: 0.6px !important;
  border: none !important;
  background: transparent !important;
}

.dxf_trinhxem.dxf-page.dark .prop-section {
  color: var(--warning) !important;
}

.dxf_trinhxem.dxf-page .prop-key {
  color: var(--muted) !important;
  font-weight: 300 !important;
  font-size: 12px !important;
  display: flex !important;
  align-items: center !important;
  padding-left: 2px !important;
}

.dxf_trinhxem.dxf-page .prop-val {
  color: var(--text) !important;
  font-size: 12.5px !important;
  font-weight: 500 !important;
  font-family: "Inter", "Segoe UI Variable", "Segoe UI", Arial, sans-serif !important;
  word-break: break-word !important;
  overflow-wrap: break-word !important;
  min-width: 0 !important;
}

.dxf_trinhxem {
  /* FINAL TOOLBAR SIZE NORMALIZATION */
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .file-actions-main .toolbar-btn,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .file-actions-main .compact-action-btn,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .file-actions-main .compact-btn,
.dxf_trinhxem.dxf-page .dxf_trinhxem_viewer .toolbar .toolbar-btn,
.dxf_trinhxem.dxf-page .dxf_trinhxem_viewer .toolbar .compact-action-btn,
.dxf_trinhxem.dxf-page .dxf_trinhxem_viewer .toolbar .compact-btn {
  font-size: 12px !important;
  font-weight: 300 !important;
  line-height: 1.2 !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .file-actions-main .toolbar-btn span:not(.icon),
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .file-actions-main .compact-action-btn span:not(.icon),
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .file-actions-main .compact-btn span:not(.icon),
.dxf_trinhxem.dxf-page .dxf_trinhxem_viewer .toolbar .toolbar-btn span:not(.icon),
.dxf_trinhxem.dxf-page .dxf_trinhxem_viewer .toolbar .compact-action-btn span:not(.icon),
.dxf_trinhxem.dxf-page .dxf_trinhxem_viewer .toolbar .compact-btn span:not(.icon) {
  font-size: 12px !important;
  font-weight: 300 !important;
  line-height: 1.2 !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .file-actions-main .icon,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .file-actions-main i,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .file-actions-main .icon-svg,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .file-actions-main svg,
.dxf_trinhxem.dxf-page .dxf_trinhxem_viewer .toolbar .icon,
.dxf_trinhxem.dxf-page .dxf_trinhxem_viewer .toolbar i,
.dxf_trinhxem.dxf-page .dxf_trinhxem_viewer .toolbar .icon-svg,
.dxf_trinhxem.dxf-page .dxf_trinhxem_viewer .toolbar svg {
  width: 12px !important;
  height: 12px !important;
  min-width: 12px !important;
  flex: 0 0 12px !important;
  font-size: 12px !important;
  line-height: 12px !important;
  margin: 0 !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #clearBtn i,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #clearBtn .icon,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #clearBtn .icon-svg {
  width: 12px !important;
  height: 12px !important;
  min-width: 12px !important;
  font-size: 12px !important;
  line-height: 12px !important;
}

.dxf_trinhxem {
  /* FINAL TOOLBAR COLOR PALETTE */
}

.dxf_trinhxem.dxf-page #toggleMiniMapBtn {
  color: #7dd3fc !important;
  border-color: rgba(125, 211, 252, 0.32) !important;
  background: rgba(14, 165, 233, 0.1) !important;
}

.dxf_trinhxem.dxf-page #fitBtn {
  color: #34d399 !important;
  border-color: rgba(52, 211, 153, 0.38) !important;
  background: rgba(16, 185, 129, 0.1) !important;
}

.dxf_trinhxem.dxf-page #zoomInBtn,
.dxf_trinhxem.dxf-page #zoomOutBtn {
  color: #93c5fd !important;
  border-color: rgba(147, 197, 253, 0.34) !important;
  background: rgba(59, 130, 246, 0.09) !important;
}

.dxf_trinhxem.dxf-page #toggleGridBtn {
  color: #facc15 !important;
  border-color: rgba(250, 204, 21, 0.36) !important;
  background: rgba(234, 179, 8, 0.1) !important;
}

.dxf_trinhxem.dxf-page #toggleAxisBtn {
  color: #c4b5fd !important;
  border-color: rgba(196, 181, 253, 0.36) !important;
  background: rgba(139, 92, 246, 0.1) !important;
}

.dxf_trinhxem.dxf-page #copyCoordBtn {
  color: #c4b5fd !important;
  border-color: rgba(196, 181, 253, 0.36) !important;
  background: rgba(139, 92, 246, 0.1) !important;
}

.dxf_trinhxem.dxf-page #measureModeBtn#measureModeBtn,
.dxf_trinhxem.dxf-page .toolbar.compact-1 #measureModeBtn#measureModeBtn {
  padding: 4px 6px !important;
  min-width: auto !important;
  font-weight: normal !important;
  color: #fbbf24 !important;
  border-color: rgba(251, 191, 36, 0.42) !important;
  background: rgba(251, 191, 36, 0.12) !important;
  gap: 3px !important;
}

.dxf_trinhxem.dxf-page .toolbar-btn#exportPngBtn,
.dxf_trinhxem.dxf-page .toolbar-btn#exportExcelBtn,
.dxf_trinhxem.dxf-page .toolbar-btn#exportDxfBtn {
  color: #34d399 !important;
  border-color: rgba(52, 211, 153, 0.38) !important;
  background: rgba(16, 185, 129, 0.1) !important;
}

.dxf_trinhxem.dxf-page .toolbar-btn#exportJsonBtn {
  color: #94a3b8 !important;
  border-color: rgba(148, 163, 184, 0.34) !important;
  background: rgba(148, 163, 184, 0.08) !important;
}

.dxf_trinhxem.dxf-page #chooseFileBtn,
.dxf_trinhxem.dxf-page .canvas-drop-cta {
  color: #60a5fa !important;
  border-color: rgba(96, 165, 250, 0.42) !important;
  background: rgba(37, 99, 235, 0.1) !important;
}

.dxf_trinhxem.dxf-page #chooseFileBtn,
.dxf_trinhxem.dxf-page .canvas-drop-cta {
  height: 30px !important;
  min-height: 30px !important;
  padding: 0 9px !important;
  gap: 6px !important;
  border: 1px solid rgba(96, 165, 250, 0.42) !important;
  border-radius: 9px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 12px !important;
  font-weight: 300 !important;
  line-height: 1.2 !important;
  box-shadow: none !important;
}

.dxf_trinhxem.dxf-page #chooseFileBtn .icon,
.dxf_trinhxem.dxf-page #chooseFileBtn i,
.dxf_trinhxem.dxf-page .canvas-drop-cta .icon,
.dxf_trinhxem.dxf-page .canvas-drop-cta i {
  width: 12px !important;
  height: 12px !important;
  min-width: 12px !important;
  flex: 0 0 12px !important;
  font-size: 12px !important;
  line-height: 12px !important;
  margin: 0 !important;
}

.dxf_trinhxem.dxf-page #chooseFileBtn .fa-folder-open-o,
.dxf_trinhxem.dxf-page .canvas-drop-cta .fa-folder-open-o {
  color: #fbbf24 !important;
}

.dxf_trinhxem.dxf-page #chooseFileBtn span:not(.icon),
.dxf_trinhxem.dxf-page .canvas-drop-cta span:not(.icon) {
  font-size: 12.5px !important;
  font-weight: 300 !important;
  line-height: 1.2 !important;
}

.dxf_trinhxem.dxf-page #themeBtn {
  color: #c4b5fd !important;
  border-color: rgba(196, 181, 253, 0.34) !important;
  background: rgba(139, 92, 246, 0.09) !important;
}

.dxf_trinhxem.dxf-page #clearBtn {
  color: #f87171 !important;
  border-color: rgba(248, 113, 113, 0.42) !important;
  background: rgba(239, 68, 68, 0.1) !important;
}

.dxf_trinhxem.dxf-page #toggleLeftPanelBtn,
.dxf_trinhxem.dxf-page #togglePanelBtn {
  color: #bfdbfe !important;
  border-color: rgba(96, 165, 250, 0.3) !important;
  background: rgba(96, 165, 250, 0.09) !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_viewer .toolbar .toolbar-btn:hover,
.dxf_trinhxem.dxf-page .dxf_trinhxem_viewer .toolbar .compact-action-btn:hover,
.dxf_trinhxem.dxf-page .dxf_trinhxem_viewer .toolbar .compact-btn:hover,
.dxf_trinhxem.dxf-page #toggleLeftPanelBtn:hover,
.dxf_trinhxem.dxf-page #togglePanelBtn:hover {
  filter: brightness(1.12) saturate(1.05);
}

.dxf_trinhxem {
  /* BASEMAP CONTROL */
}

.dxf_trinhxem.dxf-page .basemap-panel {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 18;
  width: 282px;
  padding: 10px;
  border: 1px solid rgba(96, 165, 250, 0.32);
  border-radius: 12px;
  background: rgba(15, 27, 45, 0.94);
  box-shadow: 0 18px 38px rgba(0, 0, 0, 0.3);
  backdrop-filter: blur(12px);
}

.dxf_trinhxem.dxf-page:not(.dark) .basemap-panel {
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 18px 38px rgba(15, 23, 42, 0.14);
}

.dxf_trinhxem.dxf-page .basemap-panel-title {
  color: #7dd3fc;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.2 !important;
  margin-bottom: 9px;
}

.dxf_trinhxem.dxf-page .basemap-field {
  display: grid;
  grid-template-columns: 68px minmax(0, 1fr);
  gap: 7px;
  align-items: center;
  margin-bottom: 7px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 300;
  line-height: 1.2 !important;
}

.dxf_trinhxem.dxf-page .basemap-field:has(#basemapProjection) {
  display: none !important;
}

.dxf_trinhxem.dxf-page .basemap-field select,
.dxf_trinhxem.dxf-page .basemap-field input[type=number],
.dxf_trinhxem.dxf-page .basemap-field input[type=text] {
  width: 100%;
  min-width: 0;
  height: 28px;
  padding: 0 8px;
  border: 1px solid rgba(96, 165, 250, 0.32);
  border-radius: 8px;
  background: rgba(8, 18, 32, 0.76);
  color: var(--text);
  font-size: 12px;
  font-weight: 300;
  outline: none;
}

.dxf_trinhxem.dxf-page:not(.dark) .basemap-field select,
.dxf_trinhxem.dxf-page:not(.dark) .basemap-field input[type=number],
.dxf_trinhxem.dxf-page:not(.dark) .basemap-field input[type=text] {
  background: rgba(241, 245, 249, 0.92);
}

.dxf_trinhxem.dxf-page .basemap-field input[type=range] {
  width: 100%;
  accent-color: #38bdf8;
}

.dxf_trinhxem.dxf-page .basemap-grid-fields {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 86px;
  gap: 7px;
}

.dxf_trinhxem.dxf-page .basemap-grid-fields .basemap-field {
  grid-template-columns: 34px minmax(0, 1fr);
}

.dxf_trinhxem.dxf-page .basemap-custom-url {
  grid-template-columns: 58px minmax(0, 1fr);
}

.dxf_trinhxem.dxf-page .basemap-axis-field select {
  font-size: 12px;
}

.dxf_trinhxem.dxf-page .basemap-note {
  padding-top: 2px;
  color: #94a3b8;
  font-size: 12px;
  font-weight: 300;
  line-height: 1.35;
}

.dxf_trinhxem.dxf-page #basemapBtn {
  color: #38bdf8 !important;
  border-color: rgba(56, 189, 248, 0.36) !important;
  background: rgba(14, 165, 233, 0.1) !important;
}

.dxf_trinhxem.dxf-page #basemapBtn.active {
  color: #22d3ee !important;
  border-color: rgba(34, 211, 238, 0.58) !important;
  background: rgba(8, 145, 178, 0.18) !important;
}

.dxf_trinhxem.dxf-page #alignBasemapBtn {
  color: #fbbf24 !important;
  border-color: rgba(251, 191, 36, 0.38) !important;
  background: rgba(245, 158, 11, 0.1) !important;
}

.dxf_trinhxem.dxf-page #alignBasemapBtn.active {
  color: #fde68a !important;
  border-color: rgba(251, 191, 36, 0.64) !important;
  background: rgba(245, 158, 11, 0.2) !important;
}

.dxf_trinhxem.dxf-page .basemap-align-box {
  margin: 8px 0 7px;
  padding: 8px;
  border: 1px solid rgba(251, 191, 36, 0.26);
  border-radius: 9px;
  background: rgba(245, 158, 11, 0.06);
}

.dxf_trinhxem.dxf-page .basemap-align-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 7px;
  color: #fbbf24;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.2 !important;
}

.dxf_trinhxem.dxf-page .basemap-align-head button {
  height: 24px;
  padding: 0 7px;
  border: 1px solid rgba(248, 113, 113, 0.34);
  border-radius: 7px;
  background: rgba(239, 68, 68, 0.1);
  color: #fca5a5;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.2 !important;
}

.dxf_trinhxem.dxf-page .basemap-align-status,
.dxf_trinhxem.dxf-page .basemap-align-pairs {
  color: var(--muted);
  font-size: 12px;
  font-weight: 300;
  line-height: 1.35;
}

.dxf_trinhxem.dxf-page .basemap-align-pairs {
  margin-top: 3px;
  color: #93c5fd;
}

.dxf_trinhxem {
  /* Desktop DXF must own the full viewport even when browser zoom/device
     width triggers the shared <=1200px compact rules. */
}

@media (min-width: 981px) {
  .dxf_trinhxem.dxf-page {
    height: 100dvh !important;
    min-height: 100dvh !important;
    overflow: hidden !important;
  }

  .dxf_trinhxem.dxf-page .app.layout-3col,
  .dxf_trinhxem.dxf-page .layout-3col.app.dxf_trinhxem_panel_collapsed,
  .dxf_trinhxem.dxf-page .layout-3col.app.dxf_trinhxem_left_panel_collapsed,
  .dxf_trinhxem.dxf-page .layout-3col.app.dxf_trinhxem_left_panel_collapsed.dxf_trinhxem_panel_collapsed {
    height: 100dvh !important;
    min-height: 100dvh !important;
    grid-template-rows: minmax(0, 1fr) !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  .dxf_trinhxem.dxf-page .app.layout-3col {
    grid-template-columns: var(--dxf_trinhxem_left_panel-w-final, 330px) minmax(0, 1fr) var(--dxf_trinhxem_right_panel-w-final, 280px) !important;
  }

  .dxf_trinhxem.dxf-page .layout-3col.app.dxf_trinhxem_panel_collapsed {
    grid-template-columns: var(--dxf_trinhxem_left_panel-w-final, 330px) minmax(0, 1fr) 0 !important;
  }

  .dxf_trinhxem.dxf-page .layout-3col.app.dxf_trinhxem_left_panel_collapsed {
    grid-template-columns: 0 minmax(0, 1fr) var(--dxf_trinhxem_right_panel-w-final, 280px) !important;
  }

  .dxf_trinhxem.dxf-page .layout-3col.app.dxf_trinhxem_left_panel_collapsed.dxf_trinhxem_panel_collapsed {
    grid-template-columns: 0 minmax(0, 1fr) 0 !important;
  }

  .dxf_trinhxem.dxf-page .layout-3col.app.dxf_trinhxem_left_panel_collapsed .dxf_trinhxem_left_panel {
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    flex: 0 0 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translateX(-18px) !important;
    border-width: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  .dxf_trinhxem.dxf-page .layout-3col .dxf_trinhxem_left_panel,
  .dxf_trinhxem.dxf-page .layout-3col .dxf_trinhxem_viewer,
  .dxf_trinhxem.dxf-page .layout-3col .dxf_trinhxem_right_panel {
    min-height: 0 !important;
    height: 100% !important;
  }

  .dxf_trinhxem.dxf-page .layout-3col .dxf_trinhxem_panel_body,
  .dxf_trinhxem.dxf-page .layout-3col .dxf_trinhxem_side_panel_body {
    height: 100% !important;
    min-height: 0 !important;
  }

  .dxf_trinhxem.dxf-page .layout-3col .dxf_trinhxem_viewer {
    display: flex !important;
    flex-direction: column !important;
  }

  .dxf_trinhxem.dxf-page .layout-3col .canvas-wrap {
    flex: 1 1 auto !important;
    min-height: 0 !important;
  }
}

.dxf_trinhxem {
  /* Left Layer/Entity lists: keep them clean, no hard frame/border around rows. */
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #tab-layers .list-wrap,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #tab-layers .layer-list,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #tab-entities .list-wrap,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #tab-entities .entity-list {
  border: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
  background: transparent !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #tab-layers .layer-item,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #tab-entities .entity-item {
  border: 0 !important;
  border-bottom: 1px solid var(--border) !important;
  margin: 0 !important;
  border-radius: 0 !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #tab-layers .layer-item:hover,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #tab-layers .layer-item.active,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #tab-entities .entity-item:hover,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel #tab-entities .entity-item.active {
  box-shadow: none !important;
}

.dxf_trinhxem {
  /* Right property inspector: calmer CAD/GIS reading palette. */
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_right_panel #propertyPanel.prop-grid {
  grid-template-columns: auto minmax(0, 1fr) !important;
  gap: 6px 10px !important;
  padding: 10px 12px 12px !important;
  align-content: start !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_right_panel .prop-section {
  grid-column: 1/-1 !important;
  margin: 12px 0 3px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: rgba(52, 211, 153, 0.85) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_right_panel .prop-section:first-child {
  margin-top: 0 !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_right_panel .prop-key {
  color: #64748b !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_right_panel .prop-val {
  min-width: 0 !important;
  color: #94a3b8 !important;
  font-size: 12px !important;
  font-weight: 300 !important;
  line-height: 1.35 !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_right_panel .prop-val-emphasis {
  color: #94a3b8 !important;
  font-weight: 300 !important;
  font-size: 12px !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_right_panel .prop-val.with-color,
.dxf_trinhxem.dxf-page .dxf_trinhxem_right_panel .prop-val .with-color {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  min-width: 0 !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_right_panel .cad-color-text {
  color: #94a3b8 !important;
  font-weight: 500 !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_right_panel .cad-color-source {
  color: #94a3b8 !important;
  font-size: 12px !important;
  font-weight: 500 !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_right_panel .prop-empty {
  grid-column: 1/-1 !important;
  display: block !important;
  padding-top: 2px !important;
  text-align: center !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_right_panel .prop-empty-text {
  color: #94a3b8 !important;
  font-size: 12px !important;
  font-weight: 300 !important;
  line-height: 1.45 !important;
}

.dxf_trinhxem {
  /* Premium SweetAlert Styling riêng biệt cho trang DXF */
}

.dxf_trinhxem.dxf-page .swal2-popup {
  font-family: "Inter", sans-serif !important;
  background: #ffffff !important;
  border-radius: 12px !important;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.12) !important;
  width: 320px !important;
  padding: 12px !important;
  border: 1px solid #e2e8f0 !important;
}

/* Exception for the custom loading spinner popup */
.dxf_trinhxem.dxf-page .swal2-popup.swal-unique-class,
.dxf_trinhxem.dxf-page #swal-loading-custom {
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
  padding: 0 !important;
  width: auto !important;
}

.dxf_trinhxem.dxf-page .swal2-title {
  padding: 0 !important;
  margin: 0 0 6px 0 !important;
}

.dxf_trinhxem.dxf-page .swal2-title span,
.dxf_trinhxem.dxf-page .swal2-title i {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #ef4444 !important;
}

.dxf_trinhxem.dxf-page .swal2-content,
.dxf_trinhxem.dxf-page .swal2-html-container {
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  font-size: 13px !important;
  color: #1e293b !important;
  line-height: 1.5 !important;
}

.dxf_trinhxem.dxf-page .swal2-icon {
  margin: 0 auto 6px auto !important;
  transform: scale(0.65) !important;
  border-color: #ef4444 !important;
  height: 70px !important;
  width: 70px !important;
}

.dxf_trinhxem.dxf-page .swal2-icon.swal2-warning {
  border-color: #ef4444 !important;
  color: #ef4444 !important;
}

.dxf_trinhxem {
  /* =========================================================
     GEOREFERENCING PANEL - NẮN TỌA ĐỘ
     ========================================================= */
}

.dxf_trinhxem.dxf-page .georeference-box {
  border-top: 1px solid var(--border);
  padding-top: 10px;
  margin-top: 2px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.dxf_trinhxem.dxf-page .georeference-header {
  display: flex;
  align-items: center;
  gap: 6px;
}

.dxf_trinhxem.dxf-page .georeference-header>svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  stroke: #fbbf24;
}

.dxf_trinhxem.dxf-page .georeference-header>span {
  flex: 1;
  font-size: 12px;
  font-weight: 500;
  color: #fbbf24;
}

.dxf_trinhxem.dxf-page .georeference-toggle-btn {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 4px 10px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
  background: rgba(251, 191, 36, 0.1);
  border: 1px solid rgba(251, 191, 36, 0.3);
  color: #fbbf24;
}

.dxf_trinhxem.dxf-page .georeference-toggle-btn svg {
  width: 12px;
  height: 12px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
}

.dxf_trinhxem.dxf-page .georeference-toggle-btn:hover {
  background: rgba(251, 191, 36, 0.25);
  border-color: #fbbf24;
}

.dxf_trinhxem.dxf-page .georeference-toggle-btn.active {
  background: #fbbf24;
  color: #0f172a;
  border-color: #fbbf24;
}

.dxf_trinhxem.dxf-page .georeference-clear-btn {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 4px 8px;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 400;
  cursor: pointer;
  transition: all 0.2s;
  background: rgba(239, 68, 68, 0.08);
  border: 1px solid rgba(239, 68, 68, 0.25);
  color: #f87171;
}

.dxf_trinhxem.dxf-page .georeference-clear-btn svg {
  width: 11px;
  height: 11px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
}

.dxf_trinhxem.dxf-page .georeference-clear-btn:hover {
  background: rgba(239, 68, 68, 0.2);
  border-color: #ef4444;
  color: #fca5a5;
}

.dxf_trinhxem.dxf-page .georeference-methods {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.dxf_trinhxem.dxf-page .georeference-methods-label {
  font-size: 11px;
  color: var(--muted);
  margin-bottom: 2px;
}

.dxf_trinhxem.dxf-page .gcp-method-radio {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 5px 8px;
  border-radius: 6px;
  cursor: pointer;
  font-size: 12px;
  color: var(--text);
  border: 1px solid transparent;
  transition: all 0.15s;
}

.dxf_trinhxem.dxf-page .gcp-method-radio:hover {
  background: rgba(255, 255, 255, 0.04);
  border-color: var(--border);
}

.dxf_trinhxem.dxf-page .gcp-method-radio input[type=radio] {
  accent-color: #3b82f6;
  width: 13px;
  height: 13px;
  cursor: pointer;
  flex-shrink: 0;
}

.dxf_trinhxem.dxf-page .gcp-method-radio:has(input:checked) {
  background: rgba(59, 130, 246, 0.1);
  border-color: rgba(59, 130, 246, 0.35);
  color: #93c5fd;
}

.dxf_trinhxem.dxf-page .gcp-method-icon {
  font-size: 13px;
  line-height: 1;
}

.dxf_trinhxem {
  /* STATUS */
}

.dxf_trinhxem.dxf-page .georeference-status {
  font-size: 12px;
  color: var(--muted);
  padding: 6px 8px;
  background: rgba(255, 255, 255, 0.03);
  border-radius: 6px;
  border: 1px solid var(--border);
  line-height: 1.4;
}

.dxf_trinhxem.dxf-page .georeference-status.step-dxf {
  color: #fbbf24;
  border-color: rgba(251, 191, 36, 0.3);
  background: rgba(251, 191, 36, 0.06);
}

.dxf_trinhxem.dxf-page .georeference-status.step-map {
  color: #38bdf8;
  border-color: rgba(56, 189, 248, 0.3);
  background: rgba(56, 189, 248, 0.06);
}

.dxf_trinhxem.dxf-page .georeference-status.step-done {
  color: #34d399;
  border-color: rgba(52, 211, 153, 0.3);
  background: rgba(52, 211, 153, 0.06);
}

.dxf_trinhxem {
  /* MANUAL INPUTS */
}

.dxf_trinhxem.dxf-page .gcp-manual-input {
  background: rgba(59, 130, 246, 0.06);
  border: 1px solid rgba(59, 130, 246, 0.2);
  border-radius: 8px;
  padding: 8px 10px;
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.dxf_trinhxem.dxf-page .gcp-manual-title {
  font-size: 11px;
  color: #93c5fd;
  font-weight: 500;
}

.dxf_trinhxem.dxf-page .gcp-manual-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
}

.dxf_trinhxem.dxf-page .gcp-manual-fields label {
  display: flex;
  flex-direction: column;
  gap: 3px;
  font-size: 11px;
  color: var(--muted);
}

.dxf_trinhxem.dxf-page .gcp-manual-fields input {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid var(--border);
  border-radius: 5px;
  color: var(--text);
  font-size: 11px;
  padding: 4px 6px;
  width: 100%;
  box-sizing: border-box;
  outline: none;
  transition: border-color 0.15s;
}

.dxf_trinhxem.dxf-page .gcp-manual-fields input:focus {
  border-color: #3b82f6;
}

.dxf_trinhxem.dxf-page .gcp-confirm-btn {
  background: rgba(59, 130, 246, 0.15);
  border: 1px solid rgba(59, 130, 246, 0.4);
  color: #93c5fd;
  border-radius: 6px;
  padding: 5px 10px;
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.15s;
  align-self: flex-end;
}

.dxf_trinhxem.dxf-page .gcp-confirm-btn:hover {
  background: rgba(59, 130, 246, 0.3);
  border-color: #3b82f6;
  color: #bfdbfe;
}

.dxf_trinhxem {
  /* GCP TABLE */
}

.dxf_trinhxem.dxf-page .gcp-table-wrap {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.dxf_trinhxem.dxf-page .gcp-table-title {
  font-size: 11px;
  color: var(--muted);
  font-weight: 500;
}

.dxf_trinhxem.dxf-page .gcp-table-scroll {
  overflow-x: auto;
  border-radius: 6px;
  border: 1px solid var(--border);
}

.dxf_trinhxem.dxf-page .gcp-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 10.5px;
}

.dxf_trinhxem.dxf-page .gcp-table th {
  background: rgba(255, 255, 255, 0.04);
  color: var(--muted);
  padding: 4px 6px;
  text-align: left;
  white-space: nowrap;
  font-weight: 500;
  border-bottom: 1px solid var(--border);
}

.dxf_trinhxem.dxf-page .gcp-table td {
  padding: 4px 6px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
  color: var(--text);
  white-space: nowrap;
  vertical-align: middle;
}

.dxf_trinhxem.dxf-page .gcp-table tr:last-child td {
  border-bottom: none;
}

.dxf_trinhxem.dxf-page .gcp-table .gcp-residual-ok {
  color: #34d399;
}

.dxf_trinhxem.dxf-page .gcp-table .gcp-residual-warn {
  color: #fbbf24;
}

.dxf_trinhxem.dxf-page .gcp-table .gcp-residual-bad {
  color: #f87171;
}

.dxf_trinhxem.dxf-page .gcp-del-btn {
  background: none;
  border: none;
  color: #f87171;
  cursor: pointer;
  padding: 2px 4px;
  border-radius: 4px;
  font-size: 12px;
  line-height: 1;
  transition: background 0.15s;
  opacity: 0.6;
}

.dxf_trinhxem.dxf-page .gcp-del-btn:hover {
  background: rgba(239, 68, 68, 0.15);
  opacity: 1;
}

.dxf_trinhxem {
  /* STATS */
}

.dxf_trinhxem.dxf-page .gcp-stats {
  display: flex;
  flex-direction: column;
  gap: 3px;
  background: rgba(52, 211, 153, 0.05);
  border: 1px solid rgba(52, 211, 153, 0.2);
  border-radius: 7px;
  padding: 7px 10px;
}

.dxf_trinhxem.dxf-page .gcp-stats-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 11px;
  gap: 8px;
}

.dxf_trinhxem.dxf-page .gcp-stats-row>span:first-child {
  color: var(--muted);
  white-space: nowrap;
  flex-shrink: 0;
}

.dxf_trinhxem.dxf-page .gcp-stats-row>span:last-child {
  color: #34d399;
  font-weight: 500;
  text-align: right;
  overflow: hidden;
  text-overflow: ellipsis;
}

.dxf_trinhxem {
  /* PAIRS INFO */
}

.dxf_trinhxem.dxf-page .georeference-pairs-info {
  font-size: 11px;
  color: var(--muted);
  text-align: right;
}

.dxf_trinhxem.dxf-page .basemap-panel-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.dxf_trinhxem.dxf-page .basemap-panel-close {
  background: none;
  border: none;
  color: var(--muted);
  cursor: pointer;
  font-size: 15px;
  padding: 0 2px;
  line-height: 1;
  border-radius: 4px;
  transition: color 0.15s;
}

.dxf_trinhxem.dxf-page .basemap-panel-close:hover {
  color: var(--text);
}

.dxf_trinhxem.dxf-page .georeference-stop-btn {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 4px 9px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
  background: rgba(99, 102, 241, 0.15);
  border: 1px solid rgba(99, 102, 241, 0.4);
  color: #a5b4fc;
}

.dxf_trinhxem.dxf-page .georeference-stop-btn svg {
  width: 11px;
  height: 11px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
}

.dxf_trinhxem.dxf-page .georeference-stop-btn:hover {
  background: rgba(99, 102, 241, 0.3);
  color: #c7d2fe;
}

.dxf_trinhxem.dxf-page .georef-panel {
  left: 570px;
  /* Positioned next to basemap panel */
  min-width: 280px;
}

.dxf_trinhxem.dxf-page .georef-panel .georeference-box {
  border-top: none;
  padding-top: 0;
  margin-top: 0;
}

.dxf_trinhxem {
  /* FIX HIDDEN BUTTONS OVERRIDDEN BY INLINE-FLEX !IMPORTANT */
}

.dxf_trinhxem.dxf-page .toolbar-btn.hidden,
.dxf_trinhxem.dxf-page .dxf_trinhxem_viewer .toolbar .toolbar-btn.hidden,
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .file-actions-main .toolbar-btn.hidden {
  display: none !important;
}

.dxf_trinhxem {
  /* BASEMAP TABS */
}

.dxf_trinhxem.dxf-page .basemap-panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.dxf_trinhxem.dxf-page .basemap-tabs {
  display: flex;
  gap: 4px;
  background: rgba(0, 0, 0, 0.2);
  padding: 3px;
  border-radius: 8px;
}

.dxf_trinhxem.dxf-page .basemap-tab {
  background: transparent;
  border: none;
  color: var(--muted);
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 500;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s;
}

.dxf_trinhxem.dxf-page .basemap-tab:hover {
  color: var(--text);
}

.dxf_trinhxem.dxf-page .basemap-tab.active {
  background: rgba(56, 189, 248, 0.15);
  color: #38bdf8;
}

.dxf_trinhxem.dxf-page .basemap-tab-content {
  display: none;
}

.dxf_trinhxem.dxf-page .basemap-tab-content.active {
  display: block;
}

.dxf_trinhxem.dxf-page .basemap-panel-close {
  background: none;
  border: none;
  color: var(--muted);
  cursor: pointer;
  font-size: 15px;
  padding: 0 4px;
  line-height: 1;
  border-radius: 4px;
  transition: color 0.15s;
}

.dxf_trinhxem.dxf-page .basemap-panel-close:hover {
  color: var(--text);
}

.dxf_trinhxem {
  /* Remove old georef box top border since it is inside a tab now */
}

.dxf_trinhxem.dxf-page .basemap-tab-content .georeference-box {
  border-top: none;
  padding-top: 0;
  margin-top: 0;
}

.dxf_trinhxem {
  /* BASEMAP DROPDOWN */
}

.dxf_trinhxem.dxf-page .basemap-dropdown {
  position: absolute;
  background: rgba(13, 22, 38, 0.95);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
  padding: 4px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
  z-index: 9999;
  backdrop-filter: blur(10px);
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 140px;
}

.dxf_trinhxem.dxf-page .basemap-dropdown.hidden {
  display: none !important;
}

.dxf_trinhxem.dxf-page .basemap-dropdown-item {
  padding: 6px 12px;
  color: var(--text);
  font-size: 12px;
  cursor: pointer;
  border-radius: 4px;
}

.dxf_trinhxem.dxf-page .basemap-dropdown-item:hover {
  background: rgba(255, 255, 255, 0.1);
}

.dxf_trinhxem.dxf-page .basemap-dropdown-item.active {
  background: rgba(56, 189, 248, 0.15);
  color: #38bdf8;
  font-weight: 500;
}

.dxf_trinhxem {
  /* ==========================================
     INLINE STYLES TỪ dxf_trinhxem.ejs
     ========================================== */
  /* Ẩn giao diện navigation_left trên trang DXF — JS vẫn chạy */
}

.dxf_trinhxem.dxf-page .external-toggle-wrapper,
.dxf_trinhxem.dxf-page nav.navbar-default.navbar-static-side {
  display: none !important;
}

.dxf_trinhxem {
  /* Ẩn triệt để tất cả các loại modal và thành phần từ hệ thống cũ */
}

.dxf_trinhxem.dxf-page .modal,
.dxf_trinhxem.dxf-page .modal-backdrop,
.dxf_trinhxem.dxf-page [id^=id_nguoidung_],
.dxf_trinhxem.dxf-page [id^=id_navigation_] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  height: 0 !important;
  width: 0 !important;
  position: absolute !important;
  overflow: hidden !important;
}

.dxf_trinhxem {
  /* Ngăn navigation_left hoặc wrapper đẩy nội dung hoặc tạo thanh cuộn thừa */
}

.dxf_trinhxem.dxf-page #wrapper,
.dxf_trinhxem.dxf-page #page-wrapper {
  display: contents !important;
  padding: 0 !important;
  margin: 0 !important;
}

.dxf_trinhxem {
  /* Hiệu ứng hover cho nút tài khoản (Chỉ gạch chân khi chưa đăng nhập) */
}

.dxf_trinhxem #id_trangchu_btn_dangnhap.not-logged-in:hover span {
  text-decoration: underline;
}

.dxf_trinhxem {
  /* ==========================================
     CANVAS LIGHT THEME (SIMULATE PAPER)
     ========================================== */
}

.dxf_trinhxem.canvas-light #page-wrapper {
  --ui-canvas-bg: #ffffff !important;
  --canvas-bg: #ffffff !important;
}

.dxf_trinhxem {
  /* ==========================================
     CANVAS LIGHT THEME (SUPER ROBUST)
     ========================================== */
}

.dxf_trinhxem.canvas-light {
  --ui-canvas-bg: #ffffff !important;
  --canvas-bg: #ffffff !important;
  --grid: rgba(15, 23, 42, .055) !important;
  --crosshair: rgba(37, 99, 235, .35) !important;
}

.dxf_trinhxem.canvas-light .canvas-wrap,
.dxf_trinhxem.canvas-light .ui-canvas-shell {
  background: #ffffff !important;
  background-color: #ffffff !important;
}

/*# sourceMappingURL=style_dxf_trinhxem.css.map */


/* =========================================
   MIGRATED INLINE STYLES ĐỢT 2 (Cấu trúc cơ bản)
   ========================================= */
.dxf_trinhxem .list-wrap {
  border-radius: 0 !important;
  margin-top: 0;
}

.dxf_trinhxem .layer-controls {
  display: flex;
  align-items: center;
}

.dxf_trinhxem .file-name {
  font-size: 12px !important;
  font-weight: 600 !important;
}

.dxf_trinhxem .layer-empty-text {
  padding: 10px 12px;
  color: var(--text);
  opacity: 0.6;
  font-style: normal;
  font-size: 12px;
}

/* =========================================
   CUSTOM BUTTONS (CORE & DXFTUYBIEN)
========================================= */

.dxf_trinhxem.dxf-page #dxftuybien_btn_chonfile {
  color: #60a5fa !important;
  background: rgba(96, 165, 250, 0.08) !important;
  border: 1px solid rgba(96, 165, 250, 0.45) !important;
  border-radius: 9px !important;
  padding: 0 8px !important;
  font-weight: 750 !important;
}

.dxf_trinhxem.dxf-page #dxftuybien_btn_chonfile:hover {
  color: #93c5fd !important;
  background: rgba(96, 165, 250, 0.14) !important;
  border-color: rgba(147, 197, 253, 0.6) !important;
}

.dxf_trinhxem.dxf-page #dxftuybien_btn_chonfile i {
  color: #facc15 !important;
  font-size: 14px;
  margin-right: 4px;
}

.dxf_trinhxem.dxf-page #dxftuybien_btn_nentoi {
  color: #e7f0ff !important;
  border: 1px solid rgba(96, 165, 250, 0.28) !important;
  background: rgba(18, 32, 58, 0.92) !important;
  border-radius: 9px !important;
  padding: 0 8px !important;
  font-weight: 750 !important;
}

.dxf_trinhxem.dxf-page #dxftuybien_btn_nentoi:hover {
  color: #ffffff !important;
  background: rgba(30, 48, 82, 0.96) !important;
  border-color: rgba(147, 197, 253, 0.42) !important;
}

.dxf_trinhxem.dxf-page #dxftuybien_btn_nentoi .icon {
  margin-right: 4px !important;
  font-size: 12px !important;
}

.dxf_trinhxem.dxf-page #dxftuybien_btn_xoa {
  color: #fecaca !important;
  border: 1px solid rgba(248, 113, 113, 0.34) !important;
  background: rgba(127, 29, 29, 0.16) !important;
  border-radius: 9px !important;
  padding: 0 8px !important;
  font-weight: 750 !important;
}

.dxf_trinhxem.dxf-page #dxftuybien_btn_xoa:hover {
  color: #ffffff !important;
  background: rgba(185, 28, 28, 0.24) !important;
  border-color: rgba(252, 165, 165, 0.48) !important;
}

.dxf_trinhxem.dxf-page #dxftuybien_btn_dao {
  color: #e7f0ff !important;
  border: 1px solid rgba(96, 165, 250, 0.28) !important;
  background: rgba(18, 32, 58, 0.92) !important;
  border-radius: 9px !important;
  padding: 0 8px !important;
  font-weight: 750 !important;
}

.dxf_trinhxem.dxf-page #dxftuybien_btn_dao:hover {
  color: #ffffff !important;
  background: rgba(30, 48, 82, 0.96) !important;
  border-color: rgba(147, 197, 253, 0.42) !important;
}

.dxf_trinhxem.dxf-page #dxftuybien_divider {
  width: 1px !important;
  height: 20px !important;
  background: rgba(148, 163, 184, 0.28) !important;
  margin: auto 6px !important;
}

.dxf_trinhxem.dxf-page #core_btn_caidat {
  color: #c4b5fd !important;
  border-color: rgba(167, 139, 250, 0.4) !important;
  background: rgba(139, 92, 246, 0.1) !important;
  border-radius: 9px !important;
  padding: 0 8px !important;
  font-weight: 750 !important;
}

.dxf_trinhxem.dxf-page #core_btn_hienlayer {
  color: #3b82f6 !important;
  border-color: rgba(59, 130, 246, 0.45) !important;
  background: rgba(59, 130, 246, 0.08) !important;
  border-radius: 9px !important;
  padding: 0 8px !important;
  font-weight: 750 !important;
}

.dxf_trinhxem.dxf-page #core_btn_congcu {
  color: #2dd4bf !important;
  border-color: rgba(45, 212, 191, 0.4) !important;
  background: rgba(45, 212, 191, 0.1) !important;
  border-radius: 9px !important;
  padding: 0 8px !important;
  font-weight: 750 !important;
}

.dxf_trinhxem.dxf-page #core_btn_xuatdulieu {
  color: #f472b6 !important;
  border-color: rgba(244, 114, 182, 0.4) !important;
  background: rgba(244, 114, 182, 0.1) !important;
  border-radius: 9px !important;
  padding: 0 8px !important;
  font-weight: 750 !important;
}

/* =========================================
   DROPDOWN MENU CSS CHO CORE
========================================= */
.dxf_trinhxem .ui-dropdown {
  position: relative;
  display: inline-flex;
}

.dxf_trinhxem .ui-dropdown-menu {
  display: none;
  position: absolute;
  top: calc(100% + 5px);
  left: 0;
  min-width: 180px;
  z-index: 300;
  padding: 6px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  background: rgba(15, 23, 42, 0.95);
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.5), 0 8px 10px -6px rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(12px);
}

.dxf_trinhxem .ui-dropdown.active .ui-dropdown-menu {
  display: block;
}

.dxf_trinhxem .dropdown-item {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  min-height: 32px;
  padding: 6px 12px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #cbd5e1;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.2;
  white-space: nowrap;
  cursor: pointer;
  width: 100%;
  transition: all 0.2s ease;
}

.dxf_trinhxem .dropdown-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
}

.dxf_trinhxem .dropdown-item.is-toggle::after {
  content: "";
  width: 26px;
  height: 15px;
  margin-left: 8px;
  flex: 0 0 26px;
  border: 1px solid rgba(148, 163, 184, 0.34);
  border-radius: 999px;
  background:
    radial-gradient(circle at 7px 50%, #cbd5e1 0 4px, transparent 4.5px),
    rgba(15, 23, 42, 0.86);
}

.dxf_trinhxem .dropdown-item.is-toggle.active::after {
  border-color: rgba(96, 165, 250, 0.72);
  background:
    radial-gradient(circle at 19px 50%, #ffffff 0 4px, transparent 4.5px),
    linear-gradient(135deg, #2563eb, #60a5fa);
}

/* Stable viewer structure kept out of the partial markup. */
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel {
  display: flex;
  flex-direction: column;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel>.dxf_trinhxem_side_panel_body {
  flex: 1;
  padding-bottom: 1px !important;
}

.dxf_trinhxem.dxf-page #tx_grp_a {
  display: contents;
}

.dxf_trinhxem.dxf-page #tx_grp_b {
  display: none;
}

.dxf_trinhxem.dxf-page .canvas-wrap {
  position: relative;
}

.dxf_trinhxem.dxf-page #canvas,
.dxf_trinhxem.dxf-page #canvasPaper,
.dxf_trinhxem.dxf-page #canvasInteraction {
  position: absolute;
  top: 0;
  left: 0;
}

.dxf_trinhxem.dxf-page #canvas {
  z-index: 1;
}

.dxf_trinhxem.dxf-page #canvasPaper {
  z-index: 2;
  pointer-events: none;
}

.dxf_trinhxem.dxf-page #canvasInteraction {
  z-index: 3;
  pointer-events: none;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_right_panel #tab-props>.group {
  border-radius: 0 !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_right_panel #propertyHeader {
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  gap: 5px !important;
  margin: 0 !important;
  padding-bottom: 8px !important;
  border-bottom: 1px solid var(--border) !important;
  color: #34d399 !important;
  font-size: 12px !important;
  font-weight: 500 !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_right_panel #propertyHeader .prop-title,
.dxf_trinhxem.dxf-page .dxf_trinhxem_right_panel #propertyTabState {
  padding-top: 2px;
  font-size: 12px !important;
  font-weight: 500 !important;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_right_panel #propertyHeader .prop-title,
.dxf_trinhxem.dxf-page .dxf_trinhxem_right_panel #propertyHeader .prop-icon {
  color: inherit;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_right_panel #propertyHeader .prop-icon {
  margin-top: 1px;
  opacity: 0.85;
}

.dxf_trinhxem.dxf-page .dxf_trinhxem_right_panel #propertyPanel {
  margin: 0 !important;
}

/* Thu gọn dropdown trong chế độ canvas (compact-1) */
.dxf_trinhxem.dxf-page .toolbar.compact-1 .ui-dropdown .toolbar-btn {
  padding-left: 4px !important;
  padding-right: 4px !important;
  gap: 4px !important;
  min-width: unset !important;
  width: auto !important;
  justify-content: center !important;
}


/* Padding right cho viewport nhỏ trong chế độ sodo */
body.dxf_sodo .viewport-small .dxf_trinhxem .toolbar .ui-dropdown>button {
  padding-right: 2px !important;
}

/* OVERRIDE FOR CLEARBTN TO BE FIXED SQUARE AND CENTERED IN ALL THEMES */
.dxf_trinhxem.dxf-page #clearBtn.clear-btn-fixed {
  width: 30px !important;
  height: 30px !important;
  min-width: 30px !important;
  max-width: 30px !important;
  min-height: 30px !important;
  max-height: 30px !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 9px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
}

.dxf_trinhxem.dxf-page #clearBtn.clear-btn-fixed span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 0 !important;
  width: 100% !important;
  height: 100% !important;
  font-size: 18px !important;
  font-weight: 200 !important;
  line-height: 1 !important;
  color: #ef4444 !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: nowrap !important;
  transform: translateY(-0.5px) !important;
}

/* ===== THEMED BUTTON CLASSES ===== */
:is(.dxf_trinhxem.dxf-page, .dxf_sodo) .sys-color-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  padding: 6px 10px !important;
  border-radius: 12px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
  transition: all 0.2s ease !important;
  background-color: transparent;
}

:is(.dxf_trinhxem.dxf-page, .dxf_sodo) .dropdown-item-btn.sys-color-btn {
  width: 100% !important;
  border-radius: 8px !important;
  font-size: 12px !important;
}

:is(.dxf_trinhxem.dxf-page, .dxf_sodo) .sys-btn-purple {
  border: 1px solid rgba(167, 139, 250, 0.45) !important;
  background: rgba(167, 139, 250, 0.08) !important;
  color: #c084fc !important;
}

:is(.dxf_trinhxem.dxf-page, .dxf_sodo) .sys-btn-purple:hover {
  background: rgba(167, 139, 250, 0.18) !important;
}

:is(.dxf_trinhxem.dxf-page, .dxf_sodo) .sys-btn-blue {
  border: 1px solid rgba(59, 130, 246, 0.45) !important;
  background: rgba(59, 130, 246, 0.08) !important;
  color: #3b82f6 !important;
}

:is(.dxf_trinhxem.dxf-page, .dxf_sodo) .sys-btn-blue:hover {
  background: rgba(59, 130, 246, 0.18) !important;
}

:is(.dxf_trinhxem.dxf-page, .dxf_sodo) .sys-btn-red {
  border: 1px solid rgba(239, 68, 68, 0.45) !important;
  background: rgba(239, 68, 68, 0.08) !important;
  color: #ef4444 !important;
}

:is(.dxf_trinhxem.dxf-page, .dxf_sodo) .sys-btn-red:hover {
  background: rgba(239, 68, 68, 0.18) !important;
}

:is(.dxf_trinhxem.dxf-page, .dxf_sodo) .sys-btn-emerald {
  border: 1px solid rgba(16, 185, 129, 0.45) !important;
  background: rgba(16, 185, 129, 0.08) !important;
  color: #10b981 !important;
}

:is(.dxf_trinhxem.dxf-page, .dxf_sodo) .sys-btn-emerald:hover {
  background: rgba(16, 185, 129, 0.18) !important;
}

:is(.dxf_trinhxem.dxf-page, .dxf_sodo) .sys-btn-amber {
  border: 1px solid rgba(245, 158, 11, 0.45) !important;
  background: rgba(245, 158, 11, 0.08) !important;
  color: #f59e0b !important;
}

:is(.dxf_trinhxem.dxf-page, .dxf_sodo) .sys-btn-amber:hover {
  background: rgba(245, 158, 11, 0.18) !important;
}

:is(.dxf_trinhxem.dxf-page, .dxf_sodo) .sys-btn-amber.active {
  background: rgba(245, 158, 11, 0.25) !important;
}

:is(.dxf_trinhxem.dxf-page, .dxf_sodo) .sys-btn-pink {
  border: 1px solid rgba(236, 72, 153, 0.45) !important;
  background: rgba(236, 72, 153, 0.08) !important;
  color: #ec4899 !important;
}

:is(.dxf_trinhxem.dxf-page, .dxf_sodo) .sys-btn-pink:hover {
  background: rgba(236, 72, 153, 0.18) !important;
}

:is(.dxf_trinhxem.dxf-page, .dxf_sodo) .sys-btn-slate {
  border: 1px solid rgba(148, 163, 184, 0.35) !important;
  background: rgba(148, 163, 184, 0.08) !important;
  color: #94a3b8 !important;
}

:is(.dxf_trinhxem.dxf-page, .dxf_sodo) .sys-btn-slate:hover {
  background: rgba(148, 163, 184, 0.18) !important;
}

/* ===== THEMED GROUP HEADER ===== */
:is(.dxf_trinhxem.dxf-page, .dxf_sodo) .sys-group-header {
  color: var(--warning) !important;
  border-bottom: 1px solid var(--border) !important;
  padding-left: 10px !important;
  padding-right: 10px !important;
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
}

/* Tab Layer / Entity: chỉ sub-text (Lớp/Đối tượng) 11px, giữ Layer/Entity 12px */
.dxf_trinhxem.dxf-page .dxf_trinhxem_left_panel .dxf_trinhxem_panel-tab-btn .tab-count,
#layerTabCount,
#entityTabCount {
  font-size: 11px !important;
  line-height: 1.1 !important;
}
