/* ==========================================================================
   Page-specific layout
   ========================================================================== */

/* ---------- Dashboard ---------- */

.dash { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 14px; }
.dash__score { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 16px 12px 14px; }
.dash__stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.dash__wide { grid-column: span 2; }
.dash__stats .stat { min-height: 92px; justify-content: space-between; }
.dash .switch { font-size: var(--text-xs); }
@media (max-width: 1240px) { .dash { grid-template-columns: 1fr; } }

.kpis { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; margin-bottom: 12px; flex: none; }
.kpis .stat { text-align: left; cursor: default; }
.kpis button.stat { cursor: pointer; }
@media (max-width: 1100px) { .kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* ---------- Graph page ---------- */

.graph-wrap { flex: 1; min-height: 420px; display: flex; }
.graph-wrap > div { flex: 1; }

/* ---------- Add root asset ---------- */

.wizard { max-width: 1040px; margin: 0 auto; padding: 26px 0 40px; text-align: center; }
.wizard__pill {
  display: inline-block; padding: 5px 12px; border-radius: var(--radius-pill); background: var(--accent); color: var(--accent-contrast);
  font: 700 var(--text-2xs)/1 var(--font-sans); letter-spacing: .09em; text-transform: uppercase;
}
.wizard__title { font-size: var(--text-3xl); font-weight: 720; letter-spacing: -.02em; color: var(--text); margin: 14px 0 8px; }
.wizard__sub { color: var(--text-muted); font-size: var(--text-lg); max-width: 720px; margin: 0 auto 26px; }
.wizard__group { margin: 22px 0 10px; text-align: left; }
.picks { display: grid; gap: 14px; }
.picks--1 { grid-template-columns: minmax(0, 240px); justify-content: center; }
.picks--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.picks--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.pick {
  position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; min-height: 132px; padding: 18px 12px;
  background: var(--raised); border: 1px solid var(--border); border-radius: var(--radius-card); color: var(--text);
  transition: border-color var(--dur), box-shadow var(--dur), transform var(--dur);
}
.pick:hover { border-color: var(--accent); box-shadow: 0 0 0 3px var(--ring); transform: translateY(-1px); }
.pick--lg { min-height: 156px; }
.pick__name { font-size: var(--text-lg); font-weight: 600; }
.pick__lock { position: absolute; top: 10px; right: 10px; color: var(--text-faint); }
.pick.is-locked { background: var(--sunken); }
.pick.is-locked .pick__name, .pick.is-locked .mono-logo { opacity: .6; }
.mono-logo { display: inline-grid; place-items: center; border-radius: 9px; color: #fff; font: 800 13px/1 var(--font-sans); letter-spacing: .02em; flex: none; }
.mono-logo--plain { background: var(--accent-soft); color: var(--accent-soft-fg); }
.wizard__form { max-width: 640px; margin: 0 auto; text-align: left; }
.wizard__form .card__body { padding: 20px 22px; }
.wizard__guide { max-width: 760px; margin: 34px auto 0; text-align: left; }
.wizard__guide h2 { font-size: var(--text-xl); font-weight: 680; color: var(--text); text-align: center; margin-bottom: 14px; }
.wizard__guide ol { padding-left: 20px; margin: 0 0 16px; color: var(--text-body); font-size: var(--text-lg); line-height: 1.6; }
.wizard__guide li + li { margin-top: 8px; }

/* ---------- Integrations ---------- */

.integ-list { display: flex; flex-direction: column; gap: 14px; }
.integ-list > .card + .card { margin-top: 0; }
.integ { display: flex; align-items: center; gap: 22px; padding: 18px 20px; min-height: 86px; }
.integ__logo { display: flex; align-items: center; gap: 11px; width: 200px; flex: none; font-size: var(--text-lg); color: var(--text); }
.integ__desc { flex: 1; min-width: 0; color: var(--text-body); }
.integ__actions { display: flex; align-items: flex-end; gap: 8px; flex: none; flex-wrap: wrap; justify-content: flex-end; }
.integ__actions .field { gap: 3px; }
.integ--muted { background: var(--surface); border-style: dashed; }
@media (max-width: 1180px) { .integ { flex-wrap: wrap; } .integ__logo { width: auto; } }

/* ---------- Account ---------- */

.setting { padding: 11px 0; border-bottom: 1px solid var(--border-subtle); }
.setting:first-child { padding-top: 0; }
.setting:last-child { border-bottom: 0; padding-bottom: 0; }
.setting .field__label { margin-bottom: 7px; }
.setting__hint { font-size: var(--text-xs); color: var(--text-muted); margin-top: 5px; }
.picklist { display: flex; flex-direction: column; gap: 7px; max-height: 220px; overflow: auto; padding: 10px 12px; border: 1px solid var(--border); border-radius: var(--radius-control); background: var(--raised); }
.qr {
  width: 132px; height: 132px; margin: 0 auto; border-radius: 6px; border: 8px solid #fff; outline: 1px solid var(--border);
  background-color: #fff;
  background-image: linear-gradient(45deg, #111 25%, transparent 25%, transparent 75%, #111 75%), linear-gradient(45deg, #111 25%, transparent 25%, transparent 75%, #111 75%), linear-gradient(90deg, transparent 50%, rgba(17, 17, 17, .85) 50%);
  background-size: 16px 16px, 16px 16px, 22px 9px; background-position: 0 0, 8px 8px, 3px 2px;
}

/* ---------- Reports ---------- */

.filter-card { padding: 12px 14px; }
.filter-card + .filter-card { margin-top: 0; }
.col > .card + .card { margin-top: 0; }
.report { color: var(--text-body); font-size: var(--text-sm); }
.report__cover { padding: 18px 20px; border-radius: var(--radius-card); background: var(--chrome); color: #dfe6f2; margin-bottom: 6px; }
.report__cover .label { color: #8fa3c7; }
.report__cover h1 { font-size: 22px; font-weight: 700; color: #fff; margin: 8px 0 12px; letter-spacing: -.01em; }
.report__meta { display: flex; gap: 22px; flex-wrap: wrap; font-size: var(--text-xs); }
.report__meta b { color: #8fa3c7; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; font-size: 10px; margin-right: 5px; }
.report h2 { font-size: var(--text-lg); font-weight: 680; color: var(--text); margin: 18px 0 8px; }
.report__kpis { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; margin-bottom: 6px; }
.report__kpis > div { border: 1px solid var(--border); border-radius: var(--radius-control); padding: 9px 10px; background: var(--raised); }
.report__kpis b { display: block; font-size: 20px; color: var(--text); font-variant-numeric: tabular-nums; }
.report__kpis span { font-size: var(--text-2xs); letter-spacing: .06em; text-transform: uppercase; color: var(--text-muted); }
.report table.dt { border: 1px solid var(--border); border-radius: var(--radius-control); overflow: hidden; }
.report .dt thead th { position: static; }
.report .dt td.wrap { min-width: 280px; }
#print-root { display: none; }
@media print {
  body.is-printing { overflow: visible; background: #fff; }
  body.is-printing > *:not(#print-root) { display: none !important; }
  body.is-printing #print-root { display: block; padding: 0; }
  .report__cover { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .sevbox i, .sev { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}

/* ---------- Screenshot placeholder ---------- */

.shot { border: 1px solid var(--border); border-radius: var(--radius-card); overflow: hidden; background: var(--raised); box-shadow: var(--shadow-sm); align-self: start; }
.shot__bar { display: flex; align-items: center; gap: 6px; padding: 8px 10px; background: var(--sunken); border-bottom: 1px solid var(--border); }
.shot__bar i { width: 9px; height: 9px; border-radius: 50%; background: var(--border); }
.shot__bar span { flex: 1; margin-left: 8px; padding: 4px 10px; border-radius: 999px; background: var(--raised); border: 1px solid var(--border-subtle); font-size: var(--text-xs); color: var(--text-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.shot__page { min-height: 340px; background: #fff; color: #1d2433; display: flex; flex-direction: column; }
:root[data-theme="dark"] .shot__page { background: #e9edf3; }
.shot__page b { font-size: 17px; font-weight: 700; }
.shot__page i, .shot__page em, .shot__page p, .shot__page span:empty, .shot__block { display: block; background: #e3e8f0; border-radius: 5px; font-style: normal; margin: 0; }
.shot__app { display: flex; flex: 1; }
.shot__side { width: 132px; background: #17223a; padding: 16px 12px; display: flex; flex-direction: column; gap: 10px; }
.shot__side i { height: 9px; background: #33425f; }
.shot__main { flex: 1; padding: 20px 22px; display: flex; flex-direction: column; gap: 12px; }
.shot__main p { height: 9px; }
.shot__cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.shot__cards i { height: 62px; }
.shot__block { flex: 1; min-height: 80px; }
.shot__hero { padding: 44px 28px 26px; display: flex; flex-direction: column; align-items: center; gap: 12px; text-align: center; background: linear-gradient(160deg, #eef3fb, #fff); }
.shot__hero b { font-size: 24px; }
.shot__hero span:empty { width: 56%; height: 10px; }
.shot__hero em { width: 120px; height: 30px; background: #2c5fd0; }
.shot__login { margin: auto; width: 260px; padding: 24px; border: 1px solid #dfe4ec; border-radius: 10px; display: flex; flex-direction: column; gap: 12px; }
.shot__login i { height: 32px; background: #f1f4f8; border: 1px solid #dfe4ec; }
.shot__login em { height: 32px; background: #2c5fd0; }
.shot__status { margin: auto; text-align: center; color: #5a6578; }
.shot__status b { display: block; font-size: 64px; color: #c2c9d6; letter-spacing: -.03em; }

/* ---------- v2 Dashboard (ADR 0026: score + KEV + oldest open lead; severity chart is the largest) ---------- */

.dash-lead { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr) minmax(0, 1fr); gap: 14px; }
.dash-lead .card__title, .dash-row .card__title { display: inline-flex; align-items: center; gap: 7px; }
.dash-lead__score .card__title svg { color: var(--accent); }
.dash-lead__kev .card__title svg { color: var(--sev-critical); }
.dash-lead__old .card__title svg { color: var(--age-30); }
.lead-num { display: flex; align-items: center; gap: 12px; margin-bottom: 8px; }
.lead-num > b { font: 700 30px/1 var(--font-sans); letter-spacing: -.02em; color: var(--text); font-variant-numeric: tabular-nums; flex: none; }
.lead-num > b.is-zero { color: var(--text-faint); }
.lead-num__unit { font: 600 var(--text-sm)/1 var(--font-sans); letter-spacing: 0; color: var(--text-muted); margin-left: 5px; }
.lead-num > span { font-size: var(--text-xs); line-height: 1.45; color: var(--text-muted); }
.risk-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--border-subtle); }
.risk-row { display: flex; align-items: center; gap: 8px; padding: 6px 0; border-bottom: 1px solid var(--border-subtle); min-width: 0; }
.risk-row:last-child { border-bottom: 0; }
/* Severity as a coloured stripe (as in tables) so the issue name gets the width; the label is in aria-label and the panel. */
.risk-row { border-left: 3px solid var(--sev-none); padding-left: 9px; }
.risk-row[data-sev="critical"] { border-left-color: var(--sev-critical); } .risk-row[data-sev="high"] { border-left-color: var(--sev-high); }
.risk-row[data-sev="medium"] { border-left-color: var(--sev-medium); } .risk-row[data-sev="low"] { border-left-color: var(--sev-low); }
.risk-row[data-sev="info"] { border-left-color: var(--sev-info); }
.risk-row__main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.risk-row__main > a { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 550; font-size: var(--text-sm); }
.risk-row__asset { font-size: var(--text-xs); color: var(--text-faint); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.risk-row__age { flex: none; text-align: right; }
.lead-more { display: inline-flex; align-items: center; gap: 4px; margin-top: 8px; padding: 0; border: 0; background: none; color: var(--accent); font: 600 var(--text-xs)/1.4 var(--font-sans); cursor: pointer; }
.lead-more:hover { text-decoration: underline; }

.score-viz { display: flex; flex-direction: column; align-items: center; gap: 8px; }
.score-viz__gauge { position: relative; display: flex; justify-content: center; width: 100%; }
.score-gauge { display: block; max-width: 100%; height: auto; }
.score-limit { position: absolute; top: 2px; right: 0; display: inline-flex; align-items: center; gap: 4px; padding: 3px 8px; border-radius: 999px;
  background: var(--warning-soft); color: var(--warning); font: 650 var(--text-xs)/1.3 var(--font-sans); cursor: help; }
.score-viz__minis { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; width: 100%; padding-top: 10px; border-top: 1px solid var(--border-subtle); }
.score-mini { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.score-mini__head { display: flex; align-items: center; justify-content: space-between; gap: 6px; }
.score-mini svg { display: block; max-width: 100%; height: auto; }
.score-delta { display: inline-flex; align-items: center; gap: 2px; font: 700 var(--text-xs)/1 var(--font-sans); font-variant-numeric: tabular-nums; color: var(--text-muted); }
.score-delta.is-up { color: var(--positive); } .score-delta.is-down { color: var(--negative); }
.grade-bar.is-clickable { cursor: pointer; }
.grade-bar.is-clickable:hover rect:not([fill="transparent"]) { filter: brightness(1.08); }

.dash-row { display: grid; grid-template-columns: minmax(0, 2.1fr) minmax(0, 1fr); gap: 14px; }
.dash-row .switch { font-size: var(--text-xs); }
.dash-sev__total { margin-left: 10px; font-size: var(--text-xs); font-variant-numeric: tabular-nums; }
.dash-sev .rings { padding: 24px 16px 20px; gap: 12px; }
.dash-sev .ring-btn__sev { font-size: var(--text-sm); }

/* Security score: help modal and the per-server breakdown in the asset panel. */
.score-help p, .score-help li { font-size: var(--text-sm); line-height: 1.55; color: var(--text-body); }
.score-help h4 { margin: 16px 0 6px; font-size: var(--text-sm); color: var(--text); }
.score-help__eg { width: 100%; border-collapse: collapse; font-size: var(--text-sm); }
.score-help__eg th, .score-help__eg td { padding: 6px 8px; border-bottom: 1px solid var(--border-subtle); text-align: left; }
.score-help__eg th { font-size: var(--text-xs); font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--text-muted); }
.score-help__eg .num { text-align: right; font-variant-numeric: tabular-nums; width: 80px; }
.score-help__grades { display: flex; flex-wrap: wrap; gap: 16px; }
.score-help__note { margin-top: 12px; padding: 8px 10px; border-radius: var(--radius-control); background: var(--info-soft); }
.score-lost { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--border-subtle); }
.score-lost li { display: flex; align-items: center; gap: 10px; min-width: 0; padding: 6px 0; border-bottom: 1px solid var(--border-subtle); font-size: var(--text-sm); }
.score-lost li:last-child { border-bottom: 0; }
.score-lost__pts { flex: none; width: 34px; text-align: right; font: 650 var(--text-sm)/1 var(--font-sans); font-variant-numeric: tabular-nums; color: var(--negative); }
.score-lost .sev { flex: none; width: 62px; justify-content: center; }
.score-lost__name { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.score-lost__why { flex: none; font-size: var(--text-xs); color: var(--text-faint); }
.ageing { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; }
/* One row per bucket (label + count left, severity split right); the split wraps under the count when the card is narrow. */
.ageing__cell { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; min-width: 0; padding: 12px; border: 1px solid var(--border); border-radius: var(--radius-control); background: var(--raised); text-align: left; cursor: pointer; }
.ageing__head { display: flex; flex-direction: column; gap: 6px; }
.ageing .sevbox { flex-wrap: wrap; }
.ageing__cell:hover:not([disabled]) { border-color: var(--accent); box-shadow: 0 0 0 3px var(--ring); }
.ageing__cell[disabled] { cursor: default; }
.ageing__cell b { font: 700 28px/1 var(--font-sans); color: var(--text); font-variant-numeric: tabular-nums; }
.ageing__cell b.is-zero { color: var(--text-faint); }
.asset-tiles { display: grid; grid-template-columns: repeat(10, minmax(0, 1fr)); gap: 10px; }
.asset-tiles__wide { grid-column: span 2; }
.asset-tiles .stat { min-height: 76px; justify-content: space-between; }
.asset-tiles .stat__value { font-size: 20px; }
@media (max-width: 1279.98px) {
  .asset-tiles { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .dash-lead { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dash-lead__score { grid-column: 1 / -1; }
  .dash-row { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- v2 Sign-in placeholder (D-07) ---------- */

.login { min-height: 100%; display: grid; place-items: center; padding: 40px 16px; }
.login__card { width: 100%; max-width: 440px; background: var(--raised); border: 1px solid var(--border); border-radius: var(--radius-frame); padding: 26px 26px 20px; box-shadow: var(--shadow-lg); }
.login__brand { display: flex; align-items: center; gap: 9px; margin-bottom: 18px; color: var(--text); letter-spacing: .06em; }
.login__card h1 { font-size: var(--text-2xl); color: var(--text); margin-bottom: 14px; }
.login__step { margin-top: 20px; padding-top: 14px; border-top: 1px solid var(--border-subtle); }
.login__step .tenant-row { border: 1px solid var(--border-subtle); margin-bottom: 6px; }
.login__proto { display: flex; gap: 6px; align-items: flex-start; font-size: var(--text-2xs); margin-top: 12px; }

/* ---------- Management (the real app's management.css): the six-column root list fits the card at
   1024 px without a sideways scroll (ADR 0085); state, mode, last and next scan share one cell. ---------- */
.root-intro { margin: 2px 0 12px; }
.root-name { display: flex; flex-direction: column; gap: 3px; align-items: flex-start; min-width: 0; }
.root-sub { display: flex; flex-wrap: wrap; gap: 4px; align-items: center; }
.root-sub .badge { height: 17px; }
.root-sub__tag { font-size: var(--text-2xs); }
.tag-more { font-size: var(--text-2xs); color: var(--text-faint); border: 1px dashed var(--border); border-radius: 99px; padding: 0 6px; line-height: 15px; }
.root-key { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.root-key__status { font-size: var(--text-xs); color: var(--text-muted); }
.root-key__label { font-size: var(--text-2xs); }
.root-reject { display: inline-flex; flex-direction: column; gap: 2px; align-items: flex-start; }
.root-reject__reason { font-size: var(--text-2xs); color: var(--text-muted); max-width: 160px; }
.scan-cell { display: flex; flex-direction: column; gap: 2px; align-items: flex-start; min-width: 0; }
.scan-cell .faint { font-size: var(--text-xs); }
.scan-cell__line { display: inline-flex; gap: 6px; align-items: center; }
.scan-state-btn { background: none; border: 0; padding: 0; cursor: pointer; display: inline-flex; }
.scan-when { white-space: nowrap; }
.root-count { display: inline-flex; flex-direction: column; gap: 2px; align-items: flex-start; }
.root-sub-line { font-size: var(--text-2xs); }
.root-actions { display: inline-flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.scan-reason { display: block; width: 100%; font-size: var(--text-2xs); color: var(--text-muted); margin-top: 4px; }
.scan-note { font-size: var(--text-2xs); margin: 8px 14px 12px; }
/* Scan settings dialog (ADR 0084): the switch, the read-only-while-off fields, the mode radios. */
.scan-switch { margin-top: 12px; }
.scan-switch__hint { margin-top: 6px; }
.scan-schedule-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 12px; }
.scan-schedule-fields.is-off .input { opacity: .55; }
.scan-time { display: inline-flex; gap: 8px; align-items: center; }
.scan-tz { font-size: var(--text-2xs); color: var(--text-muted); white-space: nowrap; }
.scan-modes { border: 0; padding: 0; margin: 0 0 12px; display: grid; gap: 8px; }
.scan-mode { display: flex; gap: 8px; align-items: flex-start; cursor: pointer; }
.scan-mode input { margin-top: 3px; }
.scan-mode__text { display: block; color: var(--text-muted); font-size: var(--text-xs); }
/* The scan controls sit under the drawer meta, on their own line. */
.drawer__meta .drawer__scan-controls { flex-basis: 100%; }

/* ---------- Root Assets fits the card at 1024 px (ADR 0085; the real management.css .roots-table) ----------
   Fixed layout: columns 2-6 are sized on the th (order follows RootsTable columns), Root Asset takes the
   rest and ellipsizes, with the full name in its title. Cells and header labels wrap instead of widening. */
.roots-table .dt { table-layout: fixed; }
.roots-table .dt thead th { white-space: normal; padding: 0 2px 0 6px; }
.roots-table .dt td { padding: 6px 4px 6px 6px; white-space: normal; max-width: none; height: auto; }
.roots-table .root-name { align-items: stretch; width: 100%; min-width: 0; }
.roots-table .cell-main { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.roots-table .root-reject__reason { max-width: 100%; }
.roots-table .badge--wide { white-space: normal; height: auto; min-height: 20px; }
/* Issues: a box keeps the width of its number; when five boxes no longer fit in 112 px they wrap
   to a second line, so a count is never shortened or hidden. */
.roots-table .sevbox { flex-wrap: wrap; max-width: 100%; }
.roots-table .sevbox i { flex: none; min-width: 18px; padding: 0 2px; overflow-wrap: normal; white-space: nowrap; }
/* Scan status: the state badge ("Not scanned until approved") wraps inside the 176 px column like the
   Approval badge, and the lines under it wrap too. */
.roots-table .scan-cell, .roots-table .scan-cell__line { max-width: 100%; }
.roots-table .scan-cell .badge { white-space: normal; height: auto; min-height: 20px; padding-block: 3px; line-height: 1.2; }
.roots-table .btn--xs { padding: 0 6px; }

/* ---------- Platform admin (the real app's platform.css) ---------- */
.platform-search { width: 220px; }
.platform-empty-action { display: flex; justify-content: center; padding-bottom: 32px; }
.platform-decisions { list-style: none; margin: 0; padding: 4px 14px 10px; }
.platform-decisions li { display: flex; align-items: center; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--border-subtle); }
.platform-decisions li:last-child { border-bottom: 0; }
.platform-owner { display: flex; align-items: center; gap: 12px; justify-content: space-between; flex-wrap: wrap; }
.platform-member { display: flex; align-items: center; gap: 10px; padding: 6px 0; flex-wrap: wrap; }
.platform-member__who { display: flex; flex-direction: column; min-width: 0; }
.platform-member__who b { font-weight: 600; color: var(--text); }
.platform-user-search { display: flex; align-items: flex-end; gap: 12px; max-width: 560px; }
.platform-user-search .field { flex: 1; }
.platform-user .card__head { flex-wrap: wrap; }
.platform-memberships { margin-top: 12px; }
/* Emergency stop (CEO-E2): the card of the Tenants tab that sets the halt every page shows. */
.scan-halt__row { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.scan-halt__text { flex: 1 1 360px; min-width: 0; }
.scan-halt__text p { margin: 0 0 6px; overflow-wrap: anywhere; }
