:root {
  --v2-bg: #f4f7fb;
  --v2-sidebar: #081a34;
  --v2-sidebar-deep: #07162b;
  --v2-sidebar-text: #cbd7ea;
  --v2-card: #ffffff;
  --v2-border: #dfe7f1;
  --v2-text: #162033;
  --v2-muted: #6d7b91;
  --v2-primary: #246bfe;
  --v2-primary-soft: #eaf1ff;
  --v2-success: #159866;
  --v2-warning: #c17a13;
  --v2-error: #d04455;
  --v2-radius: 8px;
  --v2-shadow: 0 2px 10px rgba(22, 42, 76, .06);
  --v2-sidebar-width: 252px;
}
* { box-sizing: border-box; }
html[data-ui-version="v2"] { overflow-y: scroll; scrollbar-gutter: stable; }
.v2-shell:not(.v2-sidebar-ready) .v2-sidebar,
.v2-shell:not(.v2-sidebar-ready) .v2-main,
.v2-shell.sidebar-transition-locked .v2-sidebar,
.v2-shell.sidebar-transition-locked .v2-main { transition: none !important; }
html.v2-sidebar-precollapsed .v2-sidebar { width: 70px; }
html.v2-sidebar-precollapsed .v2-main { margin-left: 70px; }
html.v2-sidebar-precollapsed .v2-nav-label,
html.v2-sidebar-precollapsed .v2-badge { display: none; }
html.v2-sidebar-precollapsed .v2-nav-item { justify-content: center; padding-inline: 9px; }
.v2-body { margin: 0; min-width: 320px; color: var(--v2-text); background: var(--v2-bg); font-family: Inter, sans-serif; }
.v2-shell { min-height: 100vh; }
.v2-sidebar { position: fixed; inset: 0 auto 0 0; z-index: 1000; display: flex; width: var(--v2-sidebar-width); flex-direction: column; padding: 18px 12px 14px; color: var(--v2-sidebar-text); background: linear-gradient(165deg, #0b2345 0%, var(--v2-sidebar) 48%, var(--v2-sidebar-deep) 100%); transition: width .2s ease, transform .2s ease; }
.v2-brand { display: flex; align-items: center; gap: 11px; min-height: 42px; padding: 0 10px 18px; color: #fff; font-size: 15px; font-weight: 800; white-space: nowrap; }
.v2-brand-mark { display: grid; width: 32px; height: 32px; flex: 0 0 32px; place-items: center; color: #fff; border-radius: 7px; background: linear-gradient(135deg, #1f7bff, #55a2ff); font-size: 19px; font-weight: 800; }
.v2-nav { display: grid; gap: 5px; }
.v2-nav-bottom { display: grid; gap: 5px; margin-top: auto; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.09); }
.v2-nav-item { position: relative; display: flex; width: 100%; min-height: 44px; align-items: center; gap: 12px; padding: 0 12px; border: 0; border-radius: 6px; color: var(--v2-sidebar-text); background: transparent; font: inherit; font-size: 13px; font-weight: 500; text-decoration: none; cursor: pointer; white-space: nowrap; }
.v2-nav-item:hover { color: #fff; background: rgba(255,255,255,.075); }
.v2-nav-item.active { color: #fff; background: linear-gradient(90deg, rgba(37,107,254,.7), rgba(37,107,254,.28)); box-shadow: inset 3px 0 #75a7ff; }
.v2-icon { display: grid; width: 24px; flex: 0 0 24px; place-items: center; font-size: 19px; }
.v2-badge { min-width: 20px; margin-left: auto; padding: 2px 6px; border-radius: 10px; color: #fff; background: var(--v2-primary); font-size: 10px; text-align: center; }
.v2-collapse { text-align: left; }
.v2-mobile-close, .v2-menu-button { display: none; }
.v2-main { min-height: 100vh; margin-left: var(--v2-sidebar-width); padding: 24px 20px 38px; transition: margin-left .2s ease; }
.v2-shell.sidebar-collapsed .v2-sidebar { width: 70px; }
.v2-shell.sidebar-collapsed .v2-main { margin-left: 70px; }
.v2-shell.sidebar-collapsed .v2-nav-label, .v2-shell.sidebar-collapsed .v2-badge { display: none; }
.v2-shell.sidebar-collapsed .v2-nav-item { justify-content: center; padding-inline: 9px; }
.v2-shell.sidebar-collapsed .v2-collapse .v2-icon { transform: rotate(180deg); }
.v2-page-heading { margin: 0 0 16px; }
.v2-page-heading h1 { margin: 0; font-size: 24px; line-height: 1.25; letter-spacing: -.025em; }
.v2-page-heading p { margin: 5px 0 0; color: var(--v2-muted); font-size: 12px; }
.v2-body .control-grid { display: grid; grid-template-columns: minmax(250px, 1.08fr) minmax(300px, 1.18fr) minmax(220px, .88fr) minmax(230px, .94fr); gap: 10px; align-items: start; }
.v2-body .panel, .v2-body .report-area { border: 1px solid var(--v2-border); border-radius: var(--v2-radius); background: var(--v2-card); box-shadow: var(--v2-shadow); }
.v2-body .control-grid > .panel { min-width: 0; padding: 12px; }
.v2-body .panel-title { min-height: 30px; margin: 0 0 10px; padding-bottom: 9px; border-bottom: 1px solid #edf1f7; }
.v2-body .panel-title h2 { color: #2457b8; font-size: 12px; font-weight: 700; }
.v2-body .panel-title h2::before { display: inline-grid; width: 20px; height: 20px; margin-right: 6px; place-items: center; border-radius: 5px; color: var(--v2-primary); background: var(--v2-primary-soft); content: "•"; }
.v2-body .panel-title span { color: var(--v2-muted); font-size: 10px; }
.v2-body label { color: #344157; font-size: 10px; font-weight: 600; }
.v2-body input, .v2-body select, .v2-body textarea, .v2-body .saved-select-button, .v2-body .split-select-button, .v2-body .filter-select-button, .v2-body .date-range-box { min-height: 34px; border-color: var(--v2-border); border-radius: 5px; box-shadow: none; font-size: 11px; }
.v2-body input:focus, .v2-body select:focus, .v2-body textarea:focus, .v2-body button:focus-visible { outline: 2px solid rgba(36,107,254,.28); outline-offset: 1px; }
.v2-body .button-row { gap: 8px; }
.v2-body button.primary, .v2-body button.secondary { min-height: 34px; border-radius: 5px; font-size: 11px; }
.v2-body button.primary { background: var(--v2-primary); }
.v2-body .metric-checklist { max-height: 246px; grid-template-columns: 1fr 1fr; gap: 3px 8px; padding: 4px 2px; }
.v2-body .metric-checklist label { min-height: 24px; padding: 3px; border: 0; background: transparent; font-size: 10px; }
.v2-body .metric-checklist input[type=checkbox], .v2-body .filter-options input[type=checkbox] { accent-color: var(--v2-primary); }
.v2-body .mini-actions, .v2-body .saved-actions { gap: 6px; }
.v2-body .column-buckets { padding: 8px; background: #f8faff; }
.v2-body .metric-filters { margin-top: 8px; }
.v2-body .metric-filter-row { grid-template-columns: minmax(100px, 1fr) 58px 70px auto; gap: 5px; }
.v2-body .split-field { margin-bottom: 7px; }
.v2-body .filter-list { max-height: 322px; gap: 6px; }
.v2-body .filter-box { margin: 0; }
.v2-body .filter-select-button { padding: 7px 28px 7px 9px; }
.v2-body .afp-toggle { width: 100%; margin: 0 0 7px; font-size: 10px; }
.v2-kpi-strip { display: grid; grid-template-columns: repeat(5, minmax(150px, 1fr)); gap: 10px; margin: 12px 0; }
.v2-kpi-card { display: flex; min-height: 82px; align-items: center; gap: 11px; padding: 13px; border: 1px solid var(--v2-border); border-radius: var(--v2-radius); background: #fff; box-shadow: var(--v2-shadow); }
.v2-kpi-icon { display: grid; width: 38px; height: 38px; flex: 0 0 38px; place-items: center; border-radius: 7px; color: var(--v2-primary); background: var(--v2-primary-soft); font-size: 18px; }
.v2-kpi-card:nth-child(2) .v2-kpi-icon { color: #159866; background: #e9f8f2; }
.v2-kpi-card:nth-child(3) .v2-kpi-icon { color: #7d46d9; background: #f2ebff; }
.v2-kpi-card:nth-child(4) .v2-kpi-icon { color: #168f98; background: #e8f8f8; }
.v2-kpi-card:nth-child(5) .v2-kpi-icon { color: #d37b12; background: #fff4e5; }
.v2-kpi-card div { display: grid; min-width: 0; }
.v2-kpi-card span:not(.v2-kpi-icon), .v2-kpi-card small { overflow: hidden; color: var(--v2-muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.v2-kpi-card strong { margin: 3px 0; color: var(--v2-text); font-size: 18px; line-height: 1.1; }
.v2-body .report-area { margin-top: 0; padding: 0; overflow: hidden; }
.v2-body .report-toolbar { min-height: 52px; padding: 10px 14px; border-bottom: 1px solid var(--v2-border); }
.v2-body .report-toolbar h2 { font-size: 13px; }
.v2-body .report-tools { color: var(--v2-muted); font-size: 10px; }
.v2-body .report-table-scroll { max-height: 62vh; border: 0; border-radius: 0; overflow: auto; }
.v2-body .report-table { min-width: 100%; font-size: 10px; }
.v2-body .report-table th { position: sticky; top: 0; z-index: 3; height: 42px; padding: 8px 10px; color: #4e5b70; background: #f8faff; white-space: nowrap; }
.v2-body .report-table td { height: 42px; padding: 8px 10px; text-align: right; white-space: nowrap; }
.v2-body .report-table .split-column { text-align: left; }
.v2-body .report-table tbody tr { border-bottom: 1px solid #edf1f6; background: #fff; }
.v2-body .report-table tbody tr:hover td { background: #f5f8ff; }
.v2-body .report-table tfoot td { position: sticky; bottom: 0; z-index: 2; color: #17233a; background: #f1f5fb; font-weight: 700; }
.v2-body .kpi-pill { min-width: 0; padding: 4px 7px; border-radius: 4px; }
.v2-body .tone-reg-high, .v2-body .tone-oas-high, .v2-body .tone-money-green { color: #087b51; background: #e7f7f0; }
.v2-body .tone-reg-mid, .v2-body .tone-oas-good { color: #2867b2; background: #eaf2fd; }
.v2-body .tone-reg-low, .v2-body .tone-oas-mid { color: #a96b10; background: #fff3df; }
.v2-body .tone-oas-low, .v2-body .tone-negative { color: #bd3448; background: #fdecef; }
.v2-body .tone-ftd.framed { color: #7353bf; border-color: #bba8ec; background: #f3efff; }
.v2-body .comparison-p1-head, .v2-body .comparison-p1-cell { background-color: #f8fbff; }
.v2-body .comparison-p2-head, .v2-body .comparison-p2-cell { background-color: #f8fafc; color: #657287; }
.v2-body .pagination-controls { padding: 10px 14px; border-top: 1px solid var(--v2-border); }
@media (max-width: 1380px) {
  .v2-body .control-grid { grid-template-columns: repeat(2, minmax(280px, 1fr)); }
  .v2-kpi-strip { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 820px) {
  .v2-sidebar { width: 252px; transform: translateX(-100%); box-shadow: 12px 0 35px rgba(2,12,29,.28); }
  .v2-shell.drawer-open .v2-sidebar { transform: translateX(0); }
  .v2-shell.sidebar-collapsed .v2-sidebar { width: 252px; }
  .v2-shell.sidebar-collapsed .v2-nav-label, .v2-shell.sidebar-collapsed .v2-badge { display: initial; }
  .v2-shell.sidebar-collapsed .v2-nav-item { justify-content: flex-start; padding-inline: 12px; }
  .v2-main, .v2-shell.sidebar-collapsed .v2-main { margin-left: 0; padding: 64px 12px 28px; }
  .v2-menu-button { position: fixed; top: 12px; left: 12px; z-index: 900; display: grid; width: 40px; height: 40px; place-items: center; border: 1px solid var(--v2-border); border-radius: 6px; color: #183253; background: #fff; box-shadow: var(--v2-shadow); }
  .v2-mobile-close { display: block; margin-left: auto; border: 0; color: #fff; background: transparent; font-size: 24px; }
  .v2-collapse { display: none; }
  .v2-drawer-overlay { position: fixed; inset: 0; z-index: 950; border: 0; background: rgba(4,14,30,.52); }
  .v2-shell.drawer-open .v2-drawer-overlay { display: block; }
  .v2-body .control-grid { grid-template-columns: 1fr; }
  .v2-kpi-strip { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 500px) {
  .v2-kpi-strip { grid-template-columns: 1fr; }
  .v2-body .metric-checklist { grid-template-columns: 1fr 1fr; }
  .v2-body .metric-filter-row { grid-template-columns: 1fr 54px; }
  .v2-body .metric-filter-row > input { grid-column: 1 / 2; }
}

/* Reports V2 reference-aligned visual refinement. */
:root { --v2-sidebar-width:246px; --v2-radius:9px; --v2-shadow:0 3px 14px rgba(22,42,76,.055); }
.v2-body { font-size:14px; }
.v2-sidebar { width:var(--v2-sidebar-width); padding:19px 12px 14px; }
.v2-brand { min-height:54px; gap:12px; padding:0 10px 20px; font-size:17px; }
.v2-brand-mark { width:38px; height:38px; flex-basis:38px; font-size:23px; }
.v2-nav { gap:6px; }
.v2-nav-item { min-height:47px; gap:12px; padding:0 13px; font-size:14.5px; }
.v2-icon svg,.v2-menu-button svg,.v2-mobile-close svg { width:21px; height:21px; }
.v2-collapse-open { display:none; }
.v2-shell.sidebar-collapsed .v2-collapse-close { display:none; }
.v2-shell.sidebar-collapsed .v2-collapse-open { display:grid; }
.v2-main { margin-left:var(--v2-sidebar-width); padding:18px 20px 38px; }
.v2-body .control-grid { grid-template-columns:minmax(0,1.08fr) minmax(0,1.16fr) minmax(0,.9fr) minmax(0,.96fr); gap:12px; align-items:stretch; }
.v2-body .control-grid>.panel { padding:16px; border-radius:9px; }
.v2-body .panel-title { display:flex; min-height:37px; align-items:flex-start; justify-content:space-between; gap:8px; margin:0 0 14px; padding:0 0 12px; }
.v2-body .panel-title h2 { display:flex; align-items:center; gap:6px; margin:0; color:#1a2a43; font-size:14px; line-height:22px; white-space:nowrap; }
.v2-body .panel-title h2::before { display:none; content:none; }
.v2-body .panel-title h2 svg { width:20px; height:20px; flex:0 0 20px; color:var(--v2-primary); }
.v2-body .section-number { color:var(--v2-primary); font-size:14px!important; }
.v2-body .panel-title>span,.v2-body .panel-title-action { padding-top:3px; border:0; color:var(--v2-muted); background:transparent; font-size:11.5px; font-weight:500; white-space:nowrap; }
.v2-body .panel-title-action { color:var(--v2-primary); cursor:pointer; }
.v2-body label { font-size:12px; font-weight:600; }
.v2-body .report-panel>label,.v2-body .preset-box>label,.v2-body .comparison-period>label { display:block; margin:11px 0 6px; }
.v2-body input,.v2-body select,.v2-body textarea,.v2-body .saved-select-button,.v2-body .split-select-button,.v2-body .filter-select-button,.v2-body .date-range-box { min-height:41px; border-radius:6px; font-size:13px; }
.v2-body .saved-select-button,.v2-body .split-select-button,.v2-body .filter-select-button { padding:9px 34px 9px 11px; }
.v2-body .range-picker { margin-top:10px; }
.v2-body .date-range-box { grid-template-columns:minmax(0,1fr) 26px minmax(0,1fr); }
.v2-body .date-part-button { min-height:47px; padding:6px 10px 6px 34px; background-image:url("/static/icons/lucide/calendar-days.svg"); background-position:10px center; background-repeat:no-repeat; background-size:17px; }
.v2-body .date-part-button span { font-size:10px; }
.v2-body .date-part-button strong { font-size:12px; }
.v2-body .date-arrow svg,.v2-body .range-calendar-head svg { width:16px; height:16px; color:#718096; }
.v2-body .range-calendar-head button { display:grid; place-items:center; }
.v2-body .preset-box { margin-top:11px; padding-top:0; border-top:0; }
.v2-body .save-report-row { align-items:end; gap:8px; }
.v2-body .save-report-row label { gap:6px; }
.v2-body .save-report-row button { min-width:90px; }
.v2-body .saved-actions { gap:8px; margin-top:8px; }
.v2-body .saved-actions button { min-height:35px; font-size:12px; }
.v2-body .report-actions { margin-top:13px; }
.v2-body button.primary,.v2-body button.secondary { min-height:41px; border-radius:6px; font-size:13px; font-weight:600; }
.v2-body .icon-button { display:inline-flex; align-items:center; justify-content:center; gap:7px; }
.v2-body .icon-button svg,.v2-body .subheading svg { width:17px; height:17px; flex:0 0 17px; }
.v2-body .metric-checklist { max-height:330px; grid-template-columns:1fr 1fr; gap:2px 8px; padding:2px 1px 8px; }
.v2-body .metric-checklist label { min-height:29px; padding:5px 4px; border:0; background:transparent; font-size:12px; }
.v2-body .metric-checklist input[type=checkbox],.v2-body .filter-options input[type=checkbox] { width:16px; height:16px; accent-color:var(--v2-primary); }
.v2-body .column-buckets { grid-template-columns:1.25fr .75fr; gap:8px; margin-top:7px; padding:10px; }
.v2-body .column-buckets>button { grid-column:1/-1; min-height:31px; }
.v2-body .column-buckets strong { font-size:12px; }
.v2-body .column-buckets span { font-size:10.5px; line-height:1.45; }
.v2-body .metric-filters { margin-top:10px; }
.v2-body .subheading { display:flex; align-items:center; gap:6px; font-size:12px; }
.v2-body .metric-filter-row { grid-template-columns:minmax(110px,1fr) 55px 70px auto; gap:6px; }
.v2-body .columns-actions,.v2-body .filters-actions { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:11px; padding-top:10px; border-top:1px solid #edf1f6; }
.v2-body .columns-actions button,.v2-body .filters-actions button { min-height:34px; color:#2461c5; font-size:12px; }
.v2-body .split-field { margin-bottom:9px; }
.v2-body .split-clear svg,.v2-body .filter-clear svg { width:15px; height:15px; pointer-events:none; }
.v2-body .filter-list { max-height:390px; gap:8px; }
.v2-body .afp-toggle { min-height:39px; margin-bottom:9px; font-size:12px; }
.v2-kpi-strip { grid-template-columns:repeat(5,minmax(145px,1fr)); gap:0; margin:15px 0; overflow:hidden; border:1px solid var(--v2-border); border-radius:9px; background:#fff; box-shadow:var(--v2-shadow); }
.v2-kpi-card { min-height:91px; gap:12px; padding:15px 17px; border:0; border-right:1px solid #edf1f6; border-radius:0; box-shadow:none; }
.v2-kpi-card:last-child { border-right:0; }
.v2-kpi-icon { width:43px; height:43px; flex-basis:43px; border-radius:9px; }
.v2-kpi-icon svg { width:22px; height:22px; }
.v2-kpi-card span:not(.v2-kpi-icon),.v2-kpi-card small { font-size:11.5px; }
.v2-kpi-card strong { font-size:21px; }
/* Reuse the old/base Reports result table styling verbatim by undoing V2 table overrides. */
.v2-body .report-area { margin-top:0; padding:12px; overflow:visible; border-radius:10px; }
.v2-body .report-toolbar { min-height:0; padding:0; margin-bottom:10px; border:0; }
.v2-body .report-toolbar h2 { font-size:17px; }
.v2-body .report-tools { font-size:12px; }
.v2-body .report-table-scroll { max-height:calc(100vh - 190px); border:1px solid #d9e6f3; border-radius:10px; overflow:scroll; }
.v2-body .report-table { width:max-content; min-width:100%; font-size:inherit; }
.v2-body .report-table th { position:sticky; top:0; z-index:5; height:auto; padding:13px 15px; color:#f8fafc; background:#2f3d52; font-size:15px; text-align:center; }
.v2-body .report-table th.sorted-column { background:#36517a; }
.v2-body .report-table td { height:auto; padding:13px 15px; color:#263244; background:transparent; font-size:15px; text-align:center; }
.v2-body .report-table .split-column { text-align:center; }
.v2-body .report-table tbody tr:nth-child(odd) { background:#edf6ff; }
.v2-body .report-table tbody tr:nth-child(even) { background:#fff; }
.v2-body .report-table tbody tr:hover { background:#eef4ff; }
.v2-body .report-table tbody tr:hover td { background:transparent; }
.v2-body .report-table tfoot td { position:sticky; bottom:0; z-index:4; color:#172033; background:#eaf0f7; font-weight:800; }
.v2-body .kpi-pill { min-width:0; padding:0; border-radius:999px; color:inherit; }
.v2-body .kpi-pill.framed { min-width:34px; padding:3px 9px; }
.v2-body .tone-reg-high { color:#129066; }.v2-body .tone-reg-mid { color:#c77012; }.v2-body .tone-reg-low { color:#e11d48; }
.v2-body .tone-ftd.framed { color:#087a52; background:#c9f8df; box-shadow:inset 0 0 0 1px #98ecc4; }
.v2-body .tone-money-green { color:#4d7c0f; }.v2-body .tone-oas-high { color:#087a52; }.v2-body .tone-oas-good { color:#129066; }.v2-body .tone-oas-mid { color:#c77012; }.v2-body .tone-oas-low { color:#e11d48; }.v2-body .tone-negative { color:#b42318; }
.v2-body .report-table th.comparison-p1-head { background:#2f6657; }.v2-body .report-table th.comparison-p2-head { background:#7a5b20; }
.v2-body .report-table td.comparison-p1-cell { background:#e8fbf4; }.v2-body .report-table td.comparison-p2-cell { background:#fff6e8; }
.v2-body .report-table tfoot td.comparison-p1-cell { background:#dff5ec; }.v2-body .report-table tfoot td.comparison-p2-cell { background:#ffefd2; }
.v2-body .pagination-controls { padding:0; margin-top:12px; border:0; }
@media(max-width:1500px) { .v2-body .control-grid { grid-template-columns:repeat(2,minmax(300px,1fr)); } .v2-kpi-strip { grid-template-columns:repeat(3,1fr); gap:10px; overflow:visible; border:0; background:transparent; box-shadow:none; } .v2-kpi-card { border:1px solid var(--v2-border); border-radius:9px; } }
@media(max-width:820px) { .v2-sidebar,.v2-shell.sidebar-collapsed .v2-sidebar { width:var(--v2-sidebar-width); } .v2-main,.v2-shell.sidebar-collapsed .v2-main { padding:65px 12px 28px; } .v2-menu-button { width:42px; height:42px; } .v2-mobile-close { display:grid; width:38px; height:38px; place-items:center; } .v2-body .control-grid { grid-template-columns:1fr; } .v2-kpi-strip { grid-template-columns:repeat(2,1fr); } }
@media(max-width:500px) { .v2-kpi-strip { grid-template-columns:1fr; } .v2-body .columns-actions { align-items:stretch; flex-direction:column; } }

.v2-body .sort-arrow svg { width:14px; height:14px; }
.v2-body .pagination-controls button { display:inline-flex; align-items:center; justify-content:center; gap:6px; }
.v2-body .pagination-controls button svg { width:16px; height:16px; }
.v2-body .report-area { box-shadow:0 18px 48px rgba(26,39,58,.1); }
.v2-body .tone-reg-high,.v2-body .tone-reg-mid,.v2-body .tone-reg-low,.v2-body .tone-money-green,.v2-body .tone-oas-high,.v2-body .tone-oas-good,.v2-body .tone-oas-mid,.v2-body .tone-oas-low,.v2-body .tone-negative { background:transparent; }


/* Focused Reports V2 builder and sidebar fixes. */
.v2-main { padding-top: 0; }
.v2-body select { appearance: none; -webkit-appearance: none; background-image: none; }
.v2-body .control-grid { grid-template-columns: minmax(0,25fr) minmax(0,29fr) minmax(0,20fr) minmax(0,26fr); align-items: start; }
.v2-body .control-grid > .panel { height: auto; }
.v2-body .report-panel > label,
.v2-body .comparison-period > label { margin: 7px 0 4px; }
.v2-body .range-picker { margin-top: 7px; }
.v2-body .report-actions { margin-top: 10px; }
.v2-body .preset-box { min-width: 0; margin-top: 19px; padding-top: 14px; border-top: 1px solid #edf1f6; }
.v2-body .save-report-row { grid-template-columns: minmax(0,1fr) auto; }
.v2-body .save-report-row label,
.v2-body .save-report-row input { min-width: 0; }
.v2-body .saved-select-menu button { font-weight: 400; }
.v2-body .metric-checklist { max-height: 200px; }
.v2-body .column-buckets { grid-template-columns: 1fr 1fr; }
.v2-body .column-selection-actions { display: grid; grid-column: 1/-1; grid-template-columns: 1fr 1fr; gap: 8px; }
.v2-body .column-selection-actions button { min-height: 34px; }
.v2-body .column-buckets > [data-save-columns] { grid-column: 1/-1; min-height: 34px; }
.v2-body .metric-filter-row { align-items: stretch; }
.v2-body .metric-filter-row > input,
.v2-body .metric-filter-row > button,
.v2-body .metric-filter-row .saved-select-button { height: 41px; min-height: 41px; }
.v2-body .columns-actions { justify-content: flex-start; }
.v2-body .split-field { margin-bottom: 4px; }
.v2-body .filter-list { max-height: none; overflow: visible; }
.v2-body .filter-list > .afp-filter { order: 2; }
.v2-body .filter-list > .afp-toggle { order: 1; margin: 0; }
.v2-body .filters-panel { overflow: visible; }
.v2-sidebar .ready-reports-button { min-height: 47px; padding: 0 13px; font: inherit; font-size: 14.5px; font-weight: 500; line-height: normal; }
.v2-user-control { position: relative; min-width: 0; }
.v2-user-copy { display: grid; min-width: 0; flex: 1; text-align: left; }
.v2-user-copy strong { overflow: hidden; color: #fff; font-size: 13px; font-weight: 600; text-overflow: ellipsis; }
.v2-user-copy small { overflow: hidden; color: #91a3be; font-size: 10px; font-weight: 500; text-overflow: ellipsis; text-transform: capitalize; }
.v2-user-chevron { width: 16px; height: 16px; flex: 0 0 16px; transition: transform .15s ease; }
.v2-user-button[aria-expanded="true"] .v2-user-chevron { transform: rotate(180deg); }
.v2-user-menu { position: absolute; z-index: 20; right: 0; bottom: calc(100% + 6px); left: 0; padding: 5px; border: 1px solid rgba(255,255,255,.14); border-radius: 7px; background: #102746; box-shadow: 0 10px 28px rgba(0,0,0,.25); }
.v2-user-menu a { display: flex; min-height: 38px; align-items: center; gap: 9px; padding: 0 10px; border-radius: 5px; color: #dce6f5; font-size: 12px; text-decoration: none; }
.v2-user-menu a:hover { color: #fff; background: rgba(255,255,255,.08); }
.v2-user-menu svg { width: 16px; height: 16px; }
.v2-shell.sidebar-collapsed .v2-user-menu { left: 58px; bottom: 0; width: 150px; }
@media (max-width: 1250px) {
  .v2-body .control-grid { grid-template-columns: repeat(2,minmax(280px,1fr)); }
}
@media (max-width: 820px) {
  .v2-main, .v2-shell.sidebar-collapsed .v2-main { padding-top: 64px; }
  .v2-shell.sidebar-collapsed .v2-user-menu { right: 0; bottom: calc(100% + 6px); left: 0; width: auto; }
}
@media (max-width: 620px) {
  .v2-body .control-grid { grid-template-columns: 1fr; }
}

/* Reports V2 targeted builder alignment. */
.v2-main { padding-top: 0; }
.v2-body select {
  appearance: none;
  -webkit-appearance: none;
  padding-right: 34px;
  background-color: #fff;
  background-image: linear-gradient(45deg, transparent 50%, #8a95a6 50%), linear-gradient(135deg, #8a95a6 50%, transparent 50%);
  background-position: calc(100% - 15px) calc(50% - 2px), calc(100% - 10px) calc(50% - 2px);
  background-repeat: no-repeat;
  background-size: 5px 5px, 5px 5px;
}
.v2-body .saved-select-button::after,
.v2-body .split-select-button::after,
.v2-body .filter-select-button::after {
  position: absolute;
  top: 50%;
  right: 13px;
  width: 0;
  height: 0;
  border: 0;
  border-right: 5px solid transparent;
  border-left: 5px solid transparent;
  border-top: 6px solid #8a95a6;
  background: transparent;
  content: "";
  -webkit-mask: none;
  mask: none;
  transform: translateY(-50%);
}
.v2-body .control-grid { grid-auto-rows: 1fr; align-items: stretch; }
.v2-body .control-grid > .panel { min-height: 590px; height: 100%; }
.v2-body .date-part-button { display: block; padding: 6px 10px 6px 34px; text-align: left; }
.v2-body .date-part-button span,
.v2-body .date-part-button strong { display: block; width: 100%; text-align: left; }
.v2-body .date-part-button strong { margin-top: 2px; font-size: 14px; line-height: 1.2; }
.v2-body .metric-checklist {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(var(--metric-picker-rows), 23px);
  grid-auto-flow: column;
  grid-auto-columns: minmax(0, 1fr);
  grid-auto-rows: 23px;
  gap: 0 6px;
  max-height: 200px;
}
.v2-body .metric-checklist label { min-height: 23px; padding: 1px 3px; font-weight: 400; }
.v2-body .column-buckets strong { font-weight: 700; }
.v2-body .column-buckets span { font-weight: 400; }
.v2-body .metric-filters[hidden] { display: none !important; }
.v2-body .splits-panel { display: block; }
.v2-body .split-field { margin-bottom: 8px; }
.v2-body .split-field:last-child { margin-bottom: 0; }
.v2-body .filter-list { gap: 8px; }
.v2-sidebar .ready-reports-button > .v2-icon {
  display: grid;
  width: 24px;
  min-width: 24px;
  height: auto;
  padding: 0;
  border-radius: 0;
  color: inherit;
  background: transparent;
  font-size: inherit;
  line-height: normal;
}
.v2-sidebar .ready-reports-button > .v2-nav-label {
  display: inline;
  min-width: 0;
  height: auto;
  padding: 0;
  border-radius: 0;
  color: inherit;
  background: transparent;
  font-size: inherit;
  line-height: normal;
}
.v2-sidebar .ready-reports-button.has-ready-reports { color: #facc15; }
.v2-sidebar .ready-reports-button > .v2-badge {
  display: inline-flex;
  min-width: 20px;
  height: 20px;
  align-items: center;
  justify-content: center;
  margin-left: auto;
  padding: 0 6px;
  border-radius: 999px;
  color: #172033;
  background: #facc15;
  font-size: 10px;
  line-height: 1;
}
@media (min-width: 821px) {
  .v2-shell.sidebar-collapsed .ready-reports-button { overflow: hidden; }
  .v2-shell.sidebar-collapsed .ready-reports-button > .v2-nav-label,
  .v2-shell.sidebar-collapsed .ready-reports-button > .v2-badge { display: none; }
}
@media (max-width: 820px) {
  .v2-main, .v2-shell.sidebar-collapsed .v2-main { padding-top: 64px; }
  .v2-body .control-grid { grid-auto-rows: auto; }
  .v2-body .control-grid > .panel { min-height: 0; height: auto; }
  .v2-shell.sidebar-collapsed .ready-reports-button > .v2-badge { display: inline-flex; }
}

/* Reports V2 responsive layout. Keep this final layer after legacy/base overrides. */
.v2-reports-page,
.v2-reports-page > form,
.v2-reports-page .control-grid,
.v2-reports-page .control-grid > .panel,
.v2-reports-page .report-area,
.v2-reports-page .report-toolbar,
.v2-reports-page .report-table-scroll,
.v2-reports-page .column-buckets,
.v2-reports-page .metric-filters,
.v2-reports-page .metric-filter-row,
.v2-reports-page .saved-select,
.v2-reports-page .range-picker,
.v2-reports-page .split-select,
.v2-reports-page .filter-box {
  min-width: 0;
  max-width: 100%;
}

.v2-reports-page { width: 100%; }
.v2-reports-page .control-grid {
  grid-template-columns: minmax(0, 25fr) minmax(0, 29fr) minmax(0, 20fr) minmax(0, 26fr);
  grid-auto-rows: 1fr;
  align-items: stretch;
  gap: 12px;
}
.v2-reports-page .control-grid > .panel {
  width: 100%;
  height: 100%;
  min-height: 590px;
  margin: 0;
  overflow: visible;
}
.v2-reports-page .panel-title,
.v2-reports-page .report-toolbar,
.v2-reports-page .report-tools,
.v2-reports-page .pagination-controls { flex-wrap: wrap; }
.v2-reports-page .panel-title h2,
.v2-reports-page .panel-title > span { min-width: 0; }
.v2-reports-page .saved-select-button,
.v2-reports-page .split-select-button,
.v2-reports-page .filter-select-button,
.v2-reports-page .date-part-button,
.v2-reports-page .button-row button,
.v2-reports-page .saved-actions button,
.v2-reports-page .columns-actions button,
.v2-reports-page .filters-actions button {
  max-width: 100%;
}
.v2-reports-page [data-custom-select-label],
.v2-reports-page [data-split-label],
.v2-reports-page [data-filter-label],
.v2-reports-page .active-filter-pill {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.v2-reports-page .range-popover { max-width: min(360px, calc(100vw - 24px)); }
.v2-reports-page .metric-checklist {
  grid-template-rows: repeat(var(--metric-picker-rows), minmax(23px, auto));
  grid-auto-rows: minmax(23px, auto);
  overscroll-behavior: contain;
}
.v2-reports-page .metric-checklist label {
  overflow-wrap: anywhere;
  line-height: 1.15;
}
.v2-reports-page .column-buckets > * { min-width: 0; }
.v2-reports-page .column-buckets > div { overflow-wrap: anywhere; }
.v2-reports-page .metric-filter-row > * { min-width: 0; }
.v2-reports-page .metric-filter-row > input,
.v2-reports-page .metric-filter-row > button,
.v2-reports-page .metric-filter-row .saved-select-button { width: 100%; }
.v2-reports-page .filter-list { min-width: 0; }
.v2-reports-page .filter-menu,
.v2-reports-page .split-select-menu,
.v2-reports-page .saved-select-menu { max-width: calc(100vw - 24px); }
.v2-reports-page .v2-kpi-strip { min-width: 0; }
.v2-reports-page .v2-kpi-card { min-width: 0; }
.v2-reports-page .report-area {
  width: 100%;
  margin-right: 0;
  margin-left: 0;
  overflow: hidden;
}
.v2-reports-page .report-toolbar { align-items: center; }
.v2-reports-page .report-tools { min-width: 0; }
.v2-reports-page .report-table-scroll {
  width: 100%;
  overflow: auto;
  overscroll-behavior-x: contain;
  overscroll-behavior-y: auto;
  -webkit-overflow-scrolling: touch;
}
.v2-reports-page .report-table { width: max-content; min-width: 100%; }

@media (max-width: 1440px) {
  .v2-reports-page .control-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v2-reports-page .v2-kpi-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    overflow: visible;
    border: 0;
    background: transparent;
    box-shadow: none;
  }
  .v2-reports-page .v2-kpi-card {
    border: 1px solid var(--v2-border);
    border-radius: 9px;
    box-shadow: var(--v2-shadow);
  }
  .v2-reports-page .v2-kpi-card:last-child { border-right: 1px solid var(--v2-border); }
}

@media (max-width: 1200px) {
  .v2-reports-page .control-grid > .panel { padding: 14px; }
  .v2-reports-page .metric-filter-row {
    grid-template-columns: 54px minmax(0, 1fr) 66px;
  }
  .v2-reports-page .metric-filter-row .metric-key-select { grid-column: 1 / -1; }
  .v2-reports-page .v2-kpi-card { padding: 13px; }
}

@media (max-width: 1024px) {
  .v2-sidebar,
  .v2-shell.sidebar-collapsed .v2-sidebar,
  html.v2-sidebar-precollapsed .v2-sidebar {
    width: min(var(--v2-sidebar-width), calc(100vw - 48px));
    height: 100vh;
    height: 100dvh;
    overflow-y: auto;
    overscroll-behavior: contain;
    transform: translateX(-100%);
    box-shadow: 12px 0 35px rgba(2, 12, 29, .28);
  }
  .v2-shell.drawer-open .v2-sidebar { transform: translateX(0); }
  .v2-shell.sidebar-collapsed .v2-nav-label,
  .v2-shell.sidebar-collapsed .v2-badge,
  html.v2-sidebar-precollapsed .v2-nav-label,
  html.v2-sidebar-precollapsed .v2-badge { display: initial; }
  .v2-shell.sidebar-collapsed .v2-nav-item,
  html.v2-sidebar-precollapsed .v2-nav-item {
    justify-content: flex-start;
    padding-inline: 12px;
  }
  .v2-shell.sidebar-collapsed .ready-reports-button > .v2-nav-label { display: inline; }
  .v2-shell.sidebar-collapsed .ready-reports-button > .v2-badge { display: inline-flex; }
  .v2-main,
  .v2-shell.sidebar-collapsed .v2-main,
  html.v2-sidebar-precollapsed .v2-main {
    margin-left: 0;
    padding: 64px 12px 28px;
  }
  .v2-menu-button {
    position: fixed;
    top: 12px;
    left: 12px;
    z-index: 900;
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border: 1px solid var(--v2-border);
    border-radius: 7px;
    color: #183253;
    background: #fff;
    box-shadow: var(--v2-shadow);
  }
  .v2-mobile-close {
    display: grid;
    width: 38px;
    height: 38px;
    margin-left: auto;
    place-items: center;
  }
  .v2-collapse { display: none; }
  .v2-drawer-overlay {
    position: fixed;
    inset: 0;
    z-index: 950;
    border: 0;
    background: rgba(4, 14, 30, .52);
  }
  .v2-shell.drawer-open .v2-drawer-overlay { display: block; }
  .v2-shell.sidebar-collapsed .v2-user-menu {
    right: 0;
    bottom: calc(100% + 6px);
    left: 0;
    width: auto;
  }
  .v2-reports-page .v2-kpi-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  .v2-reports-page .v2-kpi-strip {
    grid-template-columns: minmax(0, 1fr);
  }

  .v2-reports-page .v2-kpi-card:last-child {
    grid-column: auto;
  }

  .v2-main,
  .v2-shell.sidebar-collapsed .v2-main { padding: 64px 10px 24px; }
  .v2-reports-page .control-grid {
    grid-template-columns: minmax(0, 1fr);
    grid-auto-rows: auto;
    gap: 10px;
  }
  .v2-reports-page .control-grid > .panel {
    height: auto;
    min-height: 0;
    padding: 14px;
  }
  .v2-reports-page .v2-kpi-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .v2-reports-page .v2-kpi-card {
    min-height: 78px;
    gap: 9px;
    padding: 11px;
  }
  .v2-reports-page .v2-kpi-card:last-child { grid-column: 1 / -1; }
  .v2-reports-page .v2-kpi-icon {
    width: 36px;
    height: 36px;
    flex-basis: 36px;
  }
  .v2-reports-page .v2-kpi-icon svg { width: 19px; height: 19px; }
  .v2-reports-page .v2-kpi-card strong { font-size: 18px; }
  .v2-reports-page .report-area { padding: 10px; }
  .v2-reports-page .report-toolbar {
    align-items: flex-start;
    gap: 8px;
  }
  .v2-reports-page .report-tools {
    width: 100%;
    align-items: center;
    justify-content: space-between;
    flex-direction: row;
  }
  .v2-reports-page .report-tools label { flex-direction: row; }
  .v2-reports-page .report-tools select { width: 78px; }
  .v2-reports-page .report-table-scroll {
    max-height: min(65vh, 620px);
    max-height: min(65dvh, 620px);
    scrollbar-gutter: auto;
  }
  .v2-reports-page .report-table th,
  .v2-reports-page .report-table td {
    padding: 10px 11px;
    font-size: 13px;
  }
  .v2-reports-page .report-table th:first-child {
    left: 0;
    z-index: 7;
  }
  .v2-reports-page .report-table tbody td:first-child {
    position: sticky;
    left: 0;
    z-index: 2;
  }
  .v2-reports-page .report-table tbody tr:nth-child(odd) td:first-child { background: #edf6ff; }
  .v2-reports-page .report-table tbody tr:nth-child(even) td:first-child { background: #fff; }
  .v2-reports-page .report-table tfoot td:first-child {
    position: sticky;
    left: 0;
    z-index: 6;
    background: #eaf0f7;
  }
  .v2-reports-page .pagination-controls {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 7px;
  }
  .v2-reports-page .pagination-controls button {
    width: 100%;
    min-width: 0;
  }
  .v2-reports-page .pagination-controls span { text-align: center; }
}

@media (max-width: 560px) {
  .v2-main,
  .v2-shell.sidebar-collapsed .v2-main {
    padding-right: 8px;
    padding-bottom: 20px;
    padding-left: 8px;
  }
  .v2-reports-page .control-grid > .panel { padding: 12px; }
  .v2-reports-page .panel-title {
    min-height: 34px;
    align-items: center;
    margin-bottom: 11px;
    padding-bottom: 9px;
  }
  .v2-reports-page .panel-title h2 { font-size: 13px; white-space: normal; }
  .v2-reports-page .panel-title > span { font-size: 10.5px; white-space: normal; text-align: right; }
  .v2-reports-page .metric-checklist {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(var(--metric-picker-rows), minmax(34px, auto));
    grid-auto-rows: minmax(34px, auto);
    max-height: 280px;
    gap: 1px 6px;
  }
  .v2-reports-page .metric-checklist label {
    min-height: 34px;
    padding: 3px 2px;
    font-size: 11px;
    white-space: normal;
  }
  .v2-reports-page .metric-checklist input[type=checkbox] {
    width: 15px;
    height: 15px;
  }
  .v2-reports-page .column-buckets { grid-template-columns: minmax(0, 1fr); }
  .v2-reports-page .column-buckets > div,
  .v2-reports-page .column-selection-actions,
  .v2-reports-page .column-buckets > [data-save-columns] { grid-column: 1 / -1; }
  .v2-reports-page .column-selection-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v2-reports-page .metric-filter-row {
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 7px;
  }
  .v2-reports-page .metric-filter-row .metric-key-select { grid-column: 1 / -1; }
  .v2-reports-page .metric-filter-row .metric-op-select,
  .v2-reports-page .metric-filter-row .metric-op-select .saved-select-button {
    width: 72px;
    min-width: 72px;
  }
  .v2-reports-page .metric-filter-row > .danger-outline { grid-column: 1 / -1; }
  .v2-reports-page .date-group-field { grid-template-columns: minmax(0, 1fr); }
  .v2-reports-page .range-popover {
    position: fixed;
    top: 64px;
    right: 8px;
    bottom: auto;
    left: 8px;
    width: auto;
    max-width: none;
    max-height: calc(100vh - 76px);
    max-height: calc(100dvh - 76px);
    overflow-y: auto;
    transform: none;
  }
  .v2-reports-page .filter-menu {
    position: fixed;
    top: auto;
    right: 8px;
    bottom: 8px;
    left: 8px;
    width: auto;
    max-width: none;
    max-height: min(68vh, 520px);
    max-height: min(68dvh, 520px);
    border-radius: 10px;
  }
  .v2-reports-page .ready-report-prompt { width: 100%; padding: 18px; }
  .v2-reports-page .ready-report-prompt h2 { font-size: 19px; }
  .v2-reports-page .modal-actions { display: grid; grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 420px) {
  .v2-reports-page .date-range-box { grid-template-columns: minmax(0, 1fr); }
  .v2-reports-page .date-arrow { display: none; }
  .v2-reports-page .date-part-button {
    min-height: 52px;
    border-bottom: 1px solid var(--v2-border);
  }
  .v2-reports-page .date-part-button:last-child { border-bottom: 0; }
  .v2-reports-page .save-report-row { grid-template-columns: minmax(0, 1fr); }
  .v2-reports-page .save-report-row button { width: 100%; }
  .v2-reports-page .saved-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v2-reports-page .v2-kpi-card {
    min-height: 72px;
    padding: 9px;
  }
  .v2-reports-page .v2-kpi-icon {
    width: 32px;
    height: 32px;
    flex-basis: 32px;
  }
  .v2-reports-page .v2-kpi-card strong { font-size: 17px; }
  .v2-reports-page .report-tools { align-items: flex-start; flex-direction: column; }
  .v2-reports-page .pagination-controls { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .v2-reports-page .pagination-controls span { grid-column: 1 / -1; grid-row: 1; }
}

@media (max-width: 350px) {
  .v2-reports-page .button-row,
  .v2-reports-page .saved-actions,
  .v2-reports-page .column-selection-actions { grid-template-columns: minmax(0, 1fr); }
  .v2-reports-page .v2-kpi-strip { grid-template-columns: minmax(0, 1fr); }
  .v2-reports-page .v2-kpi-card:last-child { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
  .v2-sidebar,
  .v2-main { transition: none; }
}


/* Login V2. */
.v2-auth-body {
  min-height: 100vh;
  overflow-x: hidden;
  color: #fff;
  background: radial-gradient(circle at 18% 14%, rgba(36, 107, 254, .38), transparent 32%), radial-gradient(circle at 78% 72%, rgba(56, 139, 255, .24), transparent 38%), linear-gradient(135deg, #041329 0%, #0a2650 46%, #061a36 100%);
}
.v2-auth-body .v2-shell { min-height: 100vh; }
.v2-auth-body .v2-main,
.v2-auth-body .v2-shell.sidebar-collapsed .v2-main {
  min-height: 100vh;
  margin-left: 0;
  padding: 0;
}
.v2-login-page {
  display: grid;
  min-height: 100vh;
  min-height: 100dvh;
  grid-template-columns: minmax(0, .92fr) minmax(420px, 450px);
  align-items: center;
  gap: clamp(34px, 5vw, 76px);
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
  padding: clamp(22px, 4.5vw, 52px) clamp(22px, 5vw, 58px) clamp(54px, 8vw, 92px);
}
.v2-login-branding { min-width: 0; }
.v2-login-logo-row {
  display: flex;
  align-items: center;
  gap: 14px;
  color: #fff;
  font-size: clamp(30px, 4vw, 46px);
  font-weight: 800;
  line-height: 1.05;
}
.v2-login-logo {
  width: clamp(54px, 7vw, 76px);
  height: clamp(54px, 7vw, 76px);
  flex: 0 0 auto;
  border-radius: 14px;
  box-shadow: 0 18px 40px rgba(0, 0, 0, .18);
}
.v2-login-kicker {
  margin: 16px 0 0 2px;
  color: rgba(217, 230, 251, .82);
  font-size: clamp(16px, 1.65vw, 21px);
  font-weight: 500;
  line-height: 1.35;
}
.v2-login-branding h1 {
  max-width: 520px;
  margin: clamp(42px, 8vh, 86px) 0 0;
  color: #fff;
  font-size: clamp(23px, 2.55vw, 34px);
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: 0;
}
.v2-login-card {
  width: 100%;
  max-width: 450px;
  min-width: 0;
  padding: 40px 38px 42px;
  border: 1px solid rgba(255, 255, 255, .78);
  border-radius: 8px;
  color: var(--v2-text);
  background: #fff;
  box-shadow: 0 30px 76px rgba(0, 0, 0, .26);
}
.v2-login-card-heading { margin-bottom: 31px; text-align: center; }
.v2-login-card-heading h2 {
  margin: 0;
  color: #162033;
  font-size: 31px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: 0;
}
.v2-login-card-heading p {
  margin: 8px 0 0;
  color: #6d7b91;
  font-size: 16px;
  line-height: 1.4;
}
.v2-login-form { display: grid; gap: 10px; }
.v2-login-form label {
  color: #344157;
  font-size: 15px;
  font-weight: 650;
}
.v2-login-form input {
  width: 100%;
  min-height: 54px;
  padding: 0 15px;
  border: 1px solid #d9e3f0;
  border-radius: 6px;
  color: #162033;
  background: #fff;
  font-size: 16px;
}
.v2-login-form input:focus { border-color: #9dbbff; }
.v2-password-field { position: relative; min-width: 0; margin-bottom: 8px; }
.v2-password-field input { padding-right: 48px; }
.v2-password-toggle {
  position: absolute;
  top: 50%;
  right: 9px;
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  transform: translateY(-50%);
  border: 0;
  border-radius: 6px;
  color: #718096;
  background: transparent;
  cursor: pointer;
}
.v2-password-toggle:hover { color: var(--v2-primary); background: #f3f7ff; }
.v2-password-toggle svg { width: 20px; height: 20px; grid-area: 1 / 1; }
.v2-password-toggle .v2-eye-off-icon { display: none; }
.v2-password-toggle.is-visible .v2-eye-icon { display: none; }
.v2-password-toggle.is-visible .v2-eye-off-icon { display: block; }
.v2-login-totp-label { margin-top: 2px; }
.v2-login-submit {
  width: 100%;
  min-height: 56px !important;
  margin-top: 16px;
  border: 0;
  border-radius: 6px !important;
  background: var(--v2-primary) !important;
  font-size: 17px !important;
  font-weight: 700 !important;
}
.v2-login-submit:hover { background: #155be8 !important; }
.v2-login-error {
  margin: -10px 0 18px;
  padding: 12px 13px;
  border: 1px solid #f7c8d0;
  border-radius: 6px;
  color: #b42336;
  background: #fff1f3;
  font-size: 13px;
  line-height: 1.35;
}
.v2-auth-body .v2-main > .status { display: none; }

@media (max-width: 980px) {
  .v2-login-page {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
    align-content: start;
    justify-items: center;
    padding: 34px 20px 30px;
  }
  .v2-login-branding { width: min(450px, 100%); text-align: left; }
  .v2-login-branding h1 { margin-top: 24px; font-size: 25px; }
  .v2-login-card { max-width: 450px; padding: 34px 28px 36px; }
}

@media (max-width: 480px) {
  .v2-login-page { padding: 30px 14px 24px; }
  .v2-login-logo-row { gap: 11px; font-size: 26px; }
  .v2-login-logo { width: 46px; height: 46px; border-radius: 11px; }
  .v2-login-kicker { font-size: 16px; }
  .v2-login-branding h1 { font-size: 23px; }
  .v2-login-card { padding: 28px 18px 30px; }
  .v2-login-card-heading h2 { font-size: 26px; }
}


/* Ready Reports V2. */
.v2-ready-reports-page {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  padding: 0;
}
.v2-ready-heading {
  margin: 0 0 15px;
}
.v2-ready-heading h1 {
  color: #172033;
  font-size: 26px;
  font-weight: 700;
  line-height: 1.18;
  letter-spacing: 0;
}
.v2-ready-heading p {
  margin-top: 6px;
  color: #718096;
  font-size: 13px;
  line-height: 1.45;
}
.v2-ready-info {
  display: flex;
  min-width: 0;
  align-items: flex-start;
  gap: 12px;
  margin: 0 0 16px;
  padding: 13px 15px;
  border: 1px solid #d9e6f3;
  border-radius: 8px;
  color: #55657b;
  background: #f8fbff;
}
.v2-ready-info-icon {
  display: grid;
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  place-items: center;
  border-radius: 7px;
  color: #246bfe;
  background: #eaf1ff;
}
.v2-ready-info-icon svg {
  width: 17px;
  height: 17px;
}
.v2-ready-info div {
  display: grid;
  min-width: 0;
  gap: 2px;
}
.v2-ready-info strong {
  color: #1f2d43;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
}
.v2-ready-info span:not(.v2-ready-info-icon) {
  color: #6d7b91;
  font-size: 12px;
  line-height: 1.35;
}
.v2-ready-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid #dfe7f1;
  border-radius: 9px;
  background: #fff;
  box-shadow: 0 18px 48px rgba(26,39,58,.1);
}
.v2-ready-table-wrap {
  width: 100%;
  min-width: 0;
  overflow: auto;
  overscroll-behavior-x: contain;
  overscroll-behavior-y: auto;
  -webkit-overflow-scrolling: touch;
}
.v2-ready-table {
  width: max-content;
  min-width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  color: #263244;
  font-size: 13px;
}
.v2-ready-table th {
  position: sticky;
  top: 0;
  z-index: 3;
  height: 46px;
  padding: 12px 15px;
  border-bottom: 1px solid #e5edf6;
  color: #4e5b70;
  background: #f8faff;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  text-align: left;
  white-space: nowrap;
}
.v2-ready-table td {
  height: 54px;
  padding: 12px 15px;
  border-bottom: 1px solid #edf1f6;
  background: #fff;
  color: #273449;
  font-size: 13px;
  line-height: 1.35;
  vertical-align: middle;
  white-space: nowrap;
}
.v2-ready-table tbody tr:last-child td {
  border-bottom: 0;
}
.v2-ready-table tbody tr:hover td {
  background: #f5f8ff;
}
.v2-ready-table td small {
  display: block;
  margin-top: 3px;
  color: #7a8798;
  font-size: 11px;
  line-height: 1.25;
}
.v2-ready-report-name {
  max-width: 380px;
  overflow-wrap: anywhere;
  color: #172033;
  font-size: 13.5px;
  font-weight: 600;
  white-space: normal;
}
.v2-ready-report-error {
  max-width: 380px;
  margin-top: 5px;
  color: #b91c1c;
  font-size: 12px;
  line-height: 1.35;
  white-space: normal;
}
.v2-ready-status {
  display: inline-flex;
  min-height: 24px;
  align-items: center;
  justify-content: center;
  padding: 0 9px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}
.v2-ready-status-queued {
  border-color: #bfdbfe;
  color: #2563eb;
  background: #eff6ff;
}
.v2-ready-status-processing {
  border-color: #fed7aa;
  color: #c2410c;
  background: #fff7ed;
}
.v2-ready-status-ready {
  border-color: #a7f3d0;
  color: #047857;
  background: #ecfdf5;
}
.v2-ready-status-failed {
  border-color: #fecaca;
  color: #b91c1c;
  background: #fef2f2;
}
.v2-ready-actions {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
}
.v2-ready-actions form {
  margin: 0;
}
.v2-ready-download,
.v2-ready-delete {
  display: inline-flex;
  min-height: 32px;
  align-items: center;
  justify-content: center;
  padding: 0 13px;
  border: 1px solid transparent;
  border-radius: 6px;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
}
.v2-ready-download {
  color: #fff;
  background: #246bfe;
  box-shadow: 0 5px 13px rgba(36,107,254,.18);
}
.v2-ready-download:hover {
  background: #1d5cdc;
}
.v2-ready-delete {
  color: #c2354a;
  border-color: #f0c5cd;
  background: #fff;
}
.v2-ready-delete:hover {
  color: #a82235;
  border-color: #e9a8b4;
  background: #fff7f8;
}
.v2-ready-muted {
  color: #7a8798;
  font-size: 12px;
  font-weight: 600;
}
.v2-ready-empty {
  height: 88px !important;
  color: #6d7b91 !important;
  text-align: center;
}
.v2-ready-table .highlight-row td {
  background: #eaf3ff !important;
  box-shadow: inset 0 1px 0 #bfdbfe, inset 0 -1px 0 #bfdbfe;
}

@media (max-width: 1024px) {
  .v2-ready-reports-page { padding-top: 4px; }
  .v2-ready-card { overflow: hidden; }
  .v2-ready-table-wrap { max-width: 100%; }
  .v2-ready-table { min-width: 1080px; }
}

@media (max-width: 700px) {
  .v2-ready-heading h1 { font-size: 23px; }
  .v2-ready-info { padding: 12px; }
  .v2-ready-table { min-width: 980px; font-size: 12px; }
  .v2-ready-table th,
  .v2-ready-table td { padding: 10px 12px; }
  .v2-ready-table th:first-child,
  .v2-ready-table tbody td:first-child {
    position: sticky;
    left: 0;
  }
  .v2-ready-table th:first-child { z-index: 5; }
  .v2-ready-table tbody td:first-child { z-index: 2; box-shadow: 1px 0 0 #edf1f6; }
  .v2-ready-report-name,
  .v2-ready-report-error { max-width: 230px; }
}

@media (max-width: 420px) {
  .v2-ready-heading { margin-bottom: 12px; }
  .v2-ready-info { gap: 10px; }
  .v2-ready-info-icon { width: 26px; height: 26px; flex-basis: 26px; }
  .v2-ready-actions { gap: 6px; }
  .v2-ready-download,
  .v2-ready-delete { min-height: 30px; padding-inline: 10px; font-size: 11px; }
}


/* Shared V2 admin pages. */
.v2-admin-page {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  padding: 18px 0 0;
}
.v2-admin-heading {
  display: flex;
  min-width: 0;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin: 0 0 15px;
}
.v2-admin-heading h1 {
  margin: 0;
  color: #172033;
  font-size: 26px;
  font-weight: 700;
  line-height: 1.18;
  letter-spacing: 0;
}
.v2-admin-heading p {
  margin: 6px 0 0;
  color: #718096;
  font-size: 13px;
  line-height: 1.45;
}
.v2-admin-heading > form,
.v2-admin-heading > button {
  flex: 0 0 auto;
}
.v2-admin-banner {
  display: flex;
  min-width: 0;
  align-items: flex-start;
  gap: 12px;
  margin: 0 0 16px;
  padding: 13px 15px;
  border: 1px solid #d9e6f3;
  border-radius: 8px;
  background: #f8fbff;
}
.v2-admin-banner > span {
  display: grid;
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  place-items: center;
  border-radius: 7px;
  color: #246bfe;
  background: #eaf1ff;
}
.v2-admin-banner svg,
.v2-card-head > svg {
  width: 17px;
  height: 17px;
}
.v2-admin-banner strong {
  display: block;
  color: #1f2d43;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
}
.v2-admin-banner p {
  margin: 2px 0 0;
  color: #6d7b91;
  font-size: 12px;
  line-height: 1.35;
}
.v2-admin-banner-warning {
  border-color: #f4d9a9;
  background: #fffaf0;
}
.v2-admin-banner-warning > span {
  color: #b46d09;
  background: #fff0cf;
}
.v2-admin-card {
  min-width: 0;
  margin: 0 0 16px;
  border: 1px solid #dfe7f1;
  border-radius: 9px;
  background: #fff;
  box-shadow: 0 18px 48px rgba(26,39,58,.1);
}
.v2-filter-card {
  padding: 15px;
}
.v2-card-head {
  display: flex;
  min-height: 54px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  border-bottom: 1px solid #edf1f6;
}
.v2-card-head h2 {
  margin: 0;
  color: #1a2a43;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.25;
}
.v2-card-head p {
  margin: 3px 0 0;
  color: #718096;
  font-size: 12px;
  line-height: 1.3;
}
.v2-card-head > svg {
  color: #246bfe;
}
.v2-filter-grid {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(220px, 1fr) auto;
  align-items: end;
  gap: 12px;
}
.v2-log-filter-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(160px, 1fr)) minmax(140px, .7fr) minmax(260px, 1.25fr) auto;
  align-items: end;
  gap: 10px;
}
.v2-filter-grid label,
.v2-log-filter-grid label,
.v2-admin-form label {
  display: grid;
  min-width: 0;
  gap: 6px;
  color: #344157;
  font-size: 12px;
  font-weight: 600;
}
.v2-filter-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}
.v2-filter-actions button,
.v2-filter-actions a,
.v2-link-button,
.v2-action-link,
.v2-action-secondary,
.v2-action-danger,
.v2-table-footer button {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  justify-content: center;
  padding: 0 12px;
  border-radius: 6px;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
}
.v2-link-button,
.v2-action-link {
  border: 1px solid transparent;
  color: #2461c5;
  background: transparent;
}
.v2-link-button:hover,
.v2-action-link:hover {
  background: #f0f5ff;
}
.v2-action-secondary {
  border: 1px solid #cfe0f5;
  color: #234a84;
  background: #f8fbff;
}
.v2-action-secondary:hover {
  border-color: #b8d0ee;
  background: #edf5ff;
}
.v2-action-danger {
  border: 1px solid #f0c5cd;
  color: #c2354a;
  background: #fff;
}
.v2-action-danger:hover {
  border-color: #e9a8b4;
  background: #fff7f8;
}
.v2-admin-table-wrap {
  width: 100%;
  min-width: 0;
  overflow: auto;
  overscroll-behavior-x: contain;
  overscroll-behavior-y: auto;
  -webkit-overflow-scrolling: touch;
}
.v2-admin-table {
  width: max-content;
  min-width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  color: #263244;
  font-size: 13px;
}
.v2-admin-table th {
  position: sticky;
  top: 0;
  z-index: 3;
  height: 46px;
  padding: 12px 15px;
  border-bottom: 1px solid #e5edf6;
  color: #4e5b70;
  background: #f8faff;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  text-align: left;
  white-space: nowrap;
}
.v2-admin-table td {
  height: 54px;
  max-width: 360px;
  padding: 12px 15px;
  border-bottom: 1px solid #edf1f6;
  background: #fff;
  color: #273449;
  font-size: 13px;
  line-height: 1.35;
  vertical-align: middle;
  white-space: nowrap;
}
.v2-admin-table tbody tr:last-child td {
  border-bottom: 0;
}
.v2-admin-table tbody tr:hover td {
  background: #f5f8ff;
}
.v2-admin-table td strong {
  display: inline-block;
  max-width: 280px;
  overflow: hidden;
  color: #172033;
  font-weight: 700;
  text-overflow: ellipsis;
  vertical-align: middle;
}
.v2-admin-table .v2-table-error {
  max-width: 300px;
  overflow: hidden;
  color: #b91c1c;
  text-overflow: ellipsis;
}
.v2-muted-row td {
  color: #738197;
  background: #fbfcff;
}
.v2-row-actions {
  max-width: none !important;
}
.v2-row-actions,
.v2-row-actions form {
  display: flex;
  align-items: center;
  gap: 7px;
}
.v2-row-actions {
  flex-wrap: nowrap;
}
.v2-row-actions form {
  margin: 0;
}
.v2-admin-status {
  display: inline-flex;
  min-height: 24px;
  align-items: center;
  justify-content: center;
  margin-left: 6px;
  padding: 0 9px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}
.v2-status-ready {
  border-color: #a7f3d0;
  color: #047857;
  background: #ecfdf5;
}
.v2-status-disabled,
.v2-status-muted,
.v2-status-archived {
  border-color: #d9e2ee;
  color: #64748b;
  background: #f4f7fb;
}
.v2-status-warning {
  border-color: #fed7aa;
  color: #c2410c;
  background: #fff7ed;
}
.v2-empty-cell {
  height: 88px !important;
  color: #6d7b91 !important;
  text-align: center;
}
.v2-muted-text {
  color: #7a8798;
  font-size: 12px;
  font-weight: 600;
}
.v2-table-footer {
  display: flex;
  min-height: 49px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 16px;
  border-top: 1px solid #edf1f6;
  color: #718096;
  font-size: 12px;
}
.v2-table-footer div {
  display: flex;
  gap: 8px;
}
.v2-table-footer button {
  border: 1px solid #d7e3f2;
  color: #8a95a6;
  background: #f8fbff;
  cursor: default;
}
.v2-settings-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.v2-settings-card {
  margin: 0;
}
.v2-settings-password-card {
  grid-column: 1 / -1;
}
.v2-admin-form {
  display: grid;
  gap: 12px;
  padding: 16px;
}
.v2-admin-form input,
.v2-admin-form .saved-select-button,
.v2-filter-grid .saved-select-button,
.v2-log-filter-grid .saved-select-button,
.v2-log-filter-grid .date-range-box {
  min-height: 41px;
  border-radius: 6px;
  font-size: 13px;
}
.v2-admin-form p {
  margin: -2px 0 0;
  color: #718096;
  font-size: 12px;
  line-height: 1.4;
}
.v2-password-form {
  grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
  align-items: end;
}
.v2-modal .modal-form,
.v2-modal.settings-form {
  border-radius: 10px;
}
.v2-modal .panel-title h2 {
  color: #1a2a43;
  font-size: 15px;
}
.v2-modal .panel-title button,
.v2-modal .modal-close {
  min-height: 32px;
  border: 1px solid #d7e3f2;
  border-radius: 6px;
  color: #4d5d73;
  background: #fff;
}
.v2-users-table td:first-child strong {
  max-width: 190px;
}
.v2-messages-page .v2-admin-table td:nth-child(5) {
  max-width: 460px;
  white-space: normal;
}
.v2-partner-page .v2-admin-table {
  min-width: 1320px;
}
.v2-users-page .v2-admin-table {
  min-width: 980px;
}
.v2-messages-page .v2-admin-table {
  min-width: 1050px;
}
.v2-body .v2-admin-page .multi-select,
.v2-body .v2-admin-page .time-picker,
.v2-body .v2-admin-page .range-picker,
.v2-body .v2-admin-page .saved-select {
  min-width: 0;
}
.v2-body .v2-admin-page .multi-select-menu,
.v2-body .v2-admin-page .saved-select-menu {
  z-index: 60;
}

@media (max-width: 1280px) {
  .v2-log-filter-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .v2-log-filter-grid .v2-filter-actions { grid-column: 1 / -1; }
  .v2-password-form { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .v2-password-form button { grid-column: 1 / -1; justify-self: start; }
}

@media (max-width: 1024px) {
  .v2-admin-page { padding-top: 4px; }
  .v2-admin-heading { align-items: center; }
  .v2-admin-card { overflow: hidden; }
  .v2-admin-table-wrap { max-width: 100%; }
}

@media (max-width: 760px) {
  .v2-admin-heading {
    align-items: stretch;
    flex-direction: column;
    gap: 12px;
  }
  .v2-admin-heading h1 { font-size: 23px; }
  .v2-admin-heading > button,
  .v2-admin-heading > form,
  .v2-admin-heading > form button { width: 100%; }
  .v2-filter-grid,
  .v2-log-filter-grid,
  .v2-settings-grid,
  .v2-password-form {
    grid-template-columns: minmax(0, 1fr);
  }
  .v2-filter-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .v2-filter-actions > * { width: 100%; }
  .v2-card-head { padding: 13px 12px; }
  .v2-filter-card,
  .v2-admin-form { padding: 12px; }
  .v2-admin-table th,
  .v2-admin-table td { padding: 10px 12px; font-size: 12px; }
  .v2-row-actions { gap: 6px; }
  .v2-action-link,
  .v2-action-secondary,
  .v2-action-danger { min-height: 31px; padding-inline: 10px; font-size: 11px; }
  .v2-table-footer { align-items: stretch; flex-direction: column; }
  .v2-table-footer div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 430px) {
  .v2-admin-banner { gap: 10px; padding: 12px; }
  .v2-admin-banner > span { width: 26px; height: 26px; flex-basis: 26px; }
  .v2-filter-actions { grid-template-columns: minmax(0, 1fr); }
}


/* V2 admin refinements requested after initial rollout. */
.v2-admin-page,
.v2-ready-reports-page,
.v2-settings-page {
  padding-top: 0;
}
.v2-partner-page .v2-table-card,
.v2-users-page .v2-table-card {
  width: 100%;
}
.v2-partner-page .v2-card-head h2 {
  font-size: 15px;
}
.v2-partner-page .v2-admin-table,
.v2-ready-reports-page .v2-ready-table {
  width: 100%;
  min-width: 1320px;
}
.v2-partner-page .v2-admin-table th,
.v2-partner-page .v2-admin-table td,
.v2-ready-reports-page .v2-ready-table th,
.v2-ready-reports-page .v2-ready-table td {
  text-align: center;
}
.v2-partner-page .v2-admin-table td {
  height: 58px;
  padding: 14px 18px;
}
.v2-partner-page .v2-admin-table th {
  padding: 13px 18px;
}
.v2-action-primary {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  justify-content: center;
  padding: 0 13px;
  border: 1px solid #246bfe;
  border-radius: 6px;
  color: #fff;
  background: #246bfe;
  box-shadow: 0 5px 13px rgba(36,107,254,.16);
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
}
.v2-action-primary:hover {
  border-color: #1d5cdc;
  background: #1d5cdc;
}
.v2-partner-page .v2-muted-row td {
  color: #8a95a6;
  background: #f1f4f8;
}
.v2-partner-page .v2-muted-row:hover td {
  background: #e9eef5;
}
.v2-partner-page .v2-muted-row td strong {
  color: #66758a;
}
.v2-partner-page .v2-status-archived {
  border-color: #c9d3e0;
  color: #687789;
  background: #e6ebf1;
}
.v2-partner-page .v2-table-footer {
  justify-content: flex-start;
}
.v2-ready-download {
  gap: 7px;
}
.v2-ready-download svg {
  width: 15px;
  height: 15px;
  flex: 0 0 15px;
}
.v2-ready-reports-page .v2-ready-table td:first-child,
.v2-ready-reports-page .v2-ready-table th:first-child {
  text-align: center;
}
.v2-ready-reports-page .v2-ready-report-name,
.v2-ready-reports-page .v2-ready-report-error {
  margin-right: auto;
  margin-left: auto;
}
.v2-users-page .v2-admin-heading {
  margin-bottom: 16px;
}
.v2-users-card {
  overflow: hidden;
}
.v2-users-page .v2-admin-table {
  width: 100%;
  min-width: 1120px;
  table-layout: auto;
}
.v2-users-page .v2-admin-table th,
.v2-users-page .v2-admin-table td {
  height: 66px;
  padding: 16px 22px;
  font-size: 14px;
  text-align: left;
}
.v2-users-page .v2-admin-table th {
  height: 52px;
  color: #4d5d73;
  font-size: 12.5px;
  letter-spacing: 0;
}
.v2-users-page .v2-admin-table td:first-child strong {
  max-width: 220px;
  font-size: 14.5px;
}
.v2-users-page .v2-admin-table th:nth-child(1),
.v2-users-page .v2-admin-table td:nth-child(1) { width: 18%; }
.v2-users-page .v2-admin-table th:nth-child(2),
.v2-users-page .v2-admin-table td:nth-child(2) { width: 13%; }
.v2-users-page .v2-admin-table th:nth-child(3),
.v2-users-page .v2-admin-table td:nth-child(3) { width: 12%; }
.v2-users-page .v2-admin-table th:nth-child(4),
.v2-users-page .v2-admin-table td:nth-child(4) { width: 10%; }
.v2-users-page .v2-admin-table th:nth-child(5),
.v2-users-page .v2-admin-table td:nth-child(5) { width: 15%; }
.v2-users-page .v2-admin-table th:nth-child(6),
.v2-users-page .v2-admin-table td:nth-child(6) { width: 32%; }
.v2-user-status {
  display: inline-flex;
  min-height: 28px;
  align-items: center;
  gap: 7px;
  padding: 0 11px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  text-transform: lowercase;
}
.v2-user-status i {
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: currentColor;
}
.v2-user-status.is-active {
  color: #047857;
  background: #ecfdf5;
  box-shadow: inset 0 0 0 1px #a7f3d0;
}
.v2-user-status.is-disabled {
  color: #64748b;
  background: #f4f7fb;
  box-shadow: inset 0 0 0 1px #d9e2ee;
}
.v2-user-row-actions {
  flex-wrap: wrap;
  gap: 9px;
}
.v2-user-action {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 0 13px;
  border-radius: 7px;
  font: inherit;
  font-size: 12.5px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
}
.v2-user-action svg {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
}
.v2-user-action-primary {
  border: 1px solid #246bfe;
  color: #fff;
  background: #246bfe;
  box-shadow: 0 5px 13px rgba(36,107,254,.16);
}
.v2-user-action-primary:hover {
  border-color: #1d5cdc;
  background: #1d5cdc;
}
.v2-user-action-danger {
  border: 1px solid #efb8c2;
  color: #c2354a;
  background: #fff;
}
.v2-user-action-danger:hover {
  border-color: #e696a5;
  background: #fff7f8;
}
.v2-user-action-neutral {
  border: 1px solid #d7e3f2;
  color: #344157;
  background: #fff;
}
.v2-user-action-neutral:hover {
  border-color: #c5d5ea;
  background: #f8fbff;
}
.v2-users-footer {
  min-height: 54px;
  font-size: 13px;
}
.v2-users-footer div {
  margin-left: auto;
}
.v2-users-footer button {
  min-height: 34px;
  min-width: 82px;
}

@media (max-width: 1024px) {
  .v2-admin-page,
  .v2-ready-reports-page,
  .v2-settings-page { padding-top: 0; }
}

@media (max-width: 760px) {
  .v2-users-page .v2-admin-table th,
  .v2-users-page .v2-admin-table td {
    height: 58px;
    padding: 13px 14px;
    font-size: 13px;
  }
  .v2-user-action { min-height: 34px; padding-inline: 11px; font-size: 12px; }
  .v2-users-footer div { margin-left: 0; }
}


/* Users V2 action row fix. */
.v2-users-page .v2-admin-table {
  width: max-content;
  min-width: 100%;
  table-layout: auto;
}
.v2-users-page .v2-admin-table th,
.v2-users-page .v2-admin-table td {
  height: auto;
  min-height: 66px;
  vertical-align: middle;
}
.v2-users-page .v2-admin-table th:nth-child(6),
.v2-users-page .v2-admin-table td:nth-child(6) {
  width: auto;
  min-width: 620px;
}
.v2-users-page .v2-user-row-actions {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
  gap: 9px;
  white-space: nowrap;
}
.v2-users-page .v2-user-row-actions form {
  display: inline-flex;
  flex: 0 0 auto;
  margin: 0;
}
.v2-users-page .v2-user-action {
  flex: 0 0 auto;
}

@media (max-width: 760px) {
  .v2-users-page .v2-admin-table {
    min-width: 1180px;
  }
  .v2-users-page .v2-admin-table th,
  .v2-users-page .v2-admin-table td {
    min-height: 58px;
  }
  .v2-users-page .v2-admin-table th:nth-child(6),
  .v2-users-page .v2-admin-table td:nth-child(6) {
    min-width: 600px;
  }
}


/* Users V2 compact row height. */
.v2-users-page .v2-admin-table th,
.v2-users-page .v2-admin-table td {
  min-height: 54px;
  padding-top: 11px;
  padding-bottom: 11px;
}
.v2-users-page .v2-admin-table th {
  min-height: 44px;
}
.v2-users-page .v2-user-action {
  min-height: 34px;
}
.v2-users-page .v2-user-status {
  min-height: 25px;
}

@media (max-width: 760px) {
  .v2-users-page .v2-admin-table th,
  .v2-users-page .v2-admin-table td {
    min-height: 50px;
    padding-top: 10px;
    padding-bottom: 10px;
  }
  .v2-users-page .v2-user-action {
    min-height: 32px;
  }
}


/* Consolidated Logs and Messages V2. */
.v2-logs-page .v2-admin-table { min-width: 900px; }
.v2-logs-page .v2-filter-card { width: 100%; }
.v2-messages-page .v2-table-card { width: 100%; }
.v2-messages-page .v2-admin-table { width: 100%; min-width: 1120px; }
.v2-messages-page .v2-admin-table th,
.v2-messages-page .v2-admin-table td { text-align: center; }
.v2-messages-page .v2-admin-table .v2-table-error { max-width: 420px; white-space: normal; text-align: center; }
.v2-messages-page .v2-row-actions { justify-content: center; }
@media (max-width: 760px) {
  .v2-logs-page .v2-admin-table { min-width: 900px; }
  .v2-messages-page .v2-admin-table { min-width: 1120px; }
}


/* Operational V2 pages: Messages, Logs, Queue, Monitoring, Update Jobs. */
.v2-messages-page { padding-bottom: 36px; }
.v2-messages-page .v2-table-card { width: 100%; overflow: hidden; }
.v2-messages-page .v2-admin-table { width: 100%; min-width: 1120px; }
.v2-messages-page .v2-admin-table th,
.v2-messages-page .v2-admin-table td { text-align: center; vertical-align: middle; }
.v2-messages-page .v2-admin-table .v2-table-error { max-width: 440px; white-space: normal; text-align: center; }
.v2-messages-page .v2-row-actions { justify-content: center; }
.v2-action-disabled,
.v2-action-disabled:hover,
.v2-action-disabled:disabled { border-color: #d9e2ee; color: #8a95a6; background: #f4f7fb; box-shadow: none; cursor: default; opacity: 1; }

.v2-logs-page { padding-bottom: 36px; }
.v2-logs-page .v2-log-filter-grid { grid-template-columns: repeat(4, minmax(150px, 1fr)) minmax(140px, .75fr) minmax(260px, 1.2fr) auto; align-items: end; }
.v2-logs-page .v2-date-range-field { align-self: end; }
.v2-logs-page .range-picker { width: 100%; margin: 0; }
.v2-logs-page .date-range-box { width: 100%; min-height: 41px; grid-template-columns: minmax(0, 1fr) 24px minmax(0, 1fr); align-items: center; overflow: hidden; }
.v2-logs-page .date-part-button { min-height: 41px; padding: 5px 8px 5px 30px; }
.v2-logs-page .date-part-button strong { max-width: 100%; overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.v2-logs-card { overflow: hidden; border-radius: 9px; }
.v2-logs-card .v2-admin-table-wrap { max-height: calc(100vh - 300px); overflow: auto; }
.v2-logs-page .v2-admin-table { width: 100%; min-width: 980px; }
.v2-logs-page .v2-admin-table th,
.v2-logs-page .v2-admin-table td { text-align: center; }
.v2-logs-page .clickable-row { cursor: pointer; }

.v2-ops-kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 0 0 16px; }
.v2-ops-kpi { display: flex; min-width: 0; min-height: 106px; align-items: center; gap: 13px; padding: 16px; border: 1px solid #dfe7f1; border-radius: 9px; background: #fff; box-shadow: 0 18px 48px rgba(26,39,58,.08); }
.v2-ops-kpi > span { display: grid; width: 44px; height: 44px; flex: 0 0 44px; place-items: center; border-radius: 9px; color: #246bfe; background: #eaf1ff; }
.v2-ops-kpi svg { width: 22px; height: 22px; }
.v2-ops-kpi div { min-width: 0; }
.v2-ops-kpi small { display: block; color: #718096; font-size: 12px; font-weight: 700; }
.v2-ops-kpi strong { display: block; margin: 5px 0; overflow: hidden; color: #172033; font-size: 20px; line-height: 1.15; text-overflow: ellipsis; white-space: nowrap; }
.v2-ops-kpi p { margin: 0; overflow: hidden; color: #6d7b91; font-size: 12px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }

.v2-queue-page { padding-bottom: 36px; }
.v2-queue-active-card { overflow: hidden; }
.v2-queue-list { display: grid; gap: 10px; padding: 14px 16px 16px; }
.v2-queue-job-card { border: 1px solid #dfe7f1; border-radius: 8px; background: #fff; box-shadow: none; }
.v2-queue-empty { display: grid; min-height: 160px; place-items: center; gap: 6px; padding: 26px; color: #718096; text-align: center; }
.v2-queue-empty svg { width: 36px; height: 36px; color: #8ea0b8; }
.v2-queue-empty strong { color: #1f2d43; font-size: 15px; }
.v2-queue-empty span { font-size: 12px; }
.v2-queue-page .v2-admin-table { width: 100%; min-width: 1120px; }
.v2-queue-page .v2-admin-table th,
.v2-queue-page .v2-admin-table td { text-align: center; }
.v2-queue-page .v2-table-footer div { margin-left: auto; }

.v2-system-health-card { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 14px; margin: 0 0 16px; padding: 18px; border: 1px solid #dfe7f1; border-radius: 9px; background: #fff; box-shadow: 0 18px 48px rgba(26,39,58,.08); }
.v2-system-health-card.status-healthy { border-color: #bfead8; }
.v2-system-health-card.status-warning,
.v2-system-health-card.status-working { border-color: #f4d9a9; }
.v2-system-health-card.status-critical { border-color: #f2b9c2; }
.v2-system-health-icon { display: grid; width: 50px; height: 50px; place-items: center; border-radius: 10px; color: #159866; background: #e9f8f2; }
.v2-system-health-icon svg { width: 26px; height: 26px; }
.v2-system-health-card span { color: #718096; font-size: 12px; font-weight: 800; text-transform: uppercase; }
.v2-system-health-card h1 { margin: 3px 0; color: #172033; font-size: 25px; line-height: 1.18; }
.v2-system-health-card p { margin: 0; color: #6d7b91; font-size: 13px; }
.v2-system-health-card button svg { width: 17px; height: 17px; }
.v2-monitoring-page { padding-bottom: 36px; }
.v2-monitoring-kpi-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; margin-bottom: 16px; }
.v2-monitoring-kpi { display: flex; min-width: 0; min-height: 126px; gap: 11px; padding: 14px; border: 1px solid #dfe7f1; border-radius: 9px; background: #fff; box-shadow: 0 18px 48px rgba(26,39,58,.08); }
.v2-monitoring-kpi > span { display: grid; width: 38px; height: 38px; flex: 0 0 38px; place-items: center; border-radius: 8px; color: #246bfe; background: #eaf1ff; }
.v2-monitoring-kpi svg { width: 20px; height: 20px; }
.v2-monitoring-kpi div { min-width: 0; }
.v2-monitoring-kpi small { display: block; color: #718096; font-size: 11px; font-weight: 700; }
.v2-monitoring-kpi p { margin: 8px 0 0; color: #5f6d82; font-size: 12px; line-height: 1.35; }
.v2-monitor-card { overflow: hidden; }
.v2-monitor-card .v2-card-head h2 { display: inline-flex; align-items: center; gap: 8px; }
.v2-monitor-card .v2-card-head svg { width: 18px; height: 18px; color: #246bfe; }
.v2-monitor-two-col,
.v2-monitor-grid-two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.v2-monitor-two-col { padding: 16px; }
.v2-monitor-section-title { display: flex; align-items: center; gap: 9px; margin-bottom: 12px; }
.v2-monitor-section-title strong { font-size: 16px; }
.v2-monitor-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0; }
.v2-monitor-facts.compact { padding: 16px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.v2-monitor-facts div { min-width: 0; padding: 12px; border: 1px solid #edf1f6; border-radius: 8px; background: #f8fbff; }
.v2-monitor-facts dt { margin: 0 0 5px; color: #718096; font-size: 11px; font-weight: 700; }
.v2-monitor-facts dd { margin: 0; overflow: hidden; color: #172033; font-size: 13px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.v2-run-list { display: grid; gap: 8px; }
.v2-run-list div { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 42px; padding: 10px 12px; border: 1px solid #edf1f6; border-radius: 8px; background: #f8fbff; }
.v2-run-list span { color: #718096; font-size: 12px; }
.v2-run-list strong { color: #172033; font-size: 12px; text-align: right; }
.v2-monitor-grid-two { margin-bottom: 16px; }
.v2-monitor-mini-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 16px; }
.v2-monitor-mini-grid .monitoring-mini-card { min-height: 138px; padding: 14px; border: 1px solid #edf1f6; border-radius: 8px; background: #f8fbff; }
.capacity-slot { margin: 16px 16px 0; padding: 14px; border: 1px solid #edf1f6; border-radius: 8px; background: #f8fbff; }
.capacity-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 12px 16px 0; }
.capacity-grid article { padding: 14px; border: 1px solid #edf1f6; border-radius: 8px; background: #fff; }
.monitoring-chart { height: 150px; margin: 0 16px 16px; }
.monitoring-list { display: grid; gap: 8px; padding: 16px; }
.monitoring-list > div,
.monitoring-list > a { display: grid; grid-template-columns: auto 96px minmax(0, 1fr); align-items: center; gap: 10px; min-height: 42px; padding: 10px 12px; border: 1px solid #edf1f6; border-radius: 8px; color: inherit; background: #f8fbff; text-decoration: none; }
.monitoring-list p { margin: 0; color: #273449; font-size: 12px; line-height: 1.35; }
.monitoring-list span:not(.monitoring-dot) { color: #718096; font-size: 11px; }
.monitoring-infra { padding-bottom: 16px; }
.monitoring-infra summary { padding: 16px; cursor: pointer; font-weight: 700; }
.monitoring-infra-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; padding: 0 16px; }
.monitoring-infra-grid article { display: flex; gap: 9px; padding: 11px; border: 1px solid #edf1f6; border-radius: 8px; background: #f8fbff; }
.monitoring-infra-grid span { display: block; color: #172033; font-size: 12px; font-weight: 700; }
.monitoring-infra-grid small { color: #718096; font-size: 11px; }
.monitoring-dot { display: inline-block; width: 9px; height: 9px; flex: 0 0 9px; border-radius: 999px; background: #c17a13; }
.monitoring-dot.status-healthy,
.monitoring-dot.status-success { background: #159866; }
.monitoring-dot.status-critical,
.monitoring-dot.status-error { background: #d04455; }
.monitoring-dot.status-working,
.monitoring-dot.status-warning { background: #c17a13; }
.monitoring-badge { display: inline-flex; min-height: 24px; align-items: center; gap: 7px; margin-top: 7px; padding: 0 9px; border-radius: 999px; font-size: 11px; font-weight: 700; }
.monitoring-badge i { width: 7px; height: 7px; border-radius: 999px; background: currentColor; }
.monitoring-badge.status-healthy { color: #047857; background: #ecfdf5; }
.monitoring-badge.status-working,
.monitoring-badge.status-warning { color: #b45f06; background: #fff7ed; }
.monitoring-badge.status-critical,
.monitoring-badge.status-error { color: #b91c1c; background: #fef2f2; }
.monitoring-badge.status-unknown,
.monitoring-badge.status-not_monitored { color: #64748b; background: #f4f7fb; }

.v2-update-job-page { padding-bottom: 36px; }
.v2-update-summary-card { padding: 16px; }
.v2-update-stats { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.v2-update-stats article { min-width: 0; padding: 14px; border: 1px solid #edf1f6; border-radius: 8px; background: #f8fbff; }
.v2-update-stats span { display: block; color: #718096; font-size: 11px; font-weight: 700; }
.v2-update-stats strong { display: block; margin-top: 6px; overflow: hidden; color: #172033; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.v2-update-job-page .v2-admin-table { width: 100%; min-width: 980px; }
.v2-update-job-page .v2-admin-table th,
.v2-update-job-page .v2-admin-table td { text-align: center; }

@media (max-width: 1380px) {
  .v2-monitoring-kpi-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .v2-ops-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v2-update-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 1024px) {
  .v2-logs-card .v2-admin-table-wrap { max-height: none; }
  .v2-monitor-two-col,
  .v2-monitor-grid-two { grid-template-columns: minmax(0, 1fr); }
  .v2-monitor-facts.compact { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .monitoring-infra-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .v2-logs-page .v2-log-filter-grid,
  .v2-ops-kpi-grid,
  .v2-monitoring-kpi-grid,
  .v2-monitor-mini-grid,
  .capacity-grid,
  .v2-monitor-facts,
  .v2-monitor-facts.compact,
  .monitoring-infra-grid,
  .v2-update-stats { grid-template-columns: minmax(0, 1fr); }
  .v2-system-health-card { grid-template-columns: minmax(0, 1fr); align-items: start; }
  .v2-system-health-card button { width: 100%; }
  .monitoring-list > div,
  .monitoring-list > a { grid-template-columns: auto minmax(0, 1fr); }
  .monitoring-list span:not(.monitoring-dot) { grid-column: 2; }
  .monitoring-list p { grid-column: 2; }
  .v2-logs-page .date-range-box { grid-template-columns: minmax(0, 1fr); }
  .v2-logs-page .date-arrow { display: none; }
}


/* Final requested V2 refinements: actions, table heads, filters, monitoring icons, update job hero, report metrics density. */
.v2-action-primary,
.v2-action-danger,
.v2-ready-delete {
  gap: 7px;
}
.v2-action-primary svg,
.v2-action-danger svg,
.v2-ready-delete svg {
  width: 15px;
  height: 15px;
  flex: 0 0 15px;
}

.v2-partner-page .v2-admin-table th,
.v2-users-page .v2-admin-table th,
.v2-messages-page .v2-admin-table th,
.v2-logs-page .v2-admin-table th,
.v2-queue-page .v2-admin-table th,
.v2-update-job-page .v2-admin-table th {
  border-bottom-color: #263d5e;
  color: #f8fbff;
  background: #17345a;
}
.v2-partner-page .v2-admin-table th:first-child,
.v2-users-page .v2-admin-table th:first-child,
.v2-messages-page .v2-admin-table th:first-child,
.v2-logs-page .v2-admin-table th:first-child,
.v2-queue-page .v2-admin-table th:first-child,
.v2-update-job-page .v2-admin-table th:first-child {
  border-top-left-radius: 0;
}

.v2-filter-card .v2-card-head + form,
.v2-logs-page .v2-card-head + .v2-log-filter-grid,
.v2-partner-page .v2-card-head + .v2-filter-grid {
  margin-top: 14px;
}
.v2-partner-page .v2-filter-grid {
  grid-template-columns: minmax(260px, 1fr) minmax(260px, 1fr) auto;
}
.v2-body .v2-admin-page .compact-multi-select {
  position: relative;
  width: 100%;
  min-width: 0;
}
.v2-body .v2-admin-page .compact-multi-select.multi-open {
  z-index: 5200;
}
.v2-body .v2-admin-page .compact-multi-select .saved-select-button {
  position: relative;
  display: flex;
  width: 100%;
  min-height: 41px;
  align-items: center;
  padding: 9px 34px 9px 11px;
  border: 1px solid #dfe7f1;
  border-radius: 6px;
  color: #172033;
  background: #fff;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.2;
  overflow: hidden;
}
.v2-body .v2-admin-page .compact-multi-select .saved-select-button span {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.v2-body .v2-admin-page .compact-multi-select .saved-select-button.placeholder {
  color: #8a95a6;
}
.v2-body .v2-admin-page .multi-select-menu {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  left: 0;
  z-index: 5400;
  max-height: 278px;
  overflow: auto;
  padding: 7px;
  border: 1px solid #cfdced;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 18px 42px rgba(22, 42, 76, .16);
}
.v2-body .v2-admin-page .multi-select-search {
  width: 100%;
  height: 36px;
  margin: 0 0 7px;
  padding: 0 10px;
  border: 1px solid #d8e2f0;
  border-radius: 7px;
  color: #172033;
  background: #fff;
  font: inherit;
  font-size: 13px;
}
.v2-body .v2-admin-page .multi-select-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  margin: 0 0 5px;
  padding: 0 0 7px;
  border-bottom: 1px solid #e6edf7;
}
.v2-body .v2-admin-page .multi-select-actions button {
  min-height: 29px;
  padding: 0 8px;
  border: 1px solid #d8e3f1;
  border-radius: 6px;
  color: #172033;
  background: #f8fbff;
  font-size: 12px;
  font-weight: 500;
}
.v2-body .v2-admin-page .multi-select-menu label {
  display: flex;
  min-height: 32px;
  align-items: center;
  gap: 8px;
  padding: 6px 8px;
  border-radius: 6px;
  color: #172033;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
}
.v2-body .v2-admin-page .multi-select-menu label:hover {
  background: #eaf2ff;
}
.v2-body .v2-admin-page .multi-select-menu input[type="checkbox"] {
  width: 15px;
  height: 15px;
  flex: 0 0 15px;
  margin: 0;
  accent-color: #246bfe;
}
.v2-body .v2-admin-page .multi-select-menu label span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.v2-logs-page .v2-log-filter-grid {
  margin-top: 16px;
}
.v2-logs-page .v2-filter-card {
  padding-top: 0;
}
.v2-logs-page .v2-filter-card .v2-card-head {
  margin: 0 -15px;
}

.v2-monitoring-kpi > span svg,
.v2-ops-kpi > span svg,
.v2-monitor-card .v2-card-head h2 svg {
  display: block;
  stroke: currentColor;
}

.v2-update-summary-card {
  padding: 22px;
  border-color: #cbd9ec;
  box-shadow: 0 24px 58px rgba(26,39,58,.13);
}
.v2-update-stats {
  gap: 16px;
}
.v2-update-stats article {
  min-height: 132px;
  padding: 20px;
  border-color: #dbe6f4;
  border-radius: 10px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}
.v2-update-stats span {
  font-size: 13px;
  text-transform: uppercase;
}
.v2-update-stats strong {
  margin-top: 12px;
  font-size: 20px;
  line-height: 1.25;
}
.v2-update-stats .log-level {
  min-height: 30px;
  padding: 6px 12px;
  font-size: 14px;
}

@media (min-width: 761px) {
  .v2-reports-page .metric-checklist {
    grid-template-rows: repeat(var(--metric-picker-rows), 19px);
    grid-auto-rows: 19px;
    gap: 0 6px;
    max-height: 174px;
  }
  .v2-reports-page .metric-checklist label {
    min-height: 19px;
    padding: 0 3px;
    line-height: 1.1;
  }
}

@media (max-width: 1280px) {
  .v2-partner-page .v2-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v2-partner-page .v2-filter-actions { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
  .v2-partner-page .v2-filter-grid { grid-template-columns: minmax(0, 1fr); }
  .v2-body .v2-admin-page .multi-select-menu {
    max-height: min(58vh, 420px);
  }
  .v2-update-summary-card { padding: 14px; }
  .v2-update-stats article { min-height: 96px; padding: 14px; }
  .v2-update-stats strong { font-size: 16px; }
}


/* V2 table frame polish and centered admin tables. */
.v2-ready-reports-page .v2-ready-table th {
  border-bottom-color: #263d5e;
  color: #f8fbff;
  background: #17345a;
}
.v2-partner-page .v2-table-card,
.v2-users-page .v2-table-card,
.v2-messages-page .v2-table-card,
.v2-logs-page .v2-table-card,
.v2-queue-page .v2-table-card,
.v2-update-job-page .v2-table-card,
.v2-ready-reports-page .v2-ready-card {
  padding: 14px;
}
.v2-partner-page .v2-admin-table-wrap,
.v2-users-page .v2-admin-table-wrap,
.v2-messages-page .v2-admin-table-wrap,
.v2-logs-page .v2-admin-table-wrap,
.v2-queue-page .v2-admin-table-wrap,
.v2-update-job-page .v2-admin-table-wrap,
.v2-ready-reports-page .v2-ready-table-wrap {
  border: 1px solid #dfe7f1;
  border-radius: 9px;
  overflow: auto;
  background: #fff;
}
.v2-partner-page .v2-card-head,
.v2-users-page .v2-card-head,
.v2-messages-page .v2-card-head,
.v2-logs-page .v2-card-head,
.v2-queue-page .v2-card-head,
.v2-update-job-page .v2-card-head {
  margin: -14px -14px 14px;
}
.v2-ready-reports-page .v2-ready-table th:first-child,
.v2-partner-page .v2-admin-table th:first-child,
.v2-users-page .v2-admin-table th:first-child,
.v2-messages-page .v2-admin-table th:first-child,
.v2-logs-page .v2-admin-table th:first-child,
.v2-queue-page .v2-admin-table th:first-child,
.v2-update-job-page .v2-admin-table th:first-child {
  border-top-left-radius: 8px;
}
.v2-ready-reports-page .v2-ready-table th:last-child,
.v2-partner-page .v2-admin-table th:last-child,
.v2-users-page .v2-admin-table th:last-child,
.v2-messages-page .v2-admin-table th:last-child,
.v2-logs-page .v2-admin-table th:last-child,
.v2-queue-page .v2-admin-table th:last-child,
.v2-update-job-page .v2-admin-table th:last-child {
  border-top-right-radius: 8px;
}
.v2-users-page .v2-admin-table th,
.v2-users-page .v2-admin-table td {
  text-align: center;
}
.v2-users-page .v2-user-row-actions {
  justify-content: center;
}
.v2-users-page .v2-admin-table td:first-child strong {
  max-width: 220px;
  text-align: center;
}

@media (max-width: 760px) {
  .v2-partner-page .v2-table-card,
  .v2-users-page .v2-table-card,
  .v2-messages-page .v2-table-card,
  .v2-logs-page .v2-table-card,
  .v2-queue-page .v2-table-card,
  .v2-update-job-page .v2-table-card,
  .v2-ready-reports-page .v2-ready-card {
    padding: 10px;
  }
  .v2-partner-page .v2-card-head,
  .v2-users-page .v2-card-head,
  .v2-messages-page .v2-card-head,
  .v2-logs-page .v2-card-head,
  .v2-queue-page .v2-card-head,
  .v2-update-job-page .v2-card-head {
    margin: -10px -10px 10px;
  }
}


/* Compact V2 filter multi-select menus. */
.v2-partner-page .multi-select-menu,
.v2-logs-page .multi-select-menu {
  max-height: 238px;
  padding: 5px;
}
.v2-partner-page .multi-select-search,
.v2-logs-page .multi-select-search {
  height: 31px;
  margin-bottom: 5px;
  padding: 0 8px;
  font-size: 12px;
}
.v2-partner-page .multi-select-actions,
.v2-logs-page .multi-select-actions {
  gap: 5px;
  padding-bottom: 5px;
  margin-bottom: 3px;
}
.v2-partner-page .multi-select-actions button,
.v2-logs-page .multi-select-actions button {
  min-height: 25px;
  padding: 0 6px;
  font-size: 11px;
}
.v2-partner-page .multi-select-menu label,
.v2-logs-page .multi-select-menu label,
.v2-body .v2-admin-page.v2-partner-page .multi-select-menu label,
.v2-body .v2-admin-page.v2-logs-page .multi-select-menu label {
  display: flex;
  min-height: 26px;
  align-items: center;
  gap: 7px;
  padding: 4px 6px;
  font-size: 11.5px;
  line-height: 1.15;
}
.v2-partner-page .multi-select-menu input[type="checkbox"],
.v2-logs-page .multi-select-menu input[type="checkbox"],
.v2-body .v2-admin-page.v2-partner-page .multi-select-menu input[type="checkbox"],
.v2-body .v2-admin-page.v2-logs-page .multi-select-menu input[type="checkbox"] {
  width: 13px;
  height: 13px;
  flex: 0 0 13px;
  margin: 0;
  align-self: center;
}
.v2-partner-page .multi-select-menu label span,
.v2-logs-page .multi-select-menu label span {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}


/* Extra compact alignment for Partner Programs / Logs V2 multi-select options. */
.v2-partner-page .multi-select-menu label,
.v2-logs-page .multi-select-menu label,
.v2-body .v2-admin-page.v2-partner-page .multi-select-menu label,
.v2-body .v2-admin-page.v2-logs-page .multi-select-menu label {
  min-height: 20px;
  align-items: center;
  gap: 5px;
  padding: 2px 5px;
  font-size: 10.5px;
  line-height: 1.1;
}
.v2-partner-page .multi-select-menu label span,
.v2-logs-page .multi-select-menu label span,
.v2-body .v2-admin-page.v2-partner-page .multi-select-menu label span,
.v2-body .v2-admin-page.v2-logs-page .multi-select-menu label span {
  display: flex;
  width: auto;
  min-height: 0;
  align-items: center;
  padding: 0;
  border: 0;
  background: transparent;
  line-height: 1.1;
}
.v2-partner-page .multi-select-menu input[type="checkbox"],
.v2-logs-page .multi-select-menu input[type="checkbox"],
.v2-body .v2-admin-page.v2-partner-page .multi-select-menu input[type="checkbox"],
.v2-body .v2-admin-page.v2-logs-page .multi-select-menu input[type="checkbox"] {
  width: 12px;
  min-width: 12px;
  height: 12px;
  min-height: 12px;
  flex: 0 0 12px;
}
.v2-partner-page .multi-select-menu,
.v2-logs-page .multi-select-menu {
  padding-top: 4px;
  padding-bottom: 4px;
}

/* Requested targeted V2 fixes. */
.v2-body .v2-reports-page .report-table th {
  border-bottom-color: #263d5e;
  background: #17345a;
}
.v2-body .v2-reports-page .report-table th.sorted-column,
.v2-body .v2-reports-page .report-table th.comparison-p1-head,
.v2-body .v2-reports-page .report-table th.comparison-p2-head {
  background: #17345a;
}
.v2-queue-page .v2-queue-active-card .v2-card-head {
  margin: 0;
  border-radius: 8px 8px 0 0;
}
.v2-users-page .v2-admin-table td:nth-child(6) {
  text-align: left;
}
.v2-users-page .v2-user-row-actions {
  justify-content: flex-start;
}


/* Authoritative shared V2 layout and responsive layer. */
html[data-ui-version="v2"],
body.v2-body {
  width: 100%;
  max-width: 100%;
}

body.v2-body {
  min-width: 0;
  overflow-x: hidden;
  overflow-x: clip;
}

.v2-shell,
.v2-main,
.v2-main > *,
.v2-admin-page,
.v2-ready-reports-page,
.v2-reports-page {
  min-width: 0;
  max-width: 100%;
}

.v2-shell { width: 100%; }
.v2-sidebar { overflow: hidden; }

.v2-drawer-overlay,
.v2-drawer-overlay[hidden],
.v2-shell:not(.drawer-open) > .v2-drawer-overlay {
  display: none !important;
  pointer-events: none !important;
}

html.v2-drawer-active,
html.v2-drawer-active body {
  overflow: hidden;
  overscroll-behavior: none;
}

@media (min-width: 1025px) {
  .v2-sidebar,
  .v2-main {
    transition: none !important;
  }

  .v2-drawer-overlay,
  .v2-shell.drawer-open > .v2-drawer-overlay {
    display: none !important;
    pointer-events: none !important;
  }
}

@media (min-width: 1025px) and (max-width: 1440px) {
  .v2-main { padding-right: 16px; padding-left: 16px; }
}

@media (max-width: 1024px) {
  html[data-ui-version="v2"] {
    overflow-y: auto;
    scrollbar-gutter: auto;
  }

  .v2-sidebar,
  .v2-shell.sidebar-collapsed .v2-sidebar,
  html.v2-sidebar-precollapsed .v2-sidebar {
    top: 0;
    right: auto;
    bottom: 0;
    left: 0;
    width: min(var(--v2-sidebar-width), calc(100vw - 44px));
    height: 100vh;
    height: 100dvh;
    overflow-x: hidden;
    overflow-y: auto;
    visibility: hidden;
    pointer-events: none;
    transform: translate3d(-100%, 0, 0);
    transition: transform .2s ease, visibility 0s linear .2s !important;
    overscroll-behavior: contain;
  }

  .v2-shell.drawer-open .v2-sidebar {
    visibility: visible;
    pointer-events: auto;
    transform: translate3d(0, 0, 0);
    transition-delay: 0s !important;
  }

  .v2-shell.sidebar-collapsed .v2-nav-label,
  html.v2-sidebar-precollapsed .v2-nav-label {
    display: initial;
  }

  .v2-shell.sidebar-collapsed .v2-badge,
  html.v2-sidebar-precollapsed .v2-badge {
    display: inline-flex;
  }

  .v2-shell.sidebar-collapsed .v2-user-copy,
  html.v2-sidebar-precollapsed .v2-user-copy {
    display: grid;
  }

  .v2-shell.sidebar-collapsed .v2-nav-item,
  html.v2-sidebar-precollapsed .v2-nav-item {
    justify-content: flex-start;
    padding-inline: 13px;
  }

  .v2-main,
  .v2-shell.sidebar-collapsed .v2-main,
  html.v2-sidebar-precollapsed .v2-main {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    padding: 64px 12px 28px;
  }

  .v2-menu-button {
    z-index: 900;
    display: grid;
  }

  .v2-drawer-overlay {
    position: fixed;
    inset: 0;
    z-index: 950;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: rgba(4, 14, 30, .52);
    box-shadow: none;
  }

  .v2-shell.drawer-open > .v2-drawer-overlay:not([hidden]) {
    display: block !important;
    pointer-events: auto !important;
  }

  .v2-filter-card { overflow: visible; }

  .v2-admin-table-wrap,
  .v2-ready-table-wrap,
  .v2-reports-page .report-table-scroll {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
  }

  .v2-log-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v2-log-filter-grid .v2-filter-actions { grid-column: 1 / -1; }
  .v2-partner-page .v2-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v2-partner-page .v2-filter-actions { grid-column: 1 / -1; }

  .v2-body .v2-admin-page .multi-select-menu,
  .v2-body .v2-admin-page .saved-select-menu,
  .v2-body .v2-admin-page .time-picker-menu,
  .v2-body .v2-admin-page .month-picker-menu,
  .v2-body .v2-admin-page .range-popover {
    max-width: calc(100vw - 24px);
  }

  .v2-modal,
  .v2-modal.access-dialog {
    width: min(920px, calc(100vw - 24px));
    max-width: calc(100vw - 24px);
    max-height: calc(100vh - 24px);
    max-height: calc(100dvh - 24px);
  }
}

@media (max-width: 700px) {
  .v2-main,
  .v2-shell.sidebar-collapsed .v2-main,
  html.v2-sidebar-precollapsed .v2-main {
    width: 100%;
    padding: 64px 8px 22px;
  }

  .v2-admin-page,
  .v2-ready-reports-page,
  .v2-reports-page,
  .v2-admin-card,
  .v2-ready-card,
  .v2-body .panel,
  .v2-body .report-area {
    width: 100%;
    max-width: 100%;
    margin-right: 0;
    margin-left: 0;
  }

  .v2-admin-heading,
  .v2-card-head,
  .v2-ready-info,
  .v2-table-footer,
  .v2-filter-actions,
  .v2-row-actions,
  .v2-ready-actions,
  .queue-job-main,
  .queue-job-stats,
  .v2-run-list div {
    min-width: 0;
    flex-wrap: wrap;
  }

  .v2-admin-heading {
    align-items: stretch;
    flex-direction: column;
  }

  .v2-admin-heading > form,
  .v2-admin-heading > button,
  .v2-admin-heading > form > button {
    width: 100%;
    max-width: 100%;
  }

  .v2-filter-grid,
  .v2-log-filter-grid,
  .v2-settings-grid,
  .v2-password-form,
  .v2-partner-page .v2-filter-grid,
  .v2-logs-page .v2-log-filter-grid,
  .v2-ops-kpi-grid,
  .v2-monitoring-kpi-grid,
  .v2-monitor-two-col,
  .v2-monitor-grid-two,
  .v2-monitor-mini-grid,
  .capacity-grid,
  .v2-monitor-facts,
  .v2-monitor-facts.compact,
  .monitoring-infra-grid,
  .v2-update-stats {
    grid-template-columns: minmax(0, 1fr);
  }

  .v2-filter-actions,
  .v2-table-footer > div {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .v2-filter-actions > *,
  .v2-table-footer button,
  .v2-admin-form button,
  .v2-system-health-card button {
    max-width: 100%;
  }

  .v2-admin-form input,
  .v2-admin-form select,
  .v2-admin-form textarea,
  .v2-filter-grid input,
  .v2-filter-grid select,
  .v2-log-filter-grid input,
  .v2-log-filter-grid select,
  .v2-body .saved-select-button,
  .v2-body .date-range-box {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  .v2-table-card,
  .v2-ready-card,
  .v2-users-card,
  .v2-messages-page .v2-table-card,
  .v2-logs-card,
  .v2-queue-active-card {
    overflow: hidden;
  }

  .v2-filter-card,
  .v2-partner-page .v2-filter-card,
  .v2-logs-page .v2-filter-card {
    overflow: visible;
  }

  .v2-table-footer {
    align-items: stretch;
    flex-direction: column;
  }

  .v2-table-footer > div {
    display: grid;
    width: 100%;
    margin-left: 0;
  }

  .v2-partner-page .v2-row-actions {
    min-width: max-content;
    flex-wrap: nowrap;
  }

  .v2-partner-page .v2-row-actions form,
  .v2-partner-page .v2-row-actions button,
  .v2-partner-page .v2-row-actions a {
    flex: 0 0 auto;
  }

  .v2-queue-page .v2-table-footer div,
  .v2-users-footer div {
    margin-left: 0;
  }

  .v2-queue-job-card,
  .v2-queue-job-card *,
  .monitoring-list > div,
  .monitoring-list > a,
  .monitoring-list p,
  .v2-run-list strong {
    min-width: 0;
    overflow-wrap: anywhere;
  }

  .v2-system-health-card { grid-template-columns: minmax(0, 1fr); }
  .monitoring-list > div,
  .monitoring-list > a { grid-template-columns: auto minmax(0, 1fr); }
  .monitoring-list span:not(.monitoring-dot),
  .monitoring-list p { grid-column: 2; }

  .v2-logs-page .date-range-box {
    grid-template-columns: minmax(0, 1fr);
  }

  .v2-logs-page .date-arrow { display: none; }

  .v2-modal,
  .v2-modal.access-dialog {
    width: calc(100vw - 16px);
    max-width: calc(100vw - 16px);
    max-height: calc(100vh - 16px);
    max-height: calc(100dvh - 16px);
    margin: auto;
    overflow-x: hidden;
    overflow-y: auto;
  }

  .v2-modal .modal-form,
  .v2-modal.settings-form {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  .v2-body .v2-admin-page .multi-select-menu,
  .v2-body .v2-admin-page .saved-select-menu,
  .v2-body .v2-admin-page .time-picker-menu,
  .v2-body .v2-admin-page .month-picker-menu,
  .v2-body .v2-admin-page .range-popover {
    right: auto;
    max-width: calc(100vw - 16px);
  }

  .loader-card,
  .confirm-card,
  .ready-report-prompt {
    width: min(100%, calc(100vw - 16px));
    max-width: calc(100vw - 16px);
  }
}

@media (max-width: 390px) {
  .v2-main,
  .v2-shell.sidebar-collapsed .v2-main,
  html.v2-sidebar-precollapsed .v2-main {
    padding-right: 6px;
    padding-left: 6px;
  }

  .v2-admin-heading h1,
  .v2-ready-heading h1 { font-size: 21px; }

  .v2-card-head,
  .v2-ready-info,
  .v2-admin-banner,
  .v2-monitor-two-col,
  .v2-monitor-mini-grid,
  .capacity-grid,
  .monitoring-list {
    padding-right: 10px;
    padding-left: 10px;
  }

  .v2-filter-actions,
  .v2-table-footer > div {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Sidebar status and configurable logo. */
.v2-brand-mark { overflow: hidden; }
.v2-brand-mark img { display: block; width: 100%; height: 100%; object-fit: cover; }
.v2-sidebar-status { display: grid; gap: 5px; padding: 0 13px 10px; color: rgba(203,215,234,.82); font-size: 11.5px; line-height: 1.35; }
.v2-sidebar-status span { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-width: 0; }
.v2-sidebar-status b { color: #fff; font-size: 12px; font-weight: 700; white-space: nowrap; }
.v2-logo-form { gap: 12px; }
.v2-logo-upload-row { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 14px; align-items: end; }
.v2-logo-preview { display: grid; width: 64px; height: 64px; place-items: center; overflow: hidden; border-radius: 12px; color: #fff; background: linear-gradient(135deg, #1f7bff, #55a2ff); font-size: 32px; font-weight: 800; }
.v2-logo-preview img { width: 100%; height: 100%; object-fit: cover; }
.v2-logo-form input[type="file"] { padding: 9px; background: #fff; }
@media (min-width: 1025px) {
  .v2-shell.sidebar-collapsed .v2-brand { justify-content: center; padding-inline: 0; }
  .v2-shell.sidebar-collapsed .v2-brand-mark { width: 38px; height: 38px; flex-basis: 38px; }
  .v2-shell.sidebar-collapsed .v2-sidebar-status { display: none; }
}
@media (max-width: 520px) {
  .v2-logo-upload-row { grid-template-columns: 1fr; align-items: start; }
}

/* Targeted responsive/UI pass: shared spacing, auth composition, reports stability. */
.v2-main {
  padding-top: 24px;
}

.v2-admin-page,
.v2-ready-reports-page,
.v2-reports-page,
.monitoring-page,
.queue-panel,
.update-log-panel,
.messages-panel,
.messages-log-panel,
.settings-panel {
  margin-top: 0;
}

.v2-collapse {
  min-height: 52px;
}

.v2-collapse .v2-icon {
  width: 28px;
  flex-basis: 28px;
}

.v2-collapse svg {
  width: 24px;
  height: 24px;
}

.v2-auth-body .v2-main,
.v2-auth-body .v2-shell.sidebar-collapsed .v2-main {
  display: grid;
  min-height: 100vh;
  min-height: 100dvh;
  place-items: center;
  padding: 24px;
}

.v2-login-page {
  min-height: 0;
  grid-template-columns: minmax(0, 420px) minmax(360px, 450px);
  justify-content: center;
  align-items: center;
  gap: clamp(24px, 3.8vw, 48px);
  max-width: 940px;
  padding: 0;
}

.v2-login-branding {
  justify-self: end;
}

.v2-login-card {
  justify-self: start;
}

.v2-auth-back-link {
  display: inline-flex;
  width: 100%;
  min-height: 56px;
  align-items: center;
  justify-content: center;
  margin-top: 12px;
  border: 0;
  border-radius: 6px;
  color: #fff;
  background: var(--v2-error);
  font-size: 17px;
  font-weight: 700;
  text-decoration: none;
}

.v2-auth-back-link:hover {
  background: #b42336;
}

.v2-reports-page .metric-checklist {
  grid-template-rows: none;
  grid-auto-flow: row;
  grid-auto-rows: auto;
  align-content: start;
}

.v2-reports-page .metric-checklist label {
  min-width: 0;
  min-height: 28px;
  align-items: start;
  overflow: visible;
  overflow-wrap: anywhere;
  white-space: normal;
}

.v2-reports-page .v2-kpi-strip {
  grid-template-columns: repeat(auto-fit, minmax(min(180px, 100%), 1fr));
}

.v2-reports-page .v2-kpi-card {
  min-width: 0;
}

.v2-reports-page .v2-kpi-card span:not(.v2-kpi-icon),
.v2-reports-page .v2-kpi-card small {
  white-space: normal;
}

@media (max-width: 1440px) {
  .v2-reports-page .v2-kpi-strip {
    grid-template-columns: repeat(auto-fit, minmax(min(190px, 100%), 1fr));
  }
}

@media (max-width: 1024px) {
  .v2-main,
  .v2-shell.sidebar-collapsed .v2-main,
  html.v2-sidebar-precollapsed .v2-main {
    padding-top: 76px;
  }

  .v2-auth-body .v2-main,
  .v2-auth-body .v2-shell.sidebar-collapsed .v2-main {
    padding: 28px 18px;
  }

  .v2-login-page {
    grid-template-columns: minmax(0, 450px);
    justify-items: center;
    gap: 22px;
    width: min(450px, 100%);
  }

  .v2-login-branding,
  .v2-login-card {
    justify-self: center;
    width: 100%;
  }

  .v2-login-branding {
    text-align: center;
  }

  .v2-login-logo-row {
    justify-content: center;
  }

  .v2-login-branding h1 {
    margin-top: 20px;
  }
}

@media (max-width: 760px) and (orientation: landscape) {
  .v2-reports-page .v2-kpi-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .v2-reports-page .v2-kpi-card {
    min-height: 72px;
    padding: 9px;
  }

  .v2-reports-page .v2-kpi-icon {
    width: 32px;
    height: 32px;
    flex-basis: 32px;
  }
}

@media (max-width: 560px) {
  .v2-reports-page .filter-menu {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    bottom: auto;
    left: 0;
    width: auto;
    max-width: none;
    max-height: min(58vh, 420px);
    max-height: min(58dvh, 420px);
    border-radius: 8px;
  }

  .v2-reports-page .filter-box {
    position: relative;
  }

  .v2-login-page {
    width: min(420px, 100%);
  }

  .v2-login-branding h1 {
    margin-top: 16px;
  }
}

/* Mobile fixes for user dialogs and logs date range overlay. */
.v2-users-page ~ .v2-modal .v2-dialog-user,
.v2-users-page ~ .v2-modal .v2-dialog-user-block {
  display: block;
  width: 100%;
  margin-top: 6px;
  color: #172033;
  font: inherit;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.v2-users-page ~ .v2-modal .v2-dialog-user strong,
.v2-users-page ~ .v2-modal .v2-dialog-user-block strong {
  color: inherit;
  font: inherit;
  font-size: inherit;
  font-weight: inherit;
}

@media (max-width: 760px) {
  .v2-logs-page .compact-range-picker {
    position: relative;
    z-index: 1;
  }

  .v2-logs-page .compact-range-picker.range-open {
    z-index: 40;
  }

  .v2-logs-page .compact-range-picker .range-popover {
    left: 50%;
    right: auto;
    width: min(330px, calc(100vw - 24px));
    max-width: calc(100vw - 24px);
    transform: translateX(-50%);
  }

  .v2-shell.drawer-open .v2-logs-page .compact-range-picker,
  .v2-shell.drawer-open .v2-logs-page .compact-range-picker.range-open,
  .v2-shell.drawer-open .v2-logs-page .date-range-box,
  .v2-shell.drawer-open .v2-logs-page .range-popover {
    z-index: 0 !important;
  }
}

/* Reports metric picker density correction. */
@media (min-width: 761px) {
  .v2-reports-page .metric-checklist {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-flow: row;
    grid-template-rows: repeat(var(--metric-picker-rows), minmax(15px, auto));
    grid-auto-rows: minmax(15px, auto);
    gap: 1px 8px;
    max-height: 190px;
    padding: 4px 3px 6px;
  }

  .v2-reports-page .metric-checklist label {
    min-height: 15px;
    align-items: center;
    gap: 6px;
    padding: 1px 3px;
    line-height: 1.15;
  }
}

@media (max-width: 760px) {
  .v2-reports-page .metric-checklist label {
    align-items: center;
    gap: 8px;
  }
}

/* Desktop metric rows: enforce actual 15px rows. */
@media (min-width: 761px) {
  .v2-reports-page .metric-checklist label {
    display: flex;
    height: 15px;
    min-height: 15px;
    max-height: 15px;
    align-items: center;
    gap: 5px;
    padding: 0 3px;
    overflow: hidden;
    line-height: 15px;
    white-space: nowrap;
    text-overflow: ellipsis;
  }

  .v2-reports-page .metric-checklist input[type="checkbox"] {
    width: 13px;
    height: 13px;
    flex: 0 0 13px;
    margin: 0;
  }
}
