/*
 * Office Unbound — MSP Control Center and Migration Center concepts.
 *
 * Loaded after concepts.css and concepts-admin.css; every rule is scoped
 * under `.ux`. Reuses the shared tokens and components (ux-card, ux-rows,
 * ux-chip, the mg- page frame, the oa- admin frame and msp- pieces).
 * Prefixes: msx- shared here, msc- customer detail, msw- maintenance
 * schedule, msr- customer report, mgw- Google Workspace assessment,
 * mgm- identity mapping and waves, mgc- verification, cutover and rollback.
 */

/* ============================================================ shared · msx- == */

.ux .msx-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--ux-line); border-radius: 7px; background: var(--ux-surface); overflow: hidden; }
.ux .msx-stats--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.ux .msx-stats--6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.ux .msx-stat { display: flex; flex-direction: column; gap: 3px; padding: 10px 14px 11px; min-width: 0; border-left: 1px solid var(--ux-line); }
.ux .msx-stat:first-child { border-left: 0; }
.ux .msx-stat__l { font-size: 11.5px; color: var(--ux-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ux .msx-stat__v { display: flex; align-items: center; gap: 7px; font-size: 17px; font-weight: 600; color: var(--ux-ink); letter-spacing: -0.01em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ux .msx-stat__v small { font-size: 12px; font-weight: 500; color: var(--ux-muted); letter-spacing: 0; }
.ux .msx-stat__s { font-size: 11.5px; color: var(--ux-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ux .msx-stat__bar { margin-top: 5px; }
.ux .msx-foot { display: flex; align-items: flex-start; gap: 7px; padding: 9px 14px 10px; border-top: 1px solid var(--ux-line); background: var(--ux-bg); font-size: 12px; line-height: 1.45; color: var(--ux-muted); }
.ux .msx-foot .ux-i { flex: none; margin-top: 1px; }
.ux .msx-h { padding: 9px 14px 5px; font-size: 11px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; color: var(--ux-faint); }

@container ux (max-width: 1250px) {
  .ux .msx-stats--6 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ux .msx-stats--6 > .msx-stat:nth-child(4) { border-left: 0; }
  .ux .msx-stats--6 > .msx-stat:nth-child(n+4) { border-top: 1px solid var(--ux-line); }
}
@container ux (max-width: 900px) {
  .ux .msx-stats--5 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ux .msx-stats--5 > .msx-stat:nth-child(4) { border-left: 0; }
  .ux .msx-stats--5 > .msx-stat:nth-child(n+4) { border-top: 1px solid var(--ux-line); }
}
@container ux (max-width: 640px) {
  .ux .msx-stats, .ux .msx-stats--5, .ux .msx-stats--6 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ux .msx-stats > .msx-stat { border-left: 0; border-top: 1px solid var(--ux-line); }
  .ux .msx-stats > .msx-stat:nth-child(even) { border-left: 1px solid var(--ux-line); }
  .ux .msx-stats > .msx-stat:nth-child(-n+2) { border-top: 0; }
  .ux .msx-stat { padding: 9px 12px 10px; }
  .ux .msx-stat__v { font-size: 15.5px; }
}

/* ================================================== customer detail · msc- == */

.ux .msc-tile { width: 36px; height: 36px; border-radius: 8px; font-size: 13px; margin-right: 4px; }
.ux .msc-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; align-items: stretch; }
.ux .msc-wide { grid-column: span 2; }
.ux .msc-iso { display: flex; flex-direction: column; gap: 5px; padding: 10px 14px 12px; border-top: 1px solid var(--ux-line); font-size: 12.5px; }
.ux .msc-iso > li { display: flex; align-items: center; gap: 7px; }
.ux .msc-iso .ux-i { color: var(--ux-teal); }
.ux .msc-svc > li { display: flex; align-items: center; gap: 10px; padding: 7px 14px; border-top: 1px solid var(--ux-line); font-size: 12.5px; }
.ux .msc-svc > li:first-child { border-top: 0; }
.ux .msc-svc__i { display: grid; place-items: center; width: 26px; height: 26px; flex: none; border-radius: 6px; background: var(--ux-sunken); color: var(--ux-muted); }
.ux .msc-svc__n { width: 40px; text-align: right; font-weight: 600; color: var(--ux-ink); }
.ux .msc-svc > li.is-off .ux-rows__t > span:first-child, .ux .msc-svc > li.is-off .msc-svc__n { color: var(--ux-muted); font-weight: 400; }
.ux .msc-foot { display: flex; align-items: flex-start; gap: 7px; padding: 9px 14px 10px; border-top: 1px solid var(--ux-line); background: var(--ux-bg); font-size: 12px; line-height: 1.45; color: var(--ux-muted); }
.ux .msc-foot .ux-i { flex: none; margin-top: 1px; }
.ux .msc-waves > li { display: grid; grid-template-columns: 24px minmax(0, 1fr) auto auto; align-items: center; gap: 10px; padding: 8px 14px; border-top: 1px solid var(--ux-line); font-size: 12.5px; }
.ux .msc-waves > li:first-child { border-top: 0; }
.ux .msc-waves > li.is-on { background: var(--ux-sel); }
.ux .msc-waves__t { display: flex; flex-direction: column; gap: 5px; min-width: 0; color: var(--ux-ink); font-weight: 500; }
.ux .msc-waves__c { font-size: 12px; color: var(--ux-muted); }
.ux .msc-wn--done { background: var(--ux-ok); }
.ux .msc-wn--wait { background: var(--ux-sunken); color: var(--ux-muted); }
.ux .msc-cut { display: flex; align-items: flex-start; gap: 9px; padding: 9px 14px 10px; border-top: 1px solid var(--ux-line); background: var(--ux-accent-soft); font-size: 12.5px; }
.ux .msc-cut > .ux-i { color: var(--ux-accent-ink); margin-top: 1px; }
.ux .msc-mkv { padding-bottom: 10px; border-bottom: 1px solid var(--ux-line); }
.ux .msc-upd > li .msp-when { width: 72px; }
.ux .msc-al > li > .ux-dot { margin-top: 5px; align-self: flex-start; }
.ux .msc-al > li.is-done > .ux-i { color: var(--ux-ok); }
.ux .msc-al > li.is-done .ux-rows__t > span:first-child { color: var(--ux-muted); font-weight: 400; }
.ux .msc-ppl > li.msc-cust { background: var(--ux-bg); border-top-color: var(--ux-line-2); }
.ux .msc-act > li { display: grid; grid-template-columns: 70px 110px minmax(0, 1fr); gap: 10px; align-items: baseline; }
.ux .msc-act__t { font-size: 12px; color: var(--ux-muted); }
.ux .msc-act__w { font-weight: 500; color: var(--ux-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ux .msc-act__d { color: var(--ux-text); }
.ux .msc-rep > li > .ux-i { color: var(--ux-muted); }

@container ux (max-width: 1250px) { .ux .msc-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@container ux (max-width: 760px) {
  .ux .msc-grid { grid-template-columns: minmax(0, 1fr); }
  .ux .msc-wide { grid-column: auto; }
  .ux .msc-act > li { grid-template-columns: 62px minmax(0, 1fr); }
  .ux .msc-act__d { grid-column: 2; }
}
@container ux (max-width: 540px) {
  .ux .msc-tile { display: none; }
  .ux .msc-waves > li { grid-template-columns: 24px minmax(0, 1fr) auto; }
  .ux .msc-waves__c { display: none; }
  .ux .msc-upd > li, .ux .msc-al > li, .ux .msc-ppl > li, .ux .msc-rep > li { flex-wrap: wrap; }
  .ux .msc-upd .ux-rows__t, .ux .msc-al .ux-rows__t, .ux .msc-ppl .ux-rows__t, .ux .msc-rep .ux-rows__t { flex: 1 1 170px; }
  .ux .msc-upd > li > .ux-chip { margin-left: 82px; }
  .ux .msc-ppl > li > .ux-chip, .ux .msc-rep > li > .ux-chip, .ux .msc-rep > li > .ux-btn { margin-left: 34px; }
  .ux .msc-al > li > .ux-btn { margin-left: 18px; }
}

/* ============================================= maintenance schedule · msw- == */

.ux .msw-bar { display: flex; align-items: center; gap: 6px; padding: 9px 14px; border-bottom: 1px solid var(--ux-line); flex-wrap: wrap; }
.ux .msw-nav { padding: 0 6px; }
.ux .msw-range { margin-left: 6px; font-weight: 600; color: var(--ux-ink); font-size: 13px; white-space: nowrap; }
.ux .msw-legend { display: flex; flex-wrap: wrap; gap: 4px 14px; margin-right: 8px; font-size: 11.5px; color: var(--ux-muted); }
.ux .msw-legend > span { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.ux .msw-k { display: inline-block; width: 12px; height: 10px; border-radius: 2px; }
.ux .msw-grid { display: flex; flex-direction: column; }
.ux .msw-row { display: grid; grid-template-columns: 216px repeat(21, minmax(0, 1fr)); grid-template-rows: 46px; border-top: 1px solid var(--ux-line); position: relative; }
.ux .msw-row > * { grid-row: 1; min-width: 0; }
.ux .msw-row--days { grid-template-rows: 40px; border-top: 0; background: var(--ux-bg); border-bottom: 1px solid var(--ux-line-2); }
.ux .msw-lbl { grid-column: 1; display: flex; align-items: center; gap: 9px; padding: 0 12px 0 14px; font-size: 12.5px; border-right: 1px solid var(--ux-line); }
.ux .msw-lbl .ux-cell__t > span + span { font-size: 11px; color: var(--ux-accent-ink); }
.ux .msw-lbl--h { font-size: 11.5px; font-weight: 500; color: var(--ux-muted); }
.ux .msw-tav { width: 24px; height: 24px; border-radius: 5px; font-size: 10.5px; }
.ux .msw-day { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1px; font-size: 10.5px; color: var(--ux-muted); line-height: 1.15; border-left: 1px solid var(--ux-line); }
.ux .msw-day b { font-size: 11.5px; font-weight: 600; color: var(--ux-ink); white-space: nowrap; }
.ux .msw-day.is-we, .ux .msw-cell.is-we { background: var(--ux-side); }
.ux .msw-cell { border-left: 1px solid var(--ux-line); }
.ux .msw-day.is-wk, .ux .msw-cell.is-wk { border-left-color: var(--ux-line-2); }
.ux .msw-ring { display: flex; align-items: baseline; gap: 10px; padding: 6px 14px; border-top: 1px solid var(--ux-line-2); background: var(--ux-bg); }
.ux .msw-ring__n { font-size: 11px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; color: var(--ux-ink); }
.ux .msw-ring__r { font-size: 11.5px; color: var(--ux-muted); }
.ux .msw-b { z-index: 1; align-self: start; display: flex; flex-direction: column; justify-content: center; height: 32px; margin: 6px 3px 0; padding: 0 6px; border-radius: 4px; border-left: 3px solid; font-size: 11px; line-height: 1.2; overflow: hidden; }
.ux .msw-b__t { display: flex; align-items: center; gap: 4px; font-weight: 600; white-space: nowrap; }
.ux .msw-b__t > .ux-i { width: 12px; height: 12px; }
.ux .msw-b__t > span { display: none; }
.ux .msw-legend .ux-i { color: var(--ux-muted); width: 13px; height: 13px; }
.ux .msw-legend__sep { width: 1px; height: 14px; background: var(--ux-line-2); }
@container ux (min-width: 1750px) { .ux .msw-b__t > span { display: inline; } }
.ux .msw-b__h { font-size: 10.5px; white-space: nowrap; font-variant-numeric: tabular-nums; opacity: 0.85; }
.ux .msw-b--sec, .ux .msw-k--sec { background: var(--ux-ok-bg); border-color: #3C8A55; color: var(--ux-ok); }
.ux .msw-b--upd { background: var(--ux-info-bg); border-color: #4F6E95; color: var(--ux-info); }
.ux .msw-b--wait, .ux .msw-k--wait { background: var(--ux-warn-bg); border-color: #C8902A; color: var(--ux-warn); }
.ux .msw-b--cust, .ux .msw-k--cust { background: var(--ux-accent-soft); border-color: var(--ux-accent); color: var(--ux-accent-ink); }
.ux .msw-b--bad, .ux .msw-k--bad { background: var(--ux-bad-bg); border-color: #B8443A; color: var(--ux-bad); box-shadow: inset 0 0 0 1px #B8443A; }
.ux .msw-b--frz { z-index: 0; align-self: end; height: 7px; margin: 0 0 3px; padding: 0; border: 0; border-radius: 2px 0 0 2px; }
.ux .msw-b--frz > span { display: none; }
.ux .msw-b--frz, .ux .msw-k--frz { background: repeating-linear-gradient(135deg, var(--ux-info) 0 3px, transparent 3px 6px); }
.ux .msw-k--frz { box-shadow: inset 0 0 0 1px var(--ux-info); }
.ux .msw-b--frz { opacity: 0.75; }
.ux .msw-s1 { grid-column-end: span 1; } .ux .msw-s2 { grid-column-end: span 2; } .ux .msw-s3 { grid-column-end: span 3; }
.ux .msw-c1 { grid-column-start: 2; } .ux .msw-c2 { grid-column-start: 3; } .ux .msw-c3 { grid-column-start: 4; } .ux .msw-c4 { grid-column-start: 5; } .ux .msw-c5 { grid-column-start: 6; } .ux .msw-c6 { grid-column-start: 7; } .ux .msw-c7 { grid-column-start: 8; } .ux .msw-c8 { grid-column-start: 9; } .ux .msw-c9 { grid-column-start: 10; } .ux .msw-c10 { grid-column-start: 11; } .ux .msw-c11 { grid-column-start: 12; } .ux .msw-c12 { grid-column-start: 13; } .ux .msw-c13 { grid-column-start: 14; } .ux .msw-c14 { grid-column-start: 15; } .ux .msw-c15 { grid-column-start: 16; } .ux .msw-c16 { grid-column-start: 17; } .ux .msw-c17 { grid-column-start: 18; } .ux .msw-c18 { grid-column-start: 19; } .ux .msw-c19 { grid-column-start: 20; } .ux .msw-c20 { grid-column-start: 21; } .ux .msw-c21 { grid-column-start: 22; }
.ux .msw-fix { display: flex; flex-direction: column; gap: 8px; padding: 10px 14px 12px; border-top: 1px solid var(--ux-line); background: var(--ux-bg); font-size: 12.5px; line-height: 1.45; }
.ux .msw-fix b { color: var(--ux-ink); }
.ux .msw-fix__a { display: flex; gap: 6px; flex-wrap: wrap; }
.ux .msw-conf .ux-rows > li > .ux-dot { margin-top: 5px; }
.ux .msw-appr > li, .ux .msw-rings > li { align-items: center; }
.ux .msw-cards { align-items: stretch; }
.ux .msw-table .msw-c-who { white-space: normal; min-width: 220px; font-size: 12px; }
.ux .msw-table .ux-cell__t > .ux-mono { font-size: 11px; }
.ux .msw-m { display: none; font-family: var(--ux-sans); }
.ux .msw-table tr.msw-tr-bad td { background: var(--ux-bad-bg); }
.ux .msw-table tr:last-child td { border-bottom: 0; }

@container ux (max-width: 1350px) { .ux .msw-legend { order: 5; flex-basis: 100%; margin: 4px 0 0; } }
@container ux (max-width: 1250px) {
  .ux .msw-row { grid-template-columns: 190px repeat(21, minmax(0, 1fr)); }
  .ux .msw-b { margin: 6px 2px 0; padding: 0 3px; border-left-width: 2px; }
  .ux .msw-day > span { font-size: 9.5px; }
  .ux .msw-day b { font-size: 10.5px; }
  .ux .msw-c-ring { display: none; }
  .ux .msw-m { display: inline; }
}
@container ux (max-width: 1000px) {
  .ux .msw-row { grid-template-columns: 178px repeat(21, minmax(0, 1fr)); }
  .ux .msw-lbl { font-size: 12px; padding: 0 8px 0 12px; }
  .ux .msw-lbl .msw-tav { display: none; }
  .ux .msw-lbl .ux-cell__t > span + span { display: none; }
  .ux .msw-b__h { display: none; }
  .ux .msw-b { height: 24px; margin-top: 10px; align-items: center; }
  .ux .msw-b.msw-b--frz { height: 7px; margin: 0 0 3px; align-self: end; }
  .ux .msw-day b { font-size: 10px; }
  .ux .msw-day > span { display: none; }
}
@container ux (max-width: 760px) {
  .ux .msw-grid { display: none; }
  .ux .msw-legend { display: none; }
  .ux .msw-c-who { display: none; }
}
@container ux (max-width: 540px) {
  .ux .msw-seg { display: none; }
  .ux .msw-appr > li { flex-wrap: wrap; }
  .ux .msw-appr .ux-rows__t { flex: 1 1 170px; }
  .ux .msw-appr > li > .ux-chip { margin-left: 34px; }
  .ux .ux-table.msw-table td, .ux .ux-table.msw-table th { padding-left: 8px; padding-right: 8px; white-space: normal; vertical-align: top; }
  .ux .ux-table.msw-table td:first-child, .ux .ux-table.msw-table th:first-child { padding-left: 12px; }
  .ux .msw-table .ux-chip { white-space: normal; height: auto; min-height: 20px; padding: 3px 7px; line-height: 1.2; }
}

/* ===================================================== customer report · msr- == */

.ux .mg-content.msr-wrap { display: grid; grid-template-columns: minmax(0, 1fr) 300px; align-items: start; }
.ux .msr-stage { display: flex; flex-direction: column; gap: 10px; min-width: 0; padding: 14px; border-radius: 7px; background: var(--ux-sunken); }
.ux .msr-draft { display: flex; align-items: center; gap: 8px; padding: 0 4px; font-size: 12px; color: var(--ux-muted); }
.ux .msr-draft b { color: var(--ux-ink); }
.ux .msr-page { display: flex; flex-direction: column; gap: 18px; width: 100%; max-width: 980px; margin: 0 auto; padding: 28px 32px 22px; background: var(--ux-surface); border: 1px solid var(--ux-line); border-radius: 3px; box-shadow: 0 1px 3px rgba(20, 36, 58, 0.08); }
.ux .msr-ph { display: flex; align-items: flex-start; gap: 16px; padding-bottom: 14px; border-bottom: 2px solid var(--ux-navy); }
.ux .msr-ph__t { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.ux .msr-ph__k { font-size: 11px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ux-accent-ink); }
.ux .msr-ph__n { font-size: 22px; font-weight: 600; color: var(--ux-ink); letter-spacing: -0.01em; line-height: 1.2; }
.ux .msr-ph__s { font-size: 12.5px; color: var(--ux-muted); }
.ux .msr-ph__by { display: flex; flex-direction: column; align-items: flex-end; font-size: 11.5px; color: var(--ux-muted); line-height: 1.35; flex: none; }
.ux .msr-ph__by b { color: var(--ux-ink); font-size: 12.5px; }
.ux .msr-sum { font-size: 14px; line-height: 1.6; color: var(--ux-text); max-width: 80ch; }
.ux .msr-kpis { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border: 1px solid var(--ux-line); border-radius: 6px; }
.ux .msr-kpi { display: flex; flex-direction: column; gap: 2px; padding: 10px 12px; min-width: 0; border-left: 1px solid var(--ux-line); }
.ux .msr-kpi:first-child { border-left: 0; }
.ux .msr-kpi__l { font-size: 11.5px; color: var(--ux-muted); }
.ux .msr-kpi__v { font-size: 19px; font-weight: 600; color: var(--ux-ink); white-space: nowrap; }
.ux .msr-kpi__s { font-size: 11.5px; color: var(--ux-muted); line-height: 1.3; }
.ux .msr-sec { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.ux .msr-h { font-size: 13.5px; font-weight: 600; color: var(--ux-ink); padding-bottom: 6px; border-bottom: 1px solid var(--ux-line); }
.ux .msr-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 28px; }
.ux .ux-table.msr-inc th:first-child, .ux .ux-table.msr-inc td:first-child { padding-left: 0; }
.ux .ux-table.msr-inc td:last-child, .ux .ux-table.msr-inc th:last-child { padding-right: 0; }
.ux .ux-table.msr-inc td { vertical-align: top; }
.ux .ux-table.msr-inc td.msr-c-what { white-space: normal; min-width: 180px; }
.ux .ux-table.msr-inc td.msr-c-fix { white-space: normal; font-size: 12px; line-height: 1.45; color: var(--ux-text); min-width: 240px; }
.ux .msr-inc .ux-mono { font-size: 11.5px; }
.ux .msr-list > li { display: flex; align-items: flex-start; gap: 10px; padding: 6px 0; border-top: 1px solid var(--ux-line); font-size: 12.5px; }
.ux .msr-list > li:first-child { border-top: 0; padding-top: 0; }
.ux .msr-list > li > .ux-i { margin-top: 2px; color: var(--ux-muted); }
.ux .msr-list > li > .ux-i.ux-ok { color: var(--ux-ok); }
.ux .msr-list__d { flex: none; width: 70px; font-size: 12px; color: var(--ux-muted); font-variant-numeric: tabular-nums; }
.ux .msr-list > li.is-next .ux-rows__t > span:first-child { color: var(--ux-info); }
.ux .msr-quota { display: flex; flex-direction: column; gap: 6px; }
.ux .msr-quota__h { display: flex; align-items: baseline; gap: 8px; font-size: 12px; color: var(--ux-muted); }
.ux .msr-quota__h b { font-size: 17px; color: var(--ux-ink); }
.ux .msr-stack { display: flex; height: 10px; border-radius: 3px; background: var(--ux-sunken); overflow: hidden; }
.ux .msr-stack > i { display: block; height: 100%; }
.ux .msr-stack > i + i { border-left: 1px solid var(--ux-surface); }
.ux .msr-stack > .msr-st--mail { width: 26.8%; }
.ux .msr-stack > .msr-st--files { width: 31.8%; }
.ux .msr-stack > .msr-st--docs { width: 2.6%; }
.ux .msr-st--mail { background: var(--ux-navy); }
.ux .msr-st--files { background: var(--ux-teal); }
.ux .msr-st--docs { background: #C8902A; }
.ux .msr-sw { display: inline-flex; align-items: center; gap: 7px; }
.ux .msr-sw > i { width: 10px; height: 10px; border-radius: 2px; flex: none; }
.ux .ux-table.msr-sto th:first-child, .ux .ux-table.msr-sto td:first-child { padding-left: 0; }
.ux .ux-table.msr-sto td:last-child, .ux .ux-table.msr-sto th:last-child { padding-right: 0; }
.ux .ux-table.msr-sto td, .ux .ux-table.msr-sto th { padding-top: 6px; padding-bottom: 6px; }
.ux .ux-table.msr-sto thead th { background: transparent; }
.ux .msr-note { font-size: 12px; color: var(--ux-muted); }
.ux .msr-sec__kv { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0; font-size: 12.5px; }
.ux .msr-sec__kv > dd { padding-left: 12px !important; }
.ux .msr-sec__kv > dd.msr-sec__n { padding-left: 0 !important; }
.ux .msr-sec__kv dt { padding: 6px 0; border-top: 1px solid var(--ux-line); color: var(--ux-text); }
.ux .msr-sec__kv dd { padding: 6px 0; border-top: 1px solid var(--ux-line); text-align: right; font-weight: 600; color: var(--ux-ink); }
.ux .msr-sec__kv dt:first-of-type, .ux .msr-sec__kv dt:first-of-type + dd { border-top: 0; padding-top: 0; }
.ux .msr-sec__kv dd.msr-sec__n { grid-column: 1 / -1; margin-top: -4px; padding-top: 0; border-top: 0; text-align: left; font-weight: 400; font-size: 11.5px; color: var(--ux-muted); }
.ux .msr-rec > li { display: flex; align-items: flex-start; gap: 12px; padding: 9px 0; border-top: 1px solid var(--ux-line); font-size: 12.5px; }
.ux .msr-rec > li:first-child { border-top: 0; padding-top: 0; }
.ux .msr-rec > li > .ux-chip { width: 58px; justify-content: center; margin-top: 1px; }
.ux .msr-rec__o { flex: none; font-size: 11.5px; font-weight: 500; color: var(--ux-muted); white-space: nowrap; margin-top: 2px; }
.ux .msr-foot { padding-top: 12px; border-top: 1px solid var(--ux-line); font-size: 11.5px; color: var(--ux-muted); line-height: 1.5; }
.ux .msr-side { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.ux .msr-rcp > li, .ux .msr-drafts > li { align-items: center; }
.ux .msr-drafts > li > .ux-dot { margin-top: 0; }
.ux .msr-drafts__s { font-size: 12px; color: var(--ux-muted); white-space: nowrap; }
.ux .msr-secs > li { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 6px 14px; border-top: 1px solid var(--ux-line); font-size: 12.5px; }
.ux .msr-secs > li:first-child { border-top: 0; }
.ux .msr-secs > li.is-off > span { color: var(--ux-muted); }

@container ux (max-width: 1250px) {
  .ux .mg-content.msr-wrap { grid-template-columns: minmax(0, 1fr); }
  .ux .msr-side { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
}
@container ux (max-width: 1000px) {
  .ux .msr-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ux .msr-kpi:nth-child(4) { border-left: 0; }
  .ux .msr-kpi:nth-child(n+4) { border-top: 1px solid var(--ux-line); }
  .ux .msr-c-fix { display: none; }
}
@container ux (max-width: 760px) {
  .ux .msr-2 { grid-template-columns: minmax(0, 1fr); }
  .ux .msr-page { padding: 20px 18px 16px; }
  .ux .msr-side { grid-template-columns: minmax(0, 1fr); }
}
@container ux (max-width: 540px) {
  .ux .msr-stage { padding: 8px; }
  .ux .msr-page { padding: 16px 14px 14px; gap: 16px; }
  .ux .msr-ph { flex-direction: column; gap: 8px; }
  .ux .msr-ph__by { flex-direction: row; gap: 5px; align-items: baseline; }
  .ux .msr-ph__n { font-size: 19px; }
  .ux .msr-sum { font-size: 13px; }
  .ux .msr-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ux .msr-kpi { border-left: 0; border-top: 1px solid var(--ux-line); }
  .ux .msr-kpi:nth-child(even) { border-left: 1px solid var(--ux-line); }
  .ux .msr-kpi:nth-child(-n+2) { border-top: 0; }
  .ux .msr-kpi:nth-child(5) { grid-column: 1 / -1; }
  .ux .ux-table.msr-inc td { padding-left: 0; padding-right: 8px; }
  .ux .ux-table.msr-inc td.msr-c-what { min-width: 0; }
  .ux .ux-table.msr-inc thead { display: none; }
  .ux .msr-inc tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; border-bottom: 1px solid var(--ux-line); padding: 6px 0; }
  .ux .ux-table.msr-inc td { border: 0; padding: 2px 0; }
  .ux .ux-table.msr-inc td.msr-c-what { grid-column: 1 / -1; grid-row: 2; }
  .ux .msr-rec > li { flex-wrap: wrap; gap: 6px 10px; }
  .ux .msr-rec .ux-rows__t { flex: 1 1 200px; }
  .ux .msr-rec__o { margin-left: 68px; }
}

/* ======================================= Google Workspace assessment · mgw- == */

.ux .mgw-scopes { grid-column: 2; display: flex; flex-wrap: wrap; align-items: center; gap: 5px; padding: 0 14px 12px 61px; }
.ux .mgw-scopes__l { font-size: 11.5px; font-weight: 500; color: var(--ux-muted); margin-right: 3px; }
.ux .mgw-scope { padding: 2px 6px; border-radius: 3px; background: var(--ux-sunken); font-size: 11px; color: var(--ux-ink); white-space: nowrap; }
.ux .mgw-scopes__n { flex-basis: 100%; display: block; margin-top: 3px; font-size: 12px; color: var(--ux-muted); }
.ux.mgw .ux-table.ma-ready td, .ux.mgw .ux-table.ma-ready th { padding-top: 7px; padding-bottom: 7px; }
.ux .mgw-block > li { align-items: flex-start; }
.ux .mgw-dec { display: flex; flex-direction: column; gap: 6px; padding: 10px 14px 12px; border-top: 1px solid var(--ux-line); }
.ux .mgw-dec:first-of-type { border-top: 0; }
.ux .mgw-dec__q { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 8px; font-size: 12.5px; font-weight: 600; color: var(--ux-ink); }
.ux .mgw-opt { display: flex; align-items: flex-start; gap: 9px; padding: 7px 10px; border: 1px solid var(--ux-line); border-radius: 6px; font-size: 12.5px; }
.ux .mgw-opt > .oa-radio { margin-top: 1px; }
.ux .mgw-opt.is-on { border-color: var(--ux-navy); box-shadow: inset 0 0 0 1px var(--ux-navy); }
.ux .mgw-rebuild > li > .ux-i { color: var(--ux-muted); }

@container ux (max-width: 1250px) {
  .ux.mgw .mg-2 { grid-template-columns: minmax(0, 1fr); }
  .ux .ma-src.mgw-src { grid-template-columns: minmax(0, 1fr); }
  .ux .mgw-src .ma-src__tabs { border-right: 0; border-bottom: 1px solid var(--ux-line); grid-row: auto; padding: 10px 14px; }
  .ux .mgw-src .ma-src__b { padding-top: 12px; }
  .ux .mgw-scopes { grid-column: 1; }
}
@container ux (max-width: 640px) {
  .ux .mgw-scopes { grid-column: 1; padding-left: 14px; }
  .ux .mgw-scopes__l { flex-basis: 100%; }
}

/* ===================================================== mapping and waves · mgm- == */

.ux .mgm-filters { display: flex; align-items: center; gap: 6px; padding: 10px 14px; border-bottom: 1px solid var(--ux-line); flex-wrap: wrap; }
.ux .mgm-search { width: 240px; margin-right: 6px; }
.ux .mgm-dom { display: inline-flex; align-items: center; gap: 6px; font-size: 11.5px; color: var(--ux-muted); }
.ux .mgm-table .mgm-src { width: 26%; max-width: 0; }
.ux .mgm-table .ux-cell__t .ux-mono { font-size: 11.5px; color: var(--ux-muted); }
.ux .mgm-table td.mgm-c-arrow, .ux .mgm-table th.mgm-c-arrow { width: 20px; padding-left: 0; padding-right: 0; color: var(--ux-faint); }
.ux .mgm-table .mgm-c-dst .ux-mono { color: var(--ux-ink); }
.ux .mgm-table .mgm-dst--bad { text-decoration: underline wavy var(--ux-bad); text-underline-offset: 3px; }
.ux .mgm-table tr.is-conf td { background: var(--ux-bad-bg); }
.ux .mgm-table td.mgm-c-note { white-space: normal; font-size: 12px; color: var(--ux-muted); min-width: 200px; }
.ux .mgm-table .mgm-n--bad, .ux .mgm-table td.mgm-n--bad { color: var(--ux-bad); }
.ux .mgm-table .mgm-n--warn, .ux .mgm-table td.mgm-n--warn { color: var(--ux-warn); }
.ux .mgm-n2 { display: none; margin-top: 2px; font-size: 11.5px; white-space: normal; color: var(--ux-muted); line-height: 1.35; }
.ux .mgm-pick { display: inline-flex; align-items: center; gap: 6px; height: 24px; padding: 0 6px 0 8px; border: 1px dashed var(--ux-line-2); border-radius: 4px; font-size: 12px; color: var(--ux-muted); }
.ux .mgm-m { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; font-weight: 500; white-space: nowrap; }
.ux .mgm-m--ok { color: var(--ux-ok); }
.ux .mgm-m--conf { color: var(--ux-bad); }
.ux .mgm-m--none { color: var(--ux-warn); }
.ux .mgm-wv { display: inline-grid; place-items: center; min-width: 20px; height: 20px; padding: 0 4px; border-radius: 4px; background: var(--ux-sunken); font-size: 11.5px; font-weight: 600; color: var(--ux-ink); }
.ux .mgm-wv--bad { background: var(--ux-bad-bg); color: var(--ux-bad); }
.ux .mgm-maps > li { display: grid; grid-template-columns: minmax(0, 1fr) 14px minmax(0, 1fr) 96px; align-items: center; gap: 10px; padding: 7px 14px; border-top: 1px solid var(--ux-line); font-size: 12.5px; }
.ux .mgm-maps > li:first-child { border-top: 0; }
.ux .mgm-maps > li > .ux-i { color: var(--ux-faint); }
.ux .mgm-maps__s { display: flex; flex-direction: column; min-width: 0; font-weight: 500; color: var(--ux-ink); line-height: 1.3; }
.ux .mgm-maps__s > i { font-style: normal; font-weight: 400; font-size: 11.5px; color: var(--ux-muted); }
.ux .mgm-maps__d { min-width: 0; color: var(--ux-text); line-height: 1.3; }
.ux .mgm-maps .mgm-m { justify-self: end; }
.ux.mgm .msx-h { border-top: 1px solid var(--ux-line); background: var(--ux-bg); padding-top: 7px; }
.ux.mgm .ux-card__h + .msx-h { border-top: 0; }
.ux .mgm-val > li { align-items: center; }
.ux .mgm-val > li > .ux-i { align-self: flex-start; margin-top: 2px; }
.ux .mgm-waves { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; padding: 12px 14px; }
.ux .mgm-waves > li { display: flex; flex-direction: column; gap: 8px; padding: 10px 12px; border: 1px solid var(--ux-line); border-radius: 7px; min-width: 0; }
.ux .mgm-waves > li.is-on { border-color: var(--ux-navy); box-shadow: inset 0 3px 0 var(--ux-navy); }
.ux .mgm-waves > li.is-done .ma-wn { background: var(--ux-ok); }
.ux .mgm-waves > li:not(.is-on):not(.is-done) .ma-wn { background: var(--ux-sunken); color: var(--ux-muted); }
.ux .mgm-waves__h { display: flex; align-items: center; gap: 8px; min-width: 0; }
.ux .mgm-waves__h b { flex: 1; color: var(--ux-ink); font-size: 13px; }
.ux .mgm-waves__kv { display: grid; grid-template-columns: repeat(4, auto); gap: 1px 12px; justify-content: start; font-size: 12px; }
.ux .mgm-waves__kv dt { grid-row: 1; color: var(--ux-muted); font-size: 11px; }
.ux .mgm-waves__kv dd { grid-row: 2; color: var(--ux-ink); font-weight: 600; white-space: nowrap; font-variant-numeric: tabular-nums; }
.ux .mgm-waves__d { font-size: 12px; color: var(--ux-muted); line-height: 1.35; padding-top: 7px; border-top: 1px solid var(--ux-line); }
.ux .mgm-dep-h { border-top: 1px solid var(--ux-line); }
.ux .mgm-deps > li { align-items: center; }
.ux .mgm-dep { display: inline-flex; align-items: center; gap: 4px; flex: none; width: 66px; color: var(--ux-faint); }

@container ux (max-width: 1350px) { .ux .mgm-dom { display: none; } }
@container ux (max-width: 1250px) {
  .ux .mgm-waves { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ux .mgm-c-note { display: none; }
  .ux .mgm-n2 { display: block; }
  .ux .mgm-table td:nth-child(4) { white-space: normal; }
}
@container ux (max-width: 1100px) { .ux.mgm .mg-2--even { grid-template-columns: minmax(0, 1fr); } }
@container ux (max-width: 640px) {
  .ux .mgm-search { width: 100%; margin: 0 0 4px; }
  .ux .mgm-x { display: none; }
  .ux .mgm-c-arrow, .ux .mgm-c-dst, .ux .mgm-c-wave { display: none; }
  .ux .mgm-table .mgm-src { width: auto; max-width: none; }
  .ux .mgm-waves { grid-template-columns: minmax(0, 1fr); }
  .ux .mgm-maps > li { grid-template-columns: minmax(0, 1fr) auto; gap: 2px 10px; }
  .ux .mgm-maps > li > .ux-i { display: none; }
  .ux .mgm-maps__d { grid-column: 1; grid-row: 2; font-size: 12px; color: var(--ux-muted); }
  .ux .mgm-maps__d::before { content: "→ "; }
  .ux .mgm-maps .mgm-m { grid-column: 2; grid-row: 1 / 3; }
  .ux .mgm-val > li, .ux .mgm-deps > li { flex-wrap: wrap; }
  .ux .mgm-val .ux-rows__t { flex: 1 1 200px; }
  .ux .mgm-val > li > .ux-btn { margin-left: 24px; }
  .ux .mgm-deps .ux-rows__t { flex: 1 1 200px; }
  .ux .mgm-deps > li > .ux-chip { margin-left: 76px; }
}

/* ======================================= verification, cutover, rollback · mgc- == */

.ux .mgc-top__main { display: flex; align-items: center; gap: 12px; padding: 12px 14px; flex-wrap: wrap; }
.ux .mgc-top__main > .ux-rows__t { flex: 1 1 300px; }
.ux .mgc-top__main > .ux-rows__t > span:first-child { font-size: 14px; font-weight: 600; }
.ux .mgc-top__i { display: grid; place-items: center; width: 36px; height: 36px; flex: none; border-radius: 7px; background: var(--ux-accent-soft); color: var(--ux-accent-ink); }
.ux .mgc-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(0, 1.6fr); border-top: 1px solid var(--ux-line); background: var(--ux-bg); }
.ux .mgc-facts > div { display: flex; flex-direction: column; gap: 2px; padding: 9px 14px; min-width: 0; border-left: 1px solid var(--ux-line); }
.ux .mgc-facts > div:first-child { border-left: 0; }
.ux .mgc-facts span { font-size: 11px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; color: var(--ux-faint); }
.ux .mgc-facts b { font-size: 13px; color: var(--ux-ink); font-variant-numeric: tabular-nums; }
.ux .mgc-facts > .mgc-facts--rb { background: var(--ux-info-bg); }
.ux .mgc-facts > .mgc-facts--rb b { color: var(--ux-info); }
.ux .ux-table.mgc-ver td.mgc-c-why { white-space: normal; font-size: 12px; color: var(--ux-muted); line-height: 1.4; min-width: 240px; }
.ux .mgc-ver .ux-cell .msc-svc__i { width: 28px; height: 28px; }
.ux .mgc-ver .mgc-why2 { display: none; }
.ux .mgc-ver .mgc-diff { color: var(--ux-warn); font-weight: 600; }
.ux .mgc-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 14px; align-items: start; }
.ux .mgc-side { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.ux.mgc .mgc-ph { border-top: 1px solid var(--ux-line); background: var(--ux-bg); padding-top: 7px; }
.ux .mgc-cl > li { display: flex; align-items: flex-start; gap: 10px; padding: 8px 14px; border-top: 1px solid var(--ux-line); font-size: 12.5px; }
.ux .mgc-cl > li:first-child { border-top: 0; }
.ux .mgc-cl > li.is-done .mp-ck { background: var(--ux-ok); border-color: var(--ux-ok); }
.ux .mgc-cl > li.is-done .ux-rows__t > span:first-child { color: var(--ux-muted); }
.ux .mgc-cl > li.is-key { background: var(--ux-accent-soft); }
.ux .mgc-cl > li.is-key .mp-ck { border-color: var(--ux-accent); }
.ux .mgc-cl__w { flex: none; width: 104px; margin-top: 1px; font-size: 12px; font-weight: 500; color: var(--ux-ink); }
.ux .mgc-rb { border-color: var(--ux-sel-line); }
.ux .mgc-rb__pt { display: flex; gap: 8px; margin: 12px 14px 0; padding: 9px 11px; border-radius: 6px; background: var(--ux-info-bg); color: var(--ux-info); font-size: 12.5px; line-height: 1.45; }
.ux .mgc-rb__pt .ux-i { flex: none; margin-top: 2px; }
.ux .mgc-rb__pt > span { color: var(--ux-text); }
.ux .mgc-rb__pt b { color: var(--ux-info); }
.ux .mgc-rb__when { padding: 10px 14px 4px; font-size: 12.5px; line-height: 1.45; color: var(--ux-text); }
.ux .mgc-rb__when b { color: var(--ux-ink); }
.ux .mgc-rb__s > li { display: flex; align-items: flex-start; gap: 10px; padding: 7px 14px; font-size: 12.5px; }
.ux .mgc-rb__s .ma-wn { width: 20px; height: 20px; font-size: 11px; background: var(--ux-info); }
.ux .mgc-rb__own { display: flex; align-items: center; gap: 10px; margin-top: 4px; padding: 9px 14px; border-top: 1px solid var(--ux-line); background: var(--ux-bg); font-size: 12px; color: var(--ux-muted); }

@container ux (max-width: 1250px) {
  .ux .mgc-grid { grid-template-columns: minmax(0, 1fr); }
  .ux .mgc-c-why { display: none; }
  .ux .mgc-ver .ux-cell__t > .mgc-why2 { display: block; white-space: normal; margin-top: 2px; line-height: 1.35; }
  .ux .ux-table.mgc-ver td:first-child { white-space: normal; min-width: 220px; }
}
@container ux (max-width: 900px) {
  .ux .mgc-facts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ux .mgc-facts > .mgc-facts--rb { grid-column: 1 / -1; border-left: 0; border-top: 1px solid var(--ux-line); }
}
@container ux (max-width: 640px) {
  .ux .mgc-top__main > .ux-chip { margin-left: 48px; white-space: normal; height: auto; padding: 3px 8px; }
  .ux .ux-table.mgc-ver td, .ux .ux-table.mgc-ver th { padding-left: 6px; padding-right: 6px; }
  .ux .ux-table.mgc-ver td:first-child, .ux .ux-table.mgc-ver th:first-child { padding-left: 12px; }
  .ux .mgc-ver th:nth-child(2), .ux .mgc-ver td:nth-child(2) { display: none; }
  .ux .mgc-ver .ux-cell .msc-svc__i { display: none; }
  .ux .mgc-ver .ux-cell__t, .ux .ux-table.mgc-ver td:first-child { white-space: normal; min-width: 0; }
  .ux .ux-table.mgc-ver td:last-child, .ux .ux-table.mgc-ver th:last-child { padding-right: 12px; }
  .ux .mgc-ver td, .ux .mgc-ver th { vertical-align: top; }
  .ux .mgc-cl > li { flex-wrap: wrap; gap: 2px 10px; }
  .ux .mgc-cl__w { width: auto; }
  .ux .mgc-cl .ux-rows__t { flex: 1 1 100%; padding-left: 28px; }
  .ux .mp-appr__l > li { flex-wrap: wrap; }
  .ux .mp-appr__l > li > .ux-chip { margin-left: 34px; }
}
.ux .mgc-rb__av { display: inline-flex; gap: 4px; }
