/* Data pages use fixed control sizes; the legacy viewport rem scale is for older pages. */
.mj-data-page { font-family: var(--mj-font-sans, sans-serif); color: #24344d; }
.mj-data-page #wrapper { height: auto; }
.mj-data-page .content-section-list,
.mj-data-page .mj-tr { box-sizing: border-box; width: min(100%, 1248px); max-width: 1248px; padding: 0 32px; margin: 0 auto 64px; }
.mj-data-page .mj-pp-main-content { padding: 32px 0 24px; }
.mj-data-page .mj-pp-main-content-title { text-align: left; max-width: 850px; }
.mj-data-page :is(.mj-pp-main-content-title, .mj-pp-main-title)::before, .mj-data-page :is(.mj-pp-main-content-title, .mj-pp-main-title)::after { content: none !important; display: none !important; }
.mj-data-page .mj-pp-main-title { margin: 0 0 14px; font: 650 clamp(30px, 3.2vw, 42px)/1.3 var(--mj-font-sans, sans-serif); color: #082d66; letter-spacing: -.025em; }
.mj-data-page .mj-pp-main-desc { margin: 0; padding: 0; font: 400 17px/1.8 var(--mj-font-sans, sans-serif); color: #43546d; }
.mj-data-page .mj-data-note { max-width: 800px; margin: 12px 0 0; font-size: 14px; line-height: 1.8; color: #596575; }
.mj-data-page .tab-container { display: flex; align-items: stretch; justify-content: space-between; gap: 28px; border-bottom: 1px solid #dce3ed; overflow-x: auto; scrollbar-width: thin; margin: 0 0 24px; padding: 0 2px; }
.mj-data-page .tab-nav { display: flex; flex: 0 0 auto; flex-wrap: nowrap; align-items: stretch; justify-content: flex-start; gap: 26px; min-width: 0; min-height: 0; padding: 0; margin: 0; border: 0; border-radius: 0; }
.mj-data-page .tab-nav .tab-item { appearance: none; flex: 0 0 auto; min-width: 0; margin: 0; padding: 14px 0 13px; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: transparent; font: 500 16px/1.5 var(--mj-font-sans, sans-serif); color: #4b5563; white-space: nowrap; text-align: left; cursor: pointer; box-shadow: none; }
.mj-data-page .tab-nav .tab-item .tab-text { display: block; padding: 0; height: auto; color: inherit; font: inherit; line-height: inherit; }
.mj-data-page .tab-nav .tab-item.active { color: #082d66; border-bottom-color: #082d66; font-weight: 650; background: transparent; }
.mj-data-page .tab-item:hover, .mj-data-page .mj-data-tool-link:hover { color: #082d66; }
.mj-data-page .mj-data-tool-link { flex: 0 0 auto; display: flex; align-items: center; gap: 8px; padding: 14px 0; font-size: 16px; font-weight: 500; line-height: 1.5; white-space: nowrap; color: #415775; text-decoration: none; }
.mj-data-page .tab-content { min-width: 0; margin-top: 0; padding-top: 0; outline-offset: 5px; }
.mj-data-page :is(.tab-item, .mj-data-tool-link, .query-btn, .query-button, .mj-select, .category-input):focus-visible { outline: 2px solid #386dba; outline-offset: 3px; }
.mj-data-page .tab-content :is(.chart-section, .table-container-wap) { margin-top: 32px; padding-top: 0; }
.mj-data-page .tab-content .immigration-dashboard > :first-child { margin-top: 0; }
.mj-data-page .tab-content .chart-title { font: 600 clamp(21px, 2.1vw, 26px)/1.5 var(--mj-font-sans, sans-serif) !important; text-align: left; color: #173761; padding: 0; margin: 0 0 4px; }
.mj-data-page .tab-content .chart-header { text-align: left; }
.mj-data-page .tab-content :is(.chart-box, .o-visa-table-chart, .filter-row) { padding: 0; margin-top: 20px; margin-bottom: 20px; gap: 12px; }
.mj-data-page .tab-content .chart-box { justify-content: flex-start; flex-direction: row; flex-wrap: wrap; }
.mj-data-page .tab-content .form-chart { width: 180px; max-width: 100%; }
.mj-data-page .tab-content .form-chart--occupation-bar { padding: 0; margin-top: 20px; align-items: flex-start; }
.mj-data-page .tab-content .form-chart--occupation-bar__selects { justify-content: flex-start; }
.mj-data-page .tab-content .chart-date { margin-top: 8px; font-size: 14px; line-height: 1.6; color: #596575; text-align: left; }
.mj-data-page .tab-content .chart-date-employment { padding-bottom: 16px; overflow-x: auto; scrollbar-width: thin; }
.mj-data-page .tab-content .table-subtitle { padding: 8px 0 14px; gap: 12px; font-size: 14px; }
.mj-data-page .tab-content :is(.table-date, .table-subtitle-text) { font-size: 14px; color: #596575; }
.mj-data-page .tab-content :is(.table-container, .segmentedData-table-container, .stats-table-container) { overflow-x: auto; scrollbar-width: thin; }
.mj-data-page .tab-content :is(.table-container, .segmentedData-table-container, .stats-table-container, .chart-date-employment)::-webkit-scrollbar { display: block; height: 7px; }
.mj-data-page .tab-content :is(.table-container, .segmentedData-table-container, .stats-table-container, .chart-date-employment)::-webkit-scrollbar-thumb { background: #c8d1dd; border-radius: 5px; }
.mj-data-page .tab-content table :is(th, td) { font-size: 16px; line-height: 1.6; color: #24344d; padding: 12px 10px; font-variant-numeric: tabular-nums; }
.mj-data-page .tab-content .stats-table :is(th, td) { font-size: 16px; padding: 10px 8px; }
.mj-data-page .tab-content :is(.segmentedData-quarter-header, .segmentedData-year-header, .quarter-header, .fiscal-year-header) { font-size: 16px !important; }
.mj-data-page .tab-content .sch-source { text-align: left; font-size: 14px; line-height: 1.8; margin: 10px 0 16px; color: #596575; }
.mj-data-page .tab-content .mj-data-scroll-hint { font-size: 14px; color: #596575; line-height: 1.6; margin: 8px 0; }
.mj-data-page .tab-content :is(.mj-select, input.category-input) { height: 42px; min-width: 0; border: 1px solid #cfd8e5; border-radius: 6px; background-color: #fff; padding: 0 12px; font: 400 16px/1.5 var(--mj-font-sans, sans-serif); color: #243b5d; }
.mj-data-page .tab-content .mj-select { padding-right: 30px; }
.mj-data-page .tab-content :is(.query-btn, .query-button) { appearance: none; flex-shrink: 0; width: auto; min-width: 88px; height: 42px; border: 0; border-radius: 6px; padding: 0 22px; background: #0a326f; color: #fff; font: 600 16px/42px var(--mj-font-sans, sans-serif); white-space: nowrap; cursor: pointer; }
.mj-data-page .tab-content :is(.filter-label, .form-groups .label) { font-size: 16px; line-height: 1.6; color: #4b5563; }
.mj-data-page .tab-content :is(.form-stats-search, .form-groups) { flex-wrap: wrap; gap: 12px; }
.mj-data-page .tab-content .form-stats-search { margin: 0 0 24px; padding: 0; }
.mj-data-page .tab-content .inc_dataStatistics .form-groups { min-width: 0; }
.mj-data-page .tab-content .inc_dataStatistics .form-groups select.mj-select { width: 104px !important; min-width: 104px; height: 42px; padding: 0 30px 0 12px; font-size: 16px; background-position: right 10px center; }
.mj-data-page .tab-content .inc_dataStatistics .form-groups select.mj-select.quarter-select { width: 88px !important; min-width: 88px; }
.mj-data-page .tab-content .inc_dataStatistics .stats-notes { padding: 16px 0 0; font-size: 15px; line-height: 1.8; color: #4b5563; }
.mj-data-page .tab-content .o-visa-note, .mj-data-page .tab-content .o-visa-note p, .mj-data-page .tab-content .o-visa-note span { font-size: 15px; line-height: 1.8; color: #4b5563; }
.mj-data-page .tab-content .stats-panels { gap: 24px; margin-top: 0; padding-top: 0; }
.mj-data-page .tab-content :is(.ebia-panel, .niw-panel) { min-width: 0; min-height: 0; padding: 24px; border: 1px solid #dfe5ed; border-radius: 8px; box-shadow: none; }
.mj-data-page .tab-content .panel-header { padding: 0 0 14px; margin: 0 0 16px; gap: 12px; }
.mj-data-page .tab-content .panel-title { margin: 0; font: 600 19px/1.6 var(--mj-font-sans, sans-serif); text-align: left; }
.mj-data-page .tab-content .panel-header--with-year-select .mj-select { width: 100px; flex-shrink: 0; }
.mj-data-page .tab-content .approval-rate { font-size: 19px; color: #173761; line-height: 1.6; }
.mj-data-page .tab-content .data-breakdown { height: auto; padding: 16px; margin: 12px 0 24px; background: #f5f7fa; border-radius: 6px; }
.mj-data-page .tab-content .data-source { font-size: 14px; line-height: 1.8; color: #596575; margin-bottom: 10px; }
.mj-data-page .tab-content .data-source-link { font-size: inherit; color: #2b5382; text-decoration: underline; text-underline-offset: 3px; }
.mj-data-page .tab-content .breakdown-item { font-size: 16px; line-height: 1.8; color: #24344d; }
.mj-data-page .tab-content .quarter-title { font-size: 16px; line-height: 1.7; color: #596575; }
.mj-data-page .tab-content .quarter-selection { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; padding-top: 0; }
.mj-data-page .tab-content .quarter-buttons { width: auto; height: auto; padding: 0; border: 0; border-radius: 0; }
.mj-data-page .tab-content .quarter-buttons .highlight { padding: 0; border-radius: 0; background: transparent; font-size: 26px; color: #173761; line-height: 1.5; font-variant-numeric: tabular-nums; }
.mj-data-page .tab-content .no-data { height: auto; min-height: 150px; padding: 24px; font-size: 16px; line-height: 1.8; }
.mj-data-page .mj-tr__title { font-family: var(--mj-font-sans, sans-serif); font-size: 26px; }
.mj-data-page :is(.mj-tr__desc, .mj-tr__insights li) { font-size: 17px; line-height: 1.85; color: #374151; }
.mj-data-page :is(.mj-tr__table th, .mj-tr__table td, .mj-tr__tab, .mj-tr__toggle) { font-size: 16px; }
.mj-data-page .mj-tr__source { font-size: 14px; line-height: 1.8; color: #596575; }
@media (max-width: 1200px) {
  .mj-data-page .tab-content .table-container-wap .chart-title { font-size: clamp(21px, 2.1vw, 26px) !important; padding-top: 0; line-height: 1.5; }
  .mj-data-page .tab-content .chart-category { width: 900px !important; max-width: none; }
  .mj-data-page .tab-content .stats-panels { flex-direction: column; }
  .mj-data-page .tab-content :is(.ebia-panel, .niw-panel) { width: 100%; }
}
@media (max-width: 600px) {
  .mj-data-page .content-section-list, .mj-data-page .mj-tr { padding: 0 20px; margin-bottom: 44px; }
  .mj-data-page .mj-pp-main-content { padding: 30px 0 22px; }
  .mj-data-page .mj-pp-main-desc { font-size: 17px; }
  .mj-data-page .tab-container { margin-bottom: 24px; gap: 24px; }
  .mj-data-page .tab-nav { gap: 22px; }
  .mj-data-page .tab-nav .tab-item { font-size: 16px; }
  .mj-data-page .tab-content :is(.ebia-panel, .niw-panel) { padding: 20px 16px; }
  .mj-data-page .tab-content .panel-header--with-year-select { align-items: flex-start; flex-wrap: wrap; }
  .mj-data-page .tab-content .panel-title { font-size: 18px; }
  .mj-data-page .tab-content .filter-item { flex-wrap: wrap; justify-content: flex-start; }
  .mj-data-page .tab-content .filter-row .filter-select-category { width: min(220px, 100%); }
  .mj-data-page .tab-content .table-subtitle { flex-wrap: wrap; }
}

/* Explicit table hierarchy prevents the global text color from obscuring dark headers. */
.mj-data-page .tab-content table thead :is(th, td) { background: #edf2f8 !important; color: #173761 !important; font-weight: 600; vertical-align: middle; }
.mj-data-page .tab-content .inc_dataStatistics { width: 100%; max-width: 100%; padding: 0; }
.mj-data-page .inc_dataStatistics .stats-table-container { width: 100%; max-width: 100%; overflow: auto; border: 1px solid #dce3ed; border-radius: 8px; scrollbar-width: auto; }
.mj-data-page .inc_dataStatistics .stats-table { width: 100%; min-width: 1600px; table-layout: auto; border-collapse: separate; border-spacing: 0; }
.mj-data-page .inc_dataStatistics .stats-table :is(th, td) { padding: 14px 16px; border-bottom: 1px solid #e3e8ef; font-size: 16px; line-height: 1.6; }
.mj-data-page .inc_dataStatistics .stats-header-row { height: auto; }
.mj-data-page .inc_dataStatistics .stats-header-row th { background: #12396d !important; color: #fff !important; height: 52px; }
.mj-data-page .inc_dataStatistics .stats-header-row th * { color: inherit !important; }
.mj-data-page .inc_dataStatistics .stats-table :is(.quarter-header,.fiscal-year-header) { width: auto !important; border-left: 1px solid #547398; }
.mj-data-page .inc_dataStatistics .stats-table .form-number-col { width: 112px !important; min-width: 112px; text-align: left; }
.mj-data-page .inc_dataStatistics .form-number-col-content { text-align: left; word-break: normal; }
.mj-data-page .inc_dataStatistics .stats-table .description-col { min-width: 250px; width: 280px; }
.mj-data-page .inc_dataStatistics .stats-table .sub-header { min-width: 108px; white-space: nowrap; text-align: right; height: auto; }
.mj-data-page .inc_dataStatistics .stats-table .sub-header:nth-child(6) { white-space: normal; }
.mj-data-page .inc_dataStatistics .stats-table tbody td:nth-child(n+3) { text-align: right; white-space: nowrap; }
.mj-data-page .inc_dataStatistics .stats-table .form-number { background: #f0f4f9; color: #173761; white-space: nowrap; }
.mj-data-page .inc_dataStatistics .stats-table .form-description { text-align: left; min-width: 250px; white-space: normal; overflow-wrap: break-word; }
.mj-data-page .inc_dataStatistics .stats-table .category-title-row { background: #edf2f8; }
.mj-data-page .inc_dataStatistics .stats-table .data-stats-row:nth-child(even) { background: #f8fafc; }
.mj-data-page .inc_dataStatistics .stats-table .data-stats-row:hover { background: #eef4fb; }
.mj-data-page .inc_dataStatistics .stats-table td:nth-child(9), .mj-data-page .inc_dataStatistics .stats-sub-header-row th:nth-child(7) { border-left: 2px solid #d7e1ed; }
.mj-data-page .inc_dataStatistics .stats-table :is(td,th)::before, .mj-data-page .inc_dataStatistics .stats-table :is(td,th)::after { content: none !important; }
.mj-data-page .inc_dataStatistics .stats-table-container:focus-visible { outline: 2px solid #3468c0; outline-offset: 3px; }

.mj-data-page .inc_dataStatistics .stats-table-guide { display: block; margin: 12px 0; color: #43546d; font-size: 16px; line-height: 1.7; }
.mj-data-page .inc_dataStatistics .stats-table-container { max-height: 72vh; }

/* Numeric cells do not break across lines; descriptions keep a readable width. */
.mj-data-page .tab-content .data-table { min-width:1160px; table-layout:auto; }
.mj-data-page .tab-content .data-table th { min-width:100px; max-width:170px; vertical-align:middle; }
.mj-data-page .tab-content .data-table td { text-align:right; white-space:nowrap; }
.mj-data-page .tab-content .data-table :is(th,td):first-child { min-width:150px; text-align:left; }
.mj-data-page .tab-content .stats-table thead { position:sticky; top:0; z-index:2; }
