/* =====================================================================================================
   Multifamily Intelligence — approved visual system (2026-09-30 reference).
   Tokens are defined once here. The app shell and the Intelligence dashboard use them; other pages keep
   app.css until the system is propagated. No JavaScript; no remote fonts.
   ===================================================================================================== */
:root {
    /* Surfaces */
    --mi-bg: #f3f7fb;             /* very light cool blue-gray canvas */
    --mi-sidebar: #f5f9fc;
    --mi-surface: #ffffff;
    --mi-head: #f5f8fb;           /* table heading band */
    --mi-border: #e3eaf2;
    --mi-divider: #edf1f6;
    --mi-track: #e6edf5;          /* progress / bar tracks */

    /* Blue */
    --mi-blue: #0a72d6;           /* primary fill: 4.8:1 with white text */
    --mi-blue-hover: #085fb4;
    --mi-blue-bright: #1c93ed;    /* data bars, progress, icons */
    --mi-blue-soft: #e8f3fe;
    --mi-link: #0966c9;           /* 5.6:1 on white, ≥4.8:1 on tinted surfaces */
    --mi-nav-active: #e1f0fd;
    --mi-nav-active-text: #0a66c8;/* 4.8:1 on the active background */
    --mi-outline: #4f8fd0;        /* secondary button border, 3.4:1 */
    --mi-control-border: #7d90a8; /* input / select / checkbox boundary, ≥3:1 on white and canvas */
    --mi-bar: #1386e0;            /* data and progress bars, 3.2:1 against the track */

    /* Text */
    --mi-text: #101c35;
    --mi-text-2: #46576f;         /* 7.4:1 on white, ≥6.3:1 on every tinted surface */
    --mi-muted: #56667c;          /* 5.9:1 on white, ≥5.0:1 on every tinted surface */

    /* States: always paired with words, never colour alone */
    --mi-danger: #c4202b;  --mi-danger-soft: #fdd9d9;  --mi-danger-ink: #b3121b;
    --mi-warning: #f08a24; --mi-warning-soft: #feedc8; --mi-warning-ink: #8a5200;
    --mi-info-soft: #d3e8fd; --mi-info-ink: #0b5cad;
    --mi-review-soft: #ece6fb; --mi-review-ink: #5a3a9e;   /* case by case / needs review: a person must decide */
    --mi-success: #0c6b50; --mi-success-soft: #dff4ec;
    --mi-neutral-soft: #e3eaf2;

    /* Shape & type */
    --mi-radius: 14px;
    --mi-radius-ctl: 9px;
    --mi-shadow: 0 1px 2px rgba(16, 28, 53, .04), 0 4px 14px rgba(16, 28, 53, .04);
    --mi-font: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, ui-sans-serif, system-ui, sans-serif;
    /* Type scale (v1.1 readability pass): one size per role; nothing user-facing below 14px. */
    --mi-fs-page: 32px;        /* page title */
    --mi-fs-section: 20px;     /* card / section heading */
    --mi-fs-section-sm: 19px;  /* card heading on phones */
    --mi-fs-lead: 18px;        /* page subtitle */
    --mi-fs-title: 17px;       /* task / record title */
    --mi-fs-body: 16px;        /* body, rows, navigation, controls, buttons */
    --mi-fs-secondary: 15px;   /* supporting text, labels, captions, table headings */
    --mi-fs-meta: 14px;        /* incidental metadata (chips, notes, footer) */
    --mi-topbar-h: 60px;
    --mi-rail: 224px;
}

/* ---------------------------------------------------------------- shell */
body { background: var(--mi-bg); }
.mi-app { display: grid; grid-template-columns: var(--mi-rail) minmax(0, 1fr); grid-template-rows: var(--mi-topbar-h) 1fr; min-height: 100vh; font-family: var(--mi-font); }
.mi-icon { flex: none; }

.mi-topbar { grid-column: 1 / -1; position: sticky; top: 0; z-index: 30; display: flex; align-items: center; gap: 20px; height: var(--mi-topbar-h); padding: 0 24px 0 20px; background: var(--mi-surface); border-bottom: 1px solid var(--mi-border); }
.mi-brand { display: flex; align-items: center; gap: 10px; min-width: calc(var(--mi-rail) - 20px); flex: none; text-decoration: none; color: var(--mi-text); }
.mi-brand:hover { color: var(--mi-text); }
.mi-mark { font-size: 30px; font-weight: 800; line-height: 1; letter-spacing: -.06em; color: var(--mi-blue-bright); }
.mi-brand-text { display: flex; flex-direction: column; min-width: 0; }
.mi-brand-name { font-size: var(--mi-fs-body); font-weight: 650; line-height: 1.2; white-space: nowrap; }
.mi-brand-tenant { font-size: var(--mi-fs-meta); color: var(--mi-text-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.mi-search { display: flex; align-items: center; gap: 8px; flex: 0 1 460px; height: 42px; padding: 0 14px; margin-left: clamp(16px, 11vw, 220px); background: var(--mi-bg); border: 1px solid var(--mi-control-border); border-radius: 10px; color: var(--mi-muted); }
.mi-search:focus-within { border-color: var(--mi-blue); outline: 3px solid rgba(10, 114, 214, .25); outline-offset: 0; background: var(--mi-surface); }
.mi-search input[type=search] { flex: 1; min-width: 0; min-height: 0; height: 40px; padding: 0; border: none; background: transparent; font: inherit; font-size: var(--mi-fs-body); color: var(--mi-text); }
.mi-search input[type=search]:focus-visible { outline: none; }
.mi-search input::placeholder { color: var(--mi-muted); }
.mi-search-drawer { display: none; }

.mi-user { position: relative; margin-left: auto; }
.mi-user-btn { display: flex; align-items: center; gap: 10px; padding: 4px 8px 4px 4px; border: none; border-radius: 999px; background: none; font: inherit; font-size: var(--mi-fs-body); font-weight: 500; color: var(--mi-text); cursor: pointer; }
.mi-user-btn:hover { background: var(--mi-bg); }
.mi-avatar { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 999px; background: #1a74c4; color: #fff; font-size: var(--mi-fs-meta); font-weight: 650; letter-spacing: .02em; }
.mi-user-menu { position: absolute; right: 0; top: calc(100% + 8px); min-width: 190px; padding: 6px; background: var(--mi-surface); border: 1px solid var(--mi-border); border-radius: 12px; box-shadow: 0 8px 28px rgba(16, 28, 53, .12); display: flex; flex-direction: column; z-index: 40; }
.mi-user-menu a, .mi-user-menu button { display: block; width: 100%; text-align: left; padding: 10px 12px; border: none; border-radius: 8px; background: none; font: inherit; font-size: var(--mi-fs-body); color: var(--mi-text); text-decoration: none; cursor: pointer; }
.mi-user-menu a:hover, .mi-user-menu button:hover { background: var(--mi-bg); color: var(--mi-text); }
.mi-user-menu form { margin: 0; }
.mi-menu-btn { display: none; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid var(--mi-border); border-radius: 10px; background: var(--mi-surface); color: var(--mi-text); cursor: pointer; }

.mi-sidenav { grid-row: 2; background: var(--mi-sidebar); border-right: 1px solid var(--mi-border); }
.mi-sidenav-inner { position: sticky; top: var(--mi-topbar-h); max-height: calc(100vh - var(--mi-topbar-h)); min-height: calc(100vh - var(--mi-topbar-h)); display: flex; flex-direction: column; gap: 4px; padding: 18px 12px; overflow-y: auto; }
.mi-sidenav nav { display: flex; flex-direction: column; gap: 4px; }
.mi-sidenav nav a { display: flex; align-items: center; gap: 13px; min-height: 48px; padding: 0 14px; border-radius: 11px; color: var(--mi-text); text-decoration: none; font-size: var(--mi-fs-body); font-weight: 500; }
.mi-sidenav nav a .mi-icon { color: var(--mi-text-2); }
.mi-sidenav nav a:hover { background: #eaf2fa; color: var(--mi-text); }
.mi-sidenav nav a.active { background: var(--mi-nav-active); color: var(--mi-nav-active-text); font-weight: 500; }
.mi-sidenav nav a.active .mi-icon { color: var(--mi-nav-active-text); }
.mi-sidenav-foot { margin-top: auto; padding-top: 12px; }

.mi-main { grid-row: 2; grid-column: 2; min-width: 0; display: flex; flex-direction: column; }
.mi-main > .page { flex: 1; }
.mi-main > .subnav { background: var(--mi-surface); }
.mi-footer { padding: 14px 28px; font-size: var(--mi-fs-meta); color: var(--mi-muted); border-top: 1px solid var(--mi-border); background: var(--mi-surface); }

.mi-app :focus-visible { outline: 3px solid var(--mi-blue); outline-offset: 2px; }
/* Blazor moves focus to the heading after navigation (for screen readers); no ring for that programmatic focus. */
.mi-app h1:focus, .mi-app h1:focus-visible { outline: none; }

/* ---------------------------------------------------------------- Intelligence page */
.page.mi-page { max-width: 1560px; padding: 14px 28px 32px; font-family: var(--mi-font); font-size: var(--mi-fs-body); color: var(--mi-text); }
.mi-page a { color: var(--mi-link); }
.mi-greeting { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 6px 24px; margin-bottom: 16px; }
.mi-greeting h1 { font-size: var(--mi-fs-page); font-weight: 600; letter-spacing: -.02em; line-height: 1.15; color: var(--mi-text); }
.mi-greeting p { margin: 4px 0 0; font-size: var(--mi-fs-lead); color: var(--mi-text-2); }
.mi-date { padding-top: 8px; font-size: var(--mi-fs-body); color: var(--mi-text-2); }

.mi-dash { display: grid; gap: 18px; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
    grid-template-areas: "growth growth" "myday pipeline" "funnel funnel" "research attention" "recent recent"; }
.mi-growth { grid-area: growth; } .mi-myday { grid-area: myday; } .mi-pipeline { grid-area: pipeline; }
.mi-funnel { grid-area: funnel; } .mi-research { grid-area: research; } .mi-attention { grid-area: attention; } .mi-recent { grid-area: recent; }

.mi-card { min-width: 0; padding: 20px 22px; background: var(--mi-surface); border: 1px solid var(--mi-border); border-radius: var(--mi-radius); box-shadow: var(--mi-shadow); }
.mi-card-head { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.mi-card-head h2 { margin: 0; font-size: var(--mi-fs-section); font-weight: 600; letter-spacing: -.01em; color: var(--mi-text); }
.mi-card-head > .mi-icon { color: var(--mi-blue-bright); }
.mi-card-head .mi-head-link { margin-left: auto; font-size: var(--mi-fs-body); font-weight: 500; }
.mi-caption { font-size: var(--mi-fs-secondary); color: var(--mi-text-2); }
.mi-empty { margin: 4px 0 0; color: var(--mi-text-2); font-size: var(--mi-fs-body); }

/* Portfolio growth: the goal is primary; three secondary figures to the right. */
.mi-growth { display: grid; grid-template-columns: minmax(0, 1fr) repeat(3, auto); align-items: center; padding: 18px 24px; }
.mi-growth .mi-stat { align-self: stretch; justify-content: center; }
.mi-growth-main { display: flex; gap: 18px; align-items: flex-start; padding-right: 32px; min-width: 0; }
.mi-icon-tile { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; flex: none; border-radius: 999px; background: var(--mi-blue-soft); color: var(--mi-blue-bright); }
.mi-growth-body { flex: 1; min-width: 0; }
.mi-growth-body h2 { margin: 0 0 2px; font-size: var(--mi-fs-section); font-weight: 600; }
.mi-growth-figure { display: flex; align-items: baseline; gap: 10px; margin-top: 4px; text-decoration: none; color: var(--mi-text); }
.mi-growth-figure:hover .mi-won { text-decoration: underline; text-decoration-thickness: 2px; }
.mi-won { font-size: 40px; font-weight: 700; line-height: 1.1; letter-spacing: -.02em; font-variant-numeric: tabular-nums; color: var(--mi-text); }
.mi-of { font-size: 26px; font-weight: 500; color: var(--mi-text-2); font-variant-numeric: tabular-nums; }
.mi-won-unit { font-size: var(--mi-fs-body); color: var(--mi-text-2); }
.mi-figure-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 28px; }
.mi-figure-row .mi-growth-figure { flex: none; }
.mi-progress-row { display: flex; align-items: center; gap: 14px; flex: 1 1 240px; min-width: 0; }
.mi-progress { flex: 1; max-width: 520px; height: 10px; border-radius: 999px; background: var(--mi-track); overflow: hidden; }
.mi-progress > span { display: block; height: 100%; border-radius: 999px; background: var(--mi-bar); }
.mi-pct { font-size: var(--mi-fs-secondary); color: var(--mi-muted); font-variant-numeric: tabular-nums; }
.mi-stat { display: flex; flex-direction: column; gap: 0; padding: 2px 30px; border-left: 1px solid var(--mi-border); text-decoration: none; color: var(--mi-text); min-width: 170px; }
.mi-stat-value { font-size: 30px; font-weight: 600; line-height: 1.15; letter-spacing: -.01em; font-variant-numeric: tabular-nums; color: var(--mi-text); }
.mi-stat-label { font-size: var(--mi-fs-body); color: var(--mi-text-2); }
.mi-stat-note { font-size: var(--mi-fs-secondary); color: var(--mi-muted); }
a.mi-stat:hover .mi-stat-value { color: var(--mi-link); text-decoration: underline; text-decoration-thickness: 2px; }

/* Tabs */
.mi-tabs { display: flex; gap: 6px; margin: 0 -22px; padding: 0 22px; border-bottom: 1px solid var(--mi-border); overflow-x: auto; }
.mi-tabs button { padding: 10px 14px 12px; border: none; border-bottom: 2px solid transparent; margin-bottom: -1px; background: none; font: inherit; font-size: var(--mi-fs-body); font-weight: 500; color: var(--mi-text-2); white-space: nowrap; cursor: pointer; }
.mi-tabs button:hover { color: var(--mi-text); }
.mi-tabs button[aria-pressed=true] { color: var(--mi-nav-active-text); border-bottom-color: var(--mi-blue-bright); font-weight: 500; }

/* Buttons */
.mi-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 38px; padding: 0 15px; border-radius: var(--mi-radius-ctl); border: 1px solid var(--mi-outline); background: var(--mi-surface); color: var(--mi-link); font: inherit; font-size: var(--mi-fs-body); font-weight: 500; text-decoration: none; white-space: nowrap; cursor: pointer; }
.mi-btn:hover { border-color: var(--mi-blue); background: var(--mi-blue-soft); color: var(--mi-blue-hover); }
.mi-btn-primary { background: var(--mi-blue); border-color: var(--mi-blue); color: #fff; }
.mi-btn-primary:hover { background: var(--mi-blue-hover); border-color: var(--mi-blue-hover); color: #fff; }
.mi-btn:disabled { opacity: .55; cursor: not-allowed; }
.mi-page a.mi-btn { color: var(--mi-link); }
.mi-page a.mi-btn-primary { color: #fff; }

/* My Day */
.mi-tasks { list-style: none; margin: 0; padding: 0; }
.mi-task { display: grid; grid-template-columns: auto minmax(200px, 1fr) auto auto; gap: 4px 12px; align-items: start; padding: 16px 0; border-bottom: 1px solid var(--mi-divider); }
.mi-task:last-child { border-bottom: none; }
.mi-check { width: 26px; height: 26px; margin-top: 2px; display: inline-flex; align-items: center; justify-content: center; border: 1.5px solid var(--mi-control-border); border-radius: 7px; background: var(--mi-surface); color: transparent; cursor: pointer; }
.mi-check:hover { border-color: var(--mi-blue); color: var(--mi-blue); }
.mi-task-title { font-size: var(--mi-fs-title); font-weight: 600; color: var(--mi-text); }
.mi-task-line { font-size: var(--mi-fs-secondary); color: var(--mi-text-2); }
.mi-task-line a { color: var(--mi-text-2); text-decoration: none; }
.mi-task-line a:hover { color: var(--mi-link); text-decoration: underline; }
.mi-sep { margin: 0 6px; color: var(--mi-muted); }
.mi-due { font-size: var(--mi-fs-body); color: var(--mi-text-2); }
.mi-due-today, .mi-due-overdue { color: var(--mi-danger); font-weight: 500; }
.mi-task-actions { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.mi-task-actions .mi-btn { padding: 0 13px; }
.mi-task-composer { grid-column: 2 / -1; }
.mi-composer { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px 12px; margin-top: 10px; padding: 14px; border: 1px solid var(--mi-border); border-radius: 12px; background: #f8fafd; }
.mi-composer .field { flex: 1 1 240px; }
.mi-composer label { font-size: var(--mi-fs-secondary); font-weight: 600; color: var(--mi-text-2); }
.mi-composer input, .mi-composer textarea { border-radius: var(--mi-radius-ctl); border-color: var(--mi-control-border); font-size: var(--mi-fs-body); }
.mi-composer textarea { min-height: 70px; }
.mi-status { margin: 8px 0 0; font-size: var(--mi-fs-secondary); color: var(--mi-success); }

/* Tables */
.mi-table-wrap { overflow-x: auto; }
.mi-table { width: 100%; border-collapse: separate; border-spacing: 0; font-size: var(--mi-fs-body); }
.mi-table th { padding: 10px 12px; background: var(--mi-head); font-size: var(--mi-fs-secondary); font-weight: 600; color: var(--mi-text-2); text-align: left; white-space: nowrap; }
.mi-table th:first-child { border-radius: 8px 0 0 8px; }
.mi-table th:last-child { border-radius: 0 8px 8px 0; }
.mi-table td { padding: 12px; border-bottom: 1px solid var(--mi-divider); color: var(--mi-text-2); vertical-align: middle; }
.mi-table tbody tr:last-child td { border-bottom: none; }
.mi-table tbody tr:hover td { background: #f9fbfd; }
.mi-table .num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.mi-table .ctr { text-align: center; }
.mi-table .name { font-weight: 500; color: var(--mi-link); text-decoration: none; }
.mi-table .name:hover { text-decoration: underline; }
.mi-table tr.mi-composer-row td { background: #f8fafd; }
.mi-table tr.mi-composer-row:hover td { background: #f8fafd; }
.mi-table tr.mi-composer-row .composer { margin: 0; background: transparent; border: none; padding: 4px 0; }
.mi-table .mi-when { white-space: nowrap; color: var(--mi-text); }
.mi-act-title { display: block; color: var(--mi-text); }
.mi-act-detail { display: block; margin-top: 1px; font-size: var(--mi-fs-secondary); color: var(--mi-muted); }
.mi-when-short { display: none; }
.mi-drawer-brand { display: none; }
.mi-drawer-brand .mi-brand-name { font-size: var(--mi-fs-body); }
.mi-drawer-brand .mi-brand-tenant { display: block; font-size: var(--mi-fs-secondary); }
.mi-table td.mi-type, .mi-table td.mi-by { white-space: nowrap; }
.mi-research .mi-table .mi-btn { padding: 0 13px; }
.mi-table th:first-child { white-space: normal; }
@media (min-width: 1380px) { .mi-research td:first-child { min-width: 190px; } } /* a long first heading ("Owner / Account") may wrap instead of forcing a scroll */
.mi-research .mi-table td, .mi-recent .mi-table td { padding-top: 9px; padding-bottom: 9px; }
.mi-table .mi-btn { min-height: 34px; padding: 0 16px; }

/* Pipeline */
.mi-stage-table td { padding: 5px 12px; border-bottom: none; font-size: var(--mi-fs-secondary); }
.mi-stage-table th { padding: 8px 12px; font-size: var(--mi-fs-secondary); }
.mi-stage-table tbody tr:hover td { background: #f6f9fc; }
.mi-stage-table td.mi-bar-cell { width: 42%; }
.mi-bar { display: block; height: 10px; border-radius: 999px; background: var(--mi-track); overflow: hidden; }
.mi-bar > span { display: block; height: 100%; border-radius: 999px; background: var(--mi-bar); }
.mi-stage-table .stage { color: var(--mi-text); text-decoration: none; white-space: nowrap; }
.mi-stage-table .stage:hover { color: var(--mi-link); text-decoration: underline; }
.mi-stage-table .doors-has { color: var(--mi-text); font-weight: 650; }
.mi-stage-table tr.won td { border-top: 1px solid var(--mi-divider); }
.mi-stage-note { margin: 10px 0 0; font-size: var(--mi-fs-meta); color: var(--mi-muted); }

/* Needs attention */
.mi-attn { list-style: none; margin: 0; padding: 0; }
.mi-attn li { border-bottom: 1px solid var(--mi-divider); }
.mi-attn li:last-child { border-bottom: none; }
.mi-attn a, .mi-attn .row { display: flex; align-items: center; gap: 16px; padding: 10px 6px; border-radius: 10px; color: var(--mi-text); text-decoration: none; font-size: var(--mi-fs-body); }
.mi-attn a:hover { background: #f6f9fc; color: var(--mi-text); }
.mi-attn a:hover .mi-attn-label { text-decoration: underline; }
.mi-pill { display: inline-flex; align-items: center; justify-content: center; flex: none; min-width: 46px; height: 34px; padding: 0 10px; border-radius: 999px; font-size: var(--mi-fs-body); font-weight: 600; font-variant-numeric: tabular-nums; }
.mi-pill-danger { background: var(--mi-danger-soft); color: var(--mi-danger-ink); }
.mi-pill-warning { background: var(--mi-warning-soft); color: var(--mi-warning-ink); }
.mi-pill-info { background: var(--mi-info-soft); color: var(--mi-info-ink); }
.mi-pill-neutral { background: var(--mi-neutral-soft); color: var(--mi-text-2); }
.mi-attention .mi-card-head > .mi-icon { color: var(--mi-warning); }

/* ---------------------------------------------------------------- tablet (768–1199): icon rail, mostly one column */
@media (max-width: 1199px) {
    :root { --mi-rail: 76px; }
    .mi-brand { width: auto; }
    .mi-sidenav { padding: 16px 10px; align-items: stretch; }
    .mi-sidenav nav a { justify-content: center; padding: 0; }
    .mi-nav-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
    .mi-dash { grid-template-columns: minmax(0, 1fr); grid-template-areas: "growth" "myday" "pipeline" "funnel" "research" "attention" "recent"; }
    .mi-growth { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 18px; }
    .mi-growth-main { grid-column: 1 / -1; padding-right: 0; }
    .mi-stat { padding: 4px 20px; min-width: 0; }
    .mi-stat:nth-child(2) { border-left: none; padding-left: 62px; }
}
@media (max-width: 1360px) and (min-width: 768px) {
    .mi-task { grid-template-columns: auto minmax(0, 1fr) auto; }
    .mi-task-actions { grid-column: 2 / -1; justify-content: flex-start; margin-top: 6px; }
}
@media (max-width: 1199px) and (min-width: 900px) {
    .mi-dash { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-areas: "growth growth" "myday myday" "pipeline attention" "funnel funnel" "research research" "recent recent"; }
}

/* ---------------------------------------------------------------- phone (<768): top app bar + menu drawer */
@media (max-width: 767px) {
    .mi-app { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto 1fr; }
    .mi-topbar { gap: 10px; padding: 0 12px 0 14px; height: 60px; }
    .mi-brand-tenant { display: none; }
    .mi-brand { flex: 1 1 auto; min-width: 0; }
    .mi-brand-text { overflow: hidden; }
    .mi-brand-name { overflow: hidden; text-overflow: ellipsis; }
    .mi-brand-name { font-size: var(--mi-fs-body); }
    .mi-topbar > .mi-search, .mi-user-name { display: none; }
    .mi-user { margin-left: auto; }
    .mi-menu-btn { display: inline-flex; }
    .mi-sidenav { display: none; grid-row: 2; grid-column: 1; position: static; height: auto; padding: 10px 12px 14px; border-right: none; border-bottom: 1px solid var(--mi-border); background: var(--mi-surface); }
    .mi-nav-open .mi-sidenav { display: block; }
    .mi-sidenav-inner { position: static; min-height: 0; max-height: none; padding: 0; }
    .mi-sidenav nav a { justify-content: flex-start; padding: 0 14px; }
    .mi-nav-label { position: static; width: auto; height: auto; overflow: visible; clip: auto; }
    .mi-sidenav-foot { margin-top: 4px; padding-top: 6px; border-top: 1px solid var(--mi-divider); }
    .mi-search-drawer { display: flex; margin: 10px 0 0; flex: none; }
    .mi-main { grid-row: 3; grid-column: 1; }
    .mi-footer { padding: 12px 16px; }

    .page.mi-page { padding: 16px 14px 28px; }
    .mi-greeting h1 { font-size: 26px; }
    .mi-greeting p { font-size: var(--mi-fs-body); }
    .mi-date { padding-top: 0; font-size: var(--mi-fs-secondary); }
    .mi-dash { gap: 14px; grid-template-columns: minmax(0, 1fr); grid-template-areas: "growth" "myday" "attention" "pipeline" "funnel" "research" "recent"; }
    .mi-card { padding: 16px; border-radius: 12px; }
    .mi-card-head { flex-wrap: wrap; row-gap: 4px; }
    .mi-card-head h2 { font-size: var(--mi-fs-section-sm); }
    .mi-tabs { margin: 0 -16px; padding: 0 16px; flex-wrap: wrap; column-gap: 2px; }
    .mi-tabs button { padding: 10px 10px 11px; font-size: var(--mi-fs-body); }

    .mi-growth { grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 16px; }
    .mi-growth-main { gap: 12px; }
    .mi-icon-tile { width: 38px; height: 38px; }
    .mi-won { font-size: 34px; }
    .mi-of { font-size: 22px; }
    .mi-stat, .mi-stat:nth-child(2) { padding: 0 10px; border-left: 1px solid var(--mi-border); }
    .mi-stat:nth-child(2) { border-left: none; padding-left: 0; }
    .mi-stat-value { font-size: 22px; }
    .mi-stat-label { font-size: var(--mi-fs-meta); }
    .mi-stat-note { font-size: var(--mi-fs-meta); }

    .mi-task { grid-template-columns: auto minmax(0, 1fr); column-gap: 12px; }
    .mi-task .mi-due { grid-column: 2; }
    .mi-task-actions { grid-column: 2; justify-content: flex-start; margin-top: 8px; }
    .mi-task-composer { grid-column: 1 / -1; }

    /* Tables become stacked rows; no horizontal scrolling of normal content. */
    .mi-table.mi-stack thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
    .mi-table.mi-stack, .mi-table.mi-stack tbody, .mi-table.mi-stack tr, .mi-table.mi-stack td { display: block; width: 100%; }
    .mi-table.mi-stack tbody tr { padding: 12px 0; border-bottom: 1px solid var(--mi-divider); }
    .mi-table.mi-stack tbody tr:last-child { border-bottom: none; }
    .mi-table.mi-stack td { padding: 1px 0; border: none; text-align: left; }
    .mi-table.mi-stack tbody tr:hover td { background: transparent; }
    .mi-table.mi-stack td.mi-inline { display: inline; width: auto; font-size: var(--mi-fs-secondary); color: var(--mi-muted); }
    .mi-table.mi-stack td.mi-inline + td.mi-inline::before { content: "\00B7"; margin: 0 6px 0 0; }
    .mi-table.mi-stack td.mi-act { padding-top: 10px; }
    .mi-table.mi-stack td.mi-when { font-size: var(--mi-fs-secondary); color: var(--mi-muted); }
    .mi-unit { display: inline; }

    /* Pipeline: one stage per row — "Discovery   546 doors   1 opportunity", then its relative-volume bar. */
    .mi-stage-stack thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
    .mi-stage-stack, .mi-stage-stack tbody { display: block; width: 100%; }
    .mi-stage-stack tr { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; column-gap: 14px; row-gap: 6px; align-items: baseline; padding: 9px 0; border-bottom: 1px solid var(--mi-divider); }
    .mi-stage-stack tr:last-child { border-bottom: none; }
    .mi-stage-stack tr.won td { border-top: none; }
    .mi-stage-stack td { display: block; padding: 0; }
    .mi-stage-stack td:first-child { min-width: 0; }
    .mi-stage-stack td.mi-doors { grid-column: 2; grid-row: 1; }
    .mi-stage-stack td.mi-opps { grid-column: 3; grid-row: 1; font-size: var(--mi-fs-secondary); color: var(--mi-muted); min-width: 7.6em; }
    .mi-stage-stack td.mi-bar-cell { grid-column: 1 / -1; grid-row: 2; width: auto; }
    .mi-stage-stack .stage { white-space: normal; }

    /* Recent activity: title, detail, related record, then "Sep 30, 4:43 PM · Alex Rivera". */
    .mi-recent .mi-table.mi-stack tbody tr { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 7px; }
    .mi-recent td.mi-desc { order: 1; flex-basis: 100%; }
    .mi-recent td.mi-rel { order: 2; flex-basis: 100%; padding-top: 2px; }
    .mi-recent td.mi-when { order: 3; width: auto; }
    .mi-recent td.mi-type { display: none; }
    .mi-recent td.mi-by { order: 4; width: auto; font-size: var(--mi-fs-secondary); color: var(--mi-muted); }
    .mi-recent td.mi-by::before { content: "\00B7"; margin-right: 7px; }
    .mi-when-long { display: none; }
    .mi-when-short { display: inline; }

    /* Drawer shows the full product and tenant name. */
    .mi-drawer-brand { display: flex; flex-direction: column; padding: 4px 14px 12px; margin-bottom: 4px; border-bottom: 1px solid var(--mi-divider); }
}
.mi-unit { display: none; }
@media (max-width: 767px) { .mi-unit { display: inline; } }
@media (max-width: 379px) {
    .mi-topbar .mi-brand-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
    .mi-topbar .mi-mark { font-size: 34px; }
}
@media (max-width: 360px) {
    .mi-stage-stack tr { column-gap: 10px; }
    .mi-stage-stack td.mi-doors { font-size: var(--mi-fs-secondary); }
    .mi-stage-stack tr { column-gap: 8px; }
    .mi-stage-stack td.mi-doors { font-size: var(--mi-fs-meta); }
    .mi-stage-stack td.mi-opps { font-size: var(--mi-fs-meta); min-width: 0; }
    .mi-greeting h1 { font-size: 24px; }
    .mi-growth { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .mi-stat-value { font-size: 20px; }
    .mi-btn { padding: 0 12px; }
}

/* Link tabs (full research list) */
.mi-linktabs { display: flex; gap: 6px; margin: 0 0 18px; border-bottom: 1px solid var(--mi-border); overflow-x: auto; }
.mi-linktabs a { padding: 10px 14px 12px; border-bottom: 2px solid transparent; margin-bottom: -1px; font-size: var(--mi-fs-body); font-weight: 500; color: var(--mi-text-2); text-decoration: none; white-space: nowrap; }
.mi-linktabs a:hover { color: var(--mi-text); }
.mi-linktabs a[aria-current=page] { color: var(--mi-nav-active-text); border-bottom-color: var(--mi-blue-bright); font-weight: 600; }
.mi-page .breadcrumb { font-size: var(--mi-fs-secondary); }
@media (max-width: 420px) {
    /* Narrow phones: growth figures as simple rows ("546 Pipeline doors") instead of cramped columns. */
    .mi-growth { grid-template-columns: minmax(0, 1fr); row-gap: 0; }
    .mi-growth-main { padding-bottom: 12px; }
    .mi-growth .mi-stat, .mi-growth .mi-stat:nth-child(2) { flex-direction: row; flex-wrap: wrap; align-items: baseline; justify-content: flex-start; column-gap: 8px; padding: 8px 0; border-left: none; border-top: 1px solid var(--mi-divider); }
    .mi-stat-value { font-size: 20px; }
    .mi-stat-label { font-size: var(--mi-fs-body); }
    .mi-stat-note { font-size: var(--mi-fs-meta); }
}

/* =====================================================================================================
   v1 list pages (My Week, Properties, Owner Accounts) — same tokens and components as Intelligence.
   ===================================================================================================== */
.mi-head-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; }
.mi-head-actions .mi-date { padding-top: 0; }
.mi-notice { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: -6px 0 14px; font-size: var(--mi-fs-body); color: var(--mi-text-2); }
.mi-notice .mi-pill { height: 28px; min-width: 34px; font-size: var(--mi-fs-secondary); }
.mi-linktabs a.mi-tab-alert { color: var(--mi-danger); }
.mi-linktabs a.mi-tab-alert[aria-current=page] { color: var(--mi-danger); border-bottom-color: var(--mi-danger); }

.mi-chip { display: inline-flex; align-items: center; margin-left: 6px; padding: 1px 10px; border-radius: 999px; background: var(--mi-neutral-soft); color: var(--mi-text-2); font-size: var(--mi-fs-meta); font-weight: 500; vertical-align: 2px; white-space: nowrap; }
.mi-table .mi-chip, .mi-chip:first-child { margin-left: 0; }
.mi-chip-warning { background: var(--mi-warning-soft); color: var(--mi-warning-ink); }
.mi-chip-danger { background: var(--mi-danger-soft); color: var(--mi-danger-ink); }
.mi-chip-info { background: var(--mi-info-soft); color: var(--mi-info-ink); }
.mi-chip-review { background: var(--mi-review-soft); color: var(--mi-review-ink); }
.mi-chip-success { background: var(--mi-success-soft); color: var(--mi-success); }
.mi-btn-quiet { border-color: transparent; background: none; color: var(--mi-link); padding: 0 10px; }
.mi-btn-quiet:hover { border-color: transparent; background: var(--mi-blue-soft); }
.mi-task-meta { font-size: var(--mi-fs-secondary); color: var(--mi-muted); }
.mi-muted { color: var(--mi-muted); }
.mi-sub { display: block; font-size: var(--mi-fs-secondary); color: var(--mi-muted); }
.mi-show-phone { display: none; }
.mi-show-tablet { display: none !important; }
.mi-page .unknown { color: var(--mi-muted); font-style: italic; }

/* Form controls inside v1 pages */
.mi-page input:not([type]), .mi-page input[type=text], .mi-page input[type=search], .mi-page input[type=number], .mi-page input[type=date], .mi-page input[type=email], .mi-page input[type=password], .mi-page select, .mi-page textarea {
    min-height: 44px; border: 1px solid var(--mi-control-border); border-radius: var(--mi-radius-ctl); background: var(--mi-surface); color: var(--mi-text); font-family: inherit; font-size: var(--mi-fs-body); }
.mi-page input:focus-visible, .mi-page select:focus-visible, .mi-page textarea:focus-visible { outline: 3px solid rgba(10, 114, 214, .3); outline-offset: 0; border-color: var(--mi-blue); }

/* Toolbar: search and sort visible, secondary filters under "More filters" */
.mi-list { padding-top: 16px; }
.mi-toolbar { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px 14px; padding-bottom: 14px; border-bottom: 1px solid var(--mi-divider); }
.mi-field { display: flex; flex-direction: column; gap: 5px; flex: 0 1 230px; min-width: 0; }
.mi-field-search { flex: 1 1 340px; }
.mi-field label { font-size: var(--mi-fs-secondary); font-weight: 500; color: var(--mi-text-2); }
.mi-toolbar-actions { display: flex; gap: 8px; padding-bottom: 2px; }
.mi-toolbar-actions .mi-btn { min-height: 44px; }
.mi-more { flex-basis: 100%; }
.mi-more summary { display: inline-block; padding: 2px 0; font-size: var(--mi-fs-body); font-weight: 500; color: var(--mi-link); cursor: pointer; }
.mi-more-body { display: flex; flex-wrap: wrap; gap: 12px 14px; margin-top: 10px; }
.mi-more-body .mi-field { flex: 0 1 210px; }
.mi-resultbar { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 16px; padding: 12px 0; font-size: var(--mi-fs-secondary); color: var(--mi-text-2); }
.mi-resultbar strong { color: var(--mi-text); font-weight: 600; }
.mi-list-table td { padding-top: 11px; padding-bottom: 11px; }
.mi-list-table td .name { font-weight: 500; }
.mi-empty-block { padding: 22px 4px; color: var(--mi-text-2); }
.mi-empty-block h3 { margin: 0 0 4px; font-size: var(--mi-fs-body); font-weight: 600; color: var(--mi-text); }
.mi-empty-block p { margin: 0; }

/* Pager */
.mi-page .pager { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px 16px; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--mi-divider); }
.mi-page .pager .caption { font-size: var(--mi-fs-secondary); color: var(--mi-text-2); }
.mi-page .pager nav { display: flex; flex-wrap: wrap; gap: 6px; }
.mi-page .pager a, .mi-page .pager span.current { min-width: 40px; min-height: 40px; display: inline-flex; align-items: center; justify-content: center; padding: 0 10px; border: 1px solid var(--mi-border); border-radius: var(--mi-radius-ctl); background: var(--mi-surface); color: var(--mi-link); font-size: var(--mi-fs-body); text-decoration: none; }
.mi-page .pager a:hover { border-color: var(--mi-blue); background: var(--mi-blue-soft); }
.mi-page .pager span.current { background: var(--mi-blue); border-color: var(--mi-blue); color: #fff; font-weight: 600; }

@media (max-width: 767px) {
    .mi-head-actions { width: 100%; }
    .mi-field, .mi-field-search, .mi-more-body .mi-field { flex: 1 1 100%; }
    .mi-toolbar-actions { flex: 1 1 100%; }
    .mi-hide-phone { display: none !important; }
    .mi-show-phone { display: inline-flex; margin-top: 4px; }
    .mi-list-table.mi-stack td { padding: 1px 0; }
    .mi-list-table.mi-stack td .name { font-size: var(--mi-fs-body); }
    .mi-list-table.mi-stack td.mi-inline { font-size: var(--mi-fs-secondary); color: var(--mi-text-2); }
    .mi-list-table.mi-stack td.mi-inline .mi-sub { display: inline; margin-left: 6px; }
    .mi-list-table.mi-stack td.mi-dq-cell { font-size: var(--mi-fs-secondary); color: var(--mi-text-2); padding-top: 3px; }
    .mi-resultbar { padding: 10px 0; }
}

/* Tablet: drop lower-value columns rather than scrolling tables sideways. */
@media (max-width: 1023px) {
    .mi-hide-tablet { display: none !important; }
    /* Information from hidden columns moves onto a secondary line, so nothing is lost when narrow or zoomed. */
    .mi-show-tablet { display: block !important; }
    .mi-research td:nth-child(2) { min-width: 0; }
    .mi-table td, .mi-table th { padding-left: 8px; padding-right: 8px; }
}
/* Links inside v1 tables: blue, underlined on hover (as on the Intelligence tables). */
.mi-table a { color: var(--mi-link); text-decoration: none; }
.mi-table a:hover { text-decoration: underline; }
@media (max-width: 767px) {
    /* Section tabs wrap on phones (as the My Day tabs do) instead of scrolling sideways. */
    .mi-linktabs { flex-wrap: wrap; column-gap: 2px; overflow-x: visible; }
    .mi-linktabs a { padding: 10px 10px 11px; font-size: var(--mi-fs-body); }
}

/* =====================================================================================================
   v1 group 2: Goals and Opportunities
   ===================================================================================================== */
.mi-goal { display: grid; gap: 18px; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
    grid-template-areas: "growth growth" "won pipeline" "def pipeline"; align-items: start; margin-bottom: 24px; }
.mi-goal > .mi-growth { grid-area: growth; }
.mi-goal-won { grid-area: won; }
.mi-goal > .mi-pipeline { grid-area: pipeline; }
.mi-goal-def { grid-area: def; }
.mi-goal-won .mi-card-head > .mi-icon { color: var(--mi-success); }
.mi-total { margin: 12px 0 0; font-size: var(--mi-fs-body); color: var(--mi-text-2); }
.mi-total strong { color: var(--mi-text); }
.mi-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 14px 24px; margin: 0; }
.mi-facts dt { font-size: var(--mi-fs-secondary); color: var(--mi-text-2); }
.mi-facts dd { margin: 2px 0 0; font-size: var(--mi-fs-body); color: var(--mi-text); overflow-wrap: anywhere; }
@media (max-width: 1199px) {
    .mi-goal { grid-template-columns: minmax(0, 1fr); grid-template-areas: "growth" "won" "pipeline" "def"; }
}

/* Opportunities: stage strip (doors primary, count secondary; every stage is a filter) */
.mi-stage-summary { margin-bottom: 18px; }
.mi-stagebar { display: grid; grid-template-columns: repeat(auto-fit, minmax(118px, 1fr)); border: 1px solid var(--mi-border); border-radius: 12px; overflow: hidden; }
.mi-stagebar a { display: flex; flex-direction: column; gap: 1px; padding: 12px 14px; border-right: 1px solid var(--mi-divider); text-decoration: none; color: var(--mi-text); min-width: 0; }
.mi-stagebar a:last-child { border-right: none; }
.mi-stagebar a:hover { background: #f6f9fc; }
.mi-stagebar a[aria-current=page] { background: var(--mi-nav-active); box-shadow: inset 0 -3px 0 var(--mi-blue-bright); }
.mi-sb-name { font-size: var(--mi-fs-secondary); color: var(--mi-text-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mi-sb-doors { font-size: 24px; font-weight: 600; line-height: 1.2; font-variant-numeric: tabular-nums; }
.mi-sb-unit { font-size: var(--mi-fs-secondary); font-weight: 400; color: var(--mi-text-2); }
.mi-sb-count { font-size: var(--mi-fs-meta); color: var(--mi-muted); }
.mi-stagebar a.mi-sb-won { background: var(--mi-success-soft); }
.mi-stagebar a.mi-sb-won .mi-sb-doors { color: var(--mi-success); }
.mi-sb-secondary { display: inline-block; min-height: 24px; line-height: 24px; margin-left: 14px; white-space: nowrap; }
.mi-opps-table .mi-sub { display: block; }
a.mi-sub { color: var(--mi-text-2); text-decoration: none; line-height: 24px; }
a.mi-sub:hover { color: var(--mi-link); text-decoration: underline; }
.mi-opps-table .mi-act-detail.mi-due-overdue { color: var(--mi-danger); }
@media (max-width: 767px) {
    .mi-stagebar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .mi-stagebar a { border-bottom: 1px solid var(--mi-divider); }
    .mi-stagebar a:nth-child(2n) { border-right: none; }
    .mi-sb-doors { font-size: 21px; }
    .mi-sb-secondary { display: inline-block; margin: 6px 14px 0 0; }
    .mi-opps-table.mi-stack td.mi-stage-cell { padding: 4px 0 2px; }
    .mi-opps-table.mi-stack td.mi-owner-cell, .mi-opps-table.mi-stack td.mi-next-cell { font-size: var(--mi-fs-secondary); color: var(--mi-text-2); }
    .mi-opps-table.mi-stack td.mi-next-cell .mi-act-title, .mi-opps-table.mi-stack td.mi-next-cell .mi-act-detail { display: inline; }
    .mi-opps-table.mi-stack td.mi-next-cell .mi-act-detail::before { content: "\00B7"; margin: 0 6px; }
    .mi-opps-table.mi-stack td.mi-next-cell .mi-act-detail:first-child::before { content: none; }
}

/* =====================================================================================================
   v1 group 3: Property and Owner workspaces. The shared CRM components keep their markup; inside v1 pages
   their classes take the v1 tokens (scoped to .mi-page so not-yet-converted pages are unaffected).
   ===================================================================================================== */
.mi-page .breadcrumb { font-size: var(--mi-fs-secondary); color: var(--mi-text-2); margin-bottom: 10px; }
.mi-page .breadcrumb a { color: var(--mi-text-2); }
.mi-page h3 { font-size: var(--mi-fs-title); font-weight: 600; color: var(--mi-text); }
.mi-page .caption { font-size: var(--mi-fs-secondary); color: var(--mi-text-2); }
.mi-page .muted { color: var(--mi-muted); }
.mi-page .block { display: block; }
.mi-page p { font-size: var(--mi-fs-body); }

/* Record header: one v1 card */
.mi-page .record { padding: 22px 24px 20px; margin-bottom: 18px; background: var(--mi-surface); border: 1px solid var(--mi-border); border-radius: var(--mi-radius); box-shadow: var(--mi-shadow); }
.mi-page .record-eyebrow { font-size: var(--mi-fs-meta); font-weight: 600; letter-spacing: .06em; color: var(--mi-text-2); }
.mi-page .record h1 { margin: 4px 0 4px; font-size: var(--mi-fs-page); font-weight: 600; letter-spacing: -.02em; line-height: 1.15; }
.mi-page .record-sub { font-size: var(--mi-fs-lead); color: var(--mi-text-2); }
.mi-page .record-figure .n { font-size: 40px; font-weight: 700; letter-spacing: -.02em; color: var(--mi-text); }
.mi-page .record-figure .u { font-size: var(--mi-fs-meta); font-weight: 600; letter-spacing: .05em; color: var(--mi-text-2); }
.mi-page .record-facts { gap: 14px 24px; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--mi-divider); }
.mi-page .record-facts .f-label { font-size: var(--mi-fs-secondary); color: var(--mi-text-2); margin-bottom: 2px; }
.mi-page .record-facts .f-value { font-size: var(--mi-fs-body); font-weight: 500; color: var(--mi-text); overflow-wrap: break-word; }
.mi-page .record-facts .f-value .caption { font-size: var(--mi-fs-secondary); font-weight: 400; }
.mi-page .record-actions { gap: 10px; margin-top: 18px; }

/* Section tabs (the shared Tabs component) */
.mi-page nav.tabs { display: flex; gap: 6px; margin: 0 0 18px; border-bottom: 1px solid var(--mi-border); overflow-x: auto; }
.mi-page nav.tabs a { padding: 10px 14px 12px; border-bottom: 2px solid transparent; margin-bottom: -1px; font-size: var(--mi-fs-body); font-weight: 500; color: var(--mi-text-2); text-decoration: none; white-space: nowrap; }
.mi-page nav.tabs a:hover { color: var(--mi-text); }
.mi-page nav.tabs a[aria-current=page] { color: var(--mi-nav-active-text); border-bottom-color: var(--mi-blue-bright); font-weight: 600; }

/* Panels = v1 cards */
.mi-page .panel, .mi-page .card { background: var(--mi-surface); border: 1px solid var(--mi-border); border-radius: var(--mi-radius); box-shadow: var(--mi-shadow); margin-bottom: 18px; container-type: inline-size; }
.mi-page .card { padding: 18px 22px; }
.mi-page .panel-head { padding: 18px 22px 4px; border-bottom: none; gap: 8px 16px; }
.mi-page .panel-head h2, .mi-page .panel-head h3 { font-size: var(--mi-fs-section); font-weight: 600; letter-spacing: -.01em; }
.mi-page .panel-head .caption { font-size: var(--mi-fs-secondary); }
.mi-page .panel-body { padding: 10px 22px 20px; }
.mi-page .cols, .mi-page .cols-even { gap: 18px; }
.mi-page .section-header h2 { font-size: var(--mi-fs-section); font-weight: 600; }
.mi-page .section-header p { font-size: var(--mi-fs-secondary); color: var(--mi-text-2); }

/* Facts */
.mi-page .kv { grid-template-columns: minmax(130px, min(220px, 40%)) minmax(0, 1fr); gap: 10px 20px; }
.mi-page .kv dt { font-size: var(--mi-fs-secondary); color: var(--mi-text-2); }
.mi-page .kv dd { font-size: var(--mi-fs-body); color: var(--mi-text); }

/* Buttons from shared components */
.mi-page .btn { min-height: 40px; padding: 0 15px; border: 1px solid var(--mi-outline); border-radius: var(--mi-radius-ctl); background: var(--mi-surface); color: var(--mi-link); font-family: inherit; font-size: var(--mi-fs-body); font-weight: 500; }
.mi-page .btn:hover { border-color: var(--mi-blue); background: var(--mi-blue-soft); color: var(--mi-blue-hover); }
.mi-page .btn-primary { background: var(--mi-blue); border-color: var(--mi-blue); color: #fff; }
.mi-page .btn-primary:hover { background: var(--mi-blue-hover); border-color: var(--mi-blue-hover); color: #fff; }
.mi-page .btn-sm { min-height: 38px; padding: 0 14px; font-size: var(--mi-fs-body); }
.mi-page .btn-quiet { border-color: transparent; background: none; color: var(--mi-link); }
.mi-page .btn-quiet:hover { border-color: transparent; background: var(--mi-blue-soft); }
.mi-page .quick-actions { gap: 8px; margin-bottom: 4px; }
.mi-page .quick-actions .btn[aria-pressed=true] { border-color: var(--mi-blue); background: var(--mi-nav-active); color: var(--mi-nav-active-text); }

/* Composers and forms */
.mi-page .composer { margin: 12px 0; padding: 16px; gap: 12px; border: 1px solid var(--mi-border); border-radius: 12px; background: #f8fafd; }
.mi-page .field label, .mi-page .field .label { font-size: var(--mi-fs-secondary); font-weight: 500; color: var(--mi-text-2); }
.mi-page .field .hint { font-size: var(--mi-fs-meta); color: var(--mi-muted); }
.mi-page label.check { font-size: var(--mi-fs-body); font-weight: 500; color: var(--mi-text); }
.mi-page label.check input { accent-color: var(--mi-blue); }

/* Timeline */
.mi-page .timeline li { grid-template-columns: 170px minmax(0, 1fr); gap: 4px 18px; padding: 14px 0; border-bottom: 1px solid var(--mi-divider); }
.mi-page .timeline .when { font-size: var(--mi-fs-secondary); color: var(--mi-text-2); }
.mi-page .timeline .type { font-size: var(--mi-fs-secondary); font-weight: 600; color: var(--mi-text-2); }
.mi-page .timeline li > div > span:not(.type):not(.ctx) { font-size: var(--mi-fs-body); color: var(--mi-text); }
.mi-page .timeline .ctx { font-size: var(--mi-fs-secondary); color: var(--mi-muted); }

/* Chips, badges, alerts, disclosures */
.mi-page .chip, .mi-page .badge { display: inline-flex; align-items: center; padding: 1px 10px; border-radius: 999px; border: none; background: var(--mi-neutral-soft); color: var(--mi-text-2); font-size: var(--mi-fs-meta); font-weight: 500; white-space: nowrap; }
.mi-page .chip-attention, .mi-page .badge-warning { background: var(--mi-warning-soft); color: var(--mi-warning-ink); }
.mi-page .chip-open { background: var(--mi-info-soft); color: var(--mi-info-ink); }
.mi-page .chip-done, .mi-page .badge-success { background: var(--mi-success-soft); color: var(--mi-success); }
.mi-page .chip-won { background: var(--mi-success); color: #fff; }
.mi-page .chip-muted { font-style: italic; }
.mi-page .alert { border-radius: 12px; padding: 14px 18px; font-size: var(--mi-fs-body); }
.mi-page .alert-warning { background: var(--mi-warning-soft); border-color: #f2d28f; color: var(--mi-warning-ink); }
.mi-page .alert-error { background: var(--mi-danger-soft); border-color: #f1b3b3; color: var(--mi-danger-ink); }
.mi-page .alert-info { background: var(--mi-info-soft); border-color: #a9cdf2; color: var(--mi-info-ink); }
.mi-page details.disclosure { border: 1px solid var(--mi-border); border-radius: 12px; background: var(--mi-surface); padding: 0 16px; }
.mi-page details.disclosure summary { padding: 12px 0; font-size: var(--mi-fs-body); font-weight: 500; color: var(--mi-link); }

/* Provenance tables (source data): v1 look; may scroll inside their box, and never hide columns */
.mi-page .table-wrap { border: 1px solid var(--mi-border); border-radius: 12px; background: var(--mi-surface); box-shadow: none; overflow-x: auto; }
.mi-page table.table { font-size: var(--mi-fs-body); }
.mi-page .table thead th { background: var(--mi-head); font-size: var(--mi-fs-secondary); font-weight: 600; color: var(--mi-text-2); border-bottom: 1px solid var(--mi-divider); }
.mi-page .table td { color: var(--mi-text-2); border-bottom-color: var(--mi-divider); }
.mi-page .table .primary-link { color: var(--mi-link); font-weight: 500; text-decoration: none; }
.mi-page .table .primary-link:hover { text-decoration: underline; }
.mi-page .table .sub { font-size: var(--mi-fs-secondary); color: var(--mi-muted); }
.mi-page .table tfoot td { background: var(--mi-head); color: var(--mi-text); font-weight: 600; }
.mi-page .table .hide-sm { display: table-cell; }

/* Small v1 helpers used in workspaces */
.mi-plain { list-style: none; margin: 0; padding: 0; }
.mi-plain li { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--mi-divider); font-size: var(--mi-fs-body); }
.mi-plain li:last-child { border-bottom: none; }
.mi-plain a { color: var(--mi-link); text-decoration: none; }
.mi-plain a:hover { text-decoration: underline; }
.mi-plain-num { flex: none; color: var(--mi-text-2); font-variant-numeric: tabular-nums; }
.mi-subhead { margin: 22px 0 4px; }
.mi-contact-name { color: var(--mi-text); font-weight: 600; }
.mi-check-done { border-color: var(--mi-success); background: var(--mi-success-soft); color: var(--mi-success); cursor: default; }
.mi-source-act select { width: auto; min-height: 40px; margin-right: 6px; }
.mi-page .panel .mi-table-wrap, .mi-page .panel-body > .mi-table-wrap { margin-top: 4px; }

/* Narrow containers (workspace columns): lower-value columns move onto a secondary line, nothing is lost. */
.mi-show-narrow:not(.mi-show-tablet) { display: none !important; } /* lines tagged for both show when either condition holds */
@container (max-width: 640px) {
    .mi-hide-narrow { display: none !important; }
    .mi-show-narrow { display: block !important; }
    .mi-table.mi-stack td.mi-hide-narrow + td.mi-inline::before { content: none; }
}
/* Task rows in a narrow container (workspace side columns, tablet): actions move under the text. */
@container (max-width: 640px) {
    .mi-task { grid-template-columns: auto minmax(0, 1fr); }
    .mi-task .mi-due { grid-column: 2; }
    .mi-task-actions { grid-column: 2; justify-content: flex-start; margin-top: 6px; }
}

@media (max-width: 767px) {
    .mi-page .record { padding: 16px; }
    .mi-page .record h1 { font-size: 26px; }
    .mi-page .record-figure { text-align: left; }
    .mi-page .record-figure .n { font-size: 32px; }
    .mi-page .panel-head { padding: 16px 16px 4px; }
    .mi-page .panel-body { padding: 8px 16px 16px; }
    .mi-page .card { padding: 16px; }
    .mi-page nav.tabs a { padding: 10px 10px 11px; font-size: var(--mi-fs-secondary); }
    .mi-page .timeline li { grid-template-columns: minmax(0, 1fr); gap: 2px; }
    .mi-page .kv { grid-template-columns: minmax(0, 1fr); gap: 2px 0; }
    .mi-page .kv dd { margin-bottom: 10px; }
    .mi-list-table.mi-stack td.mi-act { padding-top: 8px; }
}

/* Section tabs wrap on tablet and phone instead of scrolling sideways. */
@media (max-width: 1199px) {
    .mi-page nav.tabs { flex-wrap: wrap; column-gap: 2px; overflow-x: visible; }
}

/* =====================================================================================================
   v1 group 4: Opportunity workspace and New opportunity
   ===================================================================================================== */
.mi-opp-sub { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; margin-top: 6px; }
.mi-opp-sub strong { color: var(--mi-text); font-weight: 600; }
/* Owner portfolio context: deliberately separate from (and quieter than) the opportunity's own doors. */
.mi-portfolio-context { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); gap: 10px 24px; margin-top: 16px; padding: 12px 16px; border-radius: 12px; background: var(--mi-head); border: 1px solid var(--mi-divider); }
.mi-portfolio-context .f-label { display: block; font-size: var(--mi-fs-secondary); color: var(--mi-text-2); }
.mi-portfolio-context > div > :not(.f-label) { font-size: var(--mi-fs-body); color: var(--mi-text); }
.mi-portfolio-context a { color: var(--mi-link); font-weight: 500; text-decoration: none; }
.mi-portfolio-context a:hover { text-decoration: underline; }
.mi-stage-change { display: inline-flex; gap: 8px; align-items: center; }
.mi-stage-change select { width: auto; min-height: 38px; }

/* Checklists inside the won / edit composers */
.mi-page .checklist { border: 1px solid var(--mi-border); border-radius: 12px; background: var(--mi-surface); max-height: 420px; }
.mi-page .checklist li { border-bottom-color: var(--mi-divider); }
.mi-page .checklist label { font-size: var(--mi-fs-body); color: var(--mi-text); }
.mi-page .checklist input[type=checkbox] { accent-color: var(--mi-blue); }
.mi-page .checklist .doors { font-weight: 600; color: var(--mi-text); }

/* Guided steps */
.mi-steps { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 18px; }
.mi-step-head { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-bottom: 14px; }
.mi-step-head h2 { margin: 0; font-size: var(--mi-fs-section); font-weight: 600; letter-spacing: -.01em; }
.mi-step-head .mi-head-link { margin-left: auto; }
.mi-step-n { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; flex: none; border-radius: 999px; background: var(--mi-nav-active); color: var(--mi-nav-active-text); font-weight: 700; font-size: var(--mi-fs-body); }
.mi-step.is-done .mi-step-n { background: var(--mi-success-soft); color: var(--mi-success); }
.mi-toolbar-plain { border-bottom: none; padding-bottom: 6px; }
.mi-chosen-owner { display: flex; flex-direction: column; gap: 2px; }
.mi-chosen-owner .name { font-size: var(--mi-fs-title); font-weight: 600; color: var(--mi-link); text-decoration: none; }
.mi-chosen-owner .name:hover { text-decoration: underline; }
.mi-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 18px; max-width: 900px; }
.mi-form-grid .mi-field { flex: none; }
.mi-span-2 { grid-column: 1 / -1; }
.mi-hint { font-size: var(--mi-fs-meta); color: var(--mi-muted); }

/* Portfolio vs selected — always visible while choosing properties */
.mi-select-summary { position: sticky; top: calc(var(--mi-topbar-h) + 8px); z-index: 5; background: var(--mi-surface); box-shadow: 0 -8px 0 var(--mi-surface), 0 8px 0 var(--mi-surface); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-bottom: 12px; }
.mi-select-summary > div { display: flex; flex-direction: column; padding: 12px 16px; border-radius: 12px; background: var(--mi-head); border: 1px solid var(--mi-divider); }
.mi-select-summary > .mi-ss-selected { background: var(--mi-nav-active); border-color: #b9d8f6; }
.mi-ss-label { font-size: var(--mi-fs-meta); font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--mi-text-2); }
.mi-ss-selected .mi-ss-label { color: var(--mi-nav-active-text); }
.mi-ss-value { font-size: var(--mi-fs-lead); font-weight: 600; color: var(--mi-text); font-variant-numeric: tabular-nums; }
.mi-select-tools { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 6px 16px; margin-bottom: 8px; }

/* Selectable property rows: selection shown by checkbox, outline and words, not colour alone */
.mi-select-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.mi-select-row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: center; gap: 4px 16px; padding: 12px 16px; border: 1px solid var(--mi-border); border-radius: 12px; background: var(--mi-surface); cursor: pointer; }
.mi-select-row:hover { border-color: var(--mi-outline); }
/* Selection and keyboard focus are separate states: selected = checkbox + tint + 1px border + inner left bar + "Selected";
   focus = the standard 3px ring, drawn on the row only for keyboard focus (never after a mouse click). */
.mi-page input::placeholder, .mi-page textarea::placeholder { color: var(--mi-muted); opacity: 1; }
.mi-select-row:has(input:focus-visible) { outline: 3px solid var(--mi-blue); outline-offset: 3px; }
.mi-select-row input[type=checkbox]:focus-visible { outline: none; }
.mi-select-row input[type=checkbox] { width: 24px; height: 24px; accent-color: var(--mi-blue); margin: 0; }
.mi-select-row.is-selected { border-color: var(--mi-outline); background: #f4f9ff; box-shadow: inset 4px 0 0 var(--mi-blue); }
.mi-sel-main { display: flex; flex-direction: column; min-width: 0; }
.mi-sel-name { font-size: var(--mi-fs-body); font-weight: 600; color: var(--mi-text); }
.mi-sel-doors { font-size: var(--mi-fs-body); font-weight: 600; color: var(--mi-text); font-variant-numeric: tabular-nums; white-space: nowrap; }
.mi-sel-state { font-size: var(--mi-fs-meta); color: var(--mi-muted); min-width: 6.5em; text-align: right; }
.is-selected .mi-sel-state { color: var(--mi-nav-active-text); font-weight: 600; }

/* Create bar */
.mi-create-bar { position: sticky; bottom: 12px; z-index: 6; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px 20px; margin-top: 18px; box-shadow: 0 6px 24px rgba(16, 28, 53, .10); }
.mi-create-summary { display: flex; flex-direction: column; min-width: 0; }
.mi-create-summary strong { font-size: var(--mi-fs-body); color: var(--mi-text); }
.mi-create-actions { display: flex; gap: 10px; }
.mi-create-hint { flex-basis: 100%; margin: 0; }
/* Keep keyboard focus clear of the sticky selection summary and create bar (WCAG 2.4.11). */
html:has(.mi-create-bar) { scroll-padding-top: calc(var(--mi-topbar-h) + 24px); scroll-padding-bottom: 130px; }
.mi-select-row { scroll-margin-top: calc(var(--mi-topbar-h) + 120px); }

@media (max-width: 767px) {
    .mi-form-grid { grid-template-columns: minmax(0, 1fr); }
    .mi-select-summary { gap: 8px; top: calc(var(--mi-topbar-h) + 4px); }
    .mi-select-summary > div { padding: 6px 10px; }
    .mi-ss-label { letter-spacing: .02em; line-height: 1.25; }
    .mi-ss-value { font-size: var(--mi-fs-body); }
    .mi-select-row { grid-template-columns: auto minmax(0, 1fr); row-gap: 2px; }
    .mi-select-row .mi-sel-doors, .mi-select-row .mi-sel-state { grid-column: 2; text-align: left; min-width: 0; }
    .mi-create-bar { bottom: 8px; padding: 12px 14px; gap: 8px; }
    html:has(.mi-create-bar) { scroll-padding-bottom: 170px; }
    .mi-select-row { scroll-margin-top: calc(var(--mi-topbar-h) + 150px); }
    .mi-create-summary strong { display: none; } /* the name is in step 2; phones keep only the selection figures */
    .mi-create-actions { width: 100%; }
    .mi-create-actions .mi-btn { flex: 1; }
    .mi-stage-change { flex-wrap: wrap; }
}

/* ===== Group 5: Admin ===== */
/* Admin sub-navigation (outside main): underline links, wraps instead of scrolling. */
.mi-main > .subnav { border-bottom: 1px solid var(--mi-border); }
.mi-main > .subnav .subnav-inner { flex-wrap: wrap; overflow-x: visible; gap: 0 4px; padding: 0 32px; max-width: none; }
.mi-main > .subnav .subnav-label { font-size: var(--mi-fs-meta); font-weight: 600; letter-spacing: .06em; color: var(--mi-text-2); padding: 12px 12px 12px 0; }
.mi-main > .subnav a { padding: 12px 12px 11px; font-size: var(--mi-fs-body); font-weight: 500; color: var(--mi-text-2); border-bottom: 2px solid transparent; }
.mi-main > .subnav a:hover { color: var(--mi-text); }
.mi-main > .subnav a.active { color: var(--mi-nav-active-text); border-bottom-color: var(--mi-blue-bright); font-weight: 600; }

.mi-admin-group { margin: 8px 0 12px; font-size: var(--mi-fs-meta); font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--mi-text-2); }
section + section > .mi-admin-group { margin-top: 28px; }
.mi-admin-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 18px; }
.mi-admin-tile { display: flex; flex-direction: column; gap: 8px; color: inherit; text-decoration: none; }
.mi-admin-tile:hover { border-color: var(--mi-outline); }
.mi-admin-tile .mi-card-head { margin-bottom: 4px; }
.mi-admin-title { font-size: var(--mi-fs-title); font-weight: 600; color: var(--mi-text); }
.mi-admin-figure { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; font-size: var(--mi-fs-body); color: var(--mi-text-2); }
.mi-admin-figure .mi-chip { margin-left: 0; }
.mi-admin-num { font-size: 28px; font-weight: 600; letter-spacing: -.01em; color: var(--mi-text); font-variant-numeric: tabular-nums; }
.mi-admin-desc { font-size: var(--mi-fs-secondary); color: var(--mi-text-2); }
.mi-admin-link { margin-top: auto; padding-top: 4px; font-size: var(--mi-fs-body); font-weight: 500; color: var(--mi-link); }
.mi-admin-tile:hover .mi-admin-link { text-decoration: underline; }

.mi-section-card, .mi-dq-section + .mi-dq-section { margin-top: 18px; }
.mi-card-head .mi-pill { min-width: 38px; height: 30px; }
.mi-card-lead { margin: -4px 0 12px; }
.mi-wrap { overflow-wrap: break-word; }
.mi-wrap-any { overflow-wrap: anywhere; }
.mi-bad { color: var(--mi-danger-ink); font-weight: 600; }
.mi-row-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-bottom: 18px; }
.mi-form-card { max-width: 760px; }
.mi-form-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 6px; }
.mi-input-short { max-width: 200px; }
.mi-checkline { display: flex; align-items: flex-start; gap: 10px; font-size: var(--mi-fs-body); color: var(--mi-text); cursor: pointer; margin: 6px 0; }
.mi-checkline input[type=checkbox] { width: 24px; height: 24px; margin: 1px 0 0; flex: none; accent-color: var(--mi-blue); }
.mi-subhead { margin: 18px 0 6px; font-size: var(--mi-fs-title); font-weight: 600; color: var(--mi-text); }
.mi-totals { max-width: 680px; margin: 12px 0; }
.mi-page code { font-size: var(--mi-fs-meta); overflow-wrap: anywhere; }

/* Upload drop zone: the real file input still covers the whole zone. */
.mi-page .mi-upload { border: 2px dashed var(--mi-control-border); border-radius: 12px; background: var(--mi-head); padding: 22px 24px; gap: 4px; }
.mi-page .mi-upload:hover, .mi-page .mi-upload:focus-within { border-color: var(--mi-blue); background: var(--mi-blue-soft); }
.mi-page .mi-upload:focus-within { outline: 3px solid var(--mi-blue); outline-offset: 2px; }
.mi-page .mi-upload .upload-title { font-size: var(--mi-fs-title); font-weight: 600; color: var(--mi-text); }
.mi-page .mi-upload .upload-cta { margin-top: 10px; }

/* Import wizard */
.mi-stepper { display: flex; flex-wrap: wrap; gap: 8px 10px; margin: 0 0 10px; padding: 0; list-style: none; }
.mi-stepper li { display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px 6px 6px; border: 1px solid var(--mi-border); border-radius: 999px; background: var(--mi-surface); font-size: var(--mi-fs-secondary); color: var(--mi-text-2); }
.mi-stepper .mi-step-n { width: 28px; height: 28px; font-size: var(--mi-fs-meta); }
.mi-stepper li.is-current { border-color: var(--mi-blue); background: var(--mi-blue-soft); color: var(--mi-nav-active-text); font-weight: 600; }
.mi-stepper li.is-current .mi-step-n { background: var(--mi-blue); color: #fff; }
.mi-stepper li.is-done .mi-step-n { background: var(--mi-success-soft); color: var(--mi-success); }
.mi-wizard-tools { margin-bottom: 8px; }
.mi-wizard-tools .mi-field-search { max-width: 560px; }
.mi-map-table select { width: 100%; min-width: 0; }
.mi-page .mi-counts { grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr)); }
.mi-page .mi-counts div { background: var(--mi-head); border: 1px solid var(--mi-divider); border-radius: 12px; padding: 10px 14px; }
.mi-page .mi-counts span { font-size: var(--mi-fs-meta); font-weight: 500; color: var(--mi-text-2); }
.mi-page .mi-counts strong { font-size: 24px; font-weight: 600; color: var(--mi-text); }
.mi-page .mi-counts .bad { background: var(--mi-danger-soft); border-color: transparent; }
.mi-page .mi-counts .warn { background: var(--mi-warning-soft); border-color: transparent; }

/* Data Quality issue cards (ReviewCards) */
.mi-page .issue { border: 1px solid var(--mi-border); border-left: 4px solid var(--mi-warning); border-radius: 12px; padding: 16px 18px; margin: 12px 0 0; box-shadow: none; background: var(--mi-surface); }
.mi-page .issue.resolved { border-left-color: var(--mi-success); }
.mi-page .issue.research { border-left-color: var(--mi-blue-bright); }
.mi-page .issue-head h3 { font-size: var(--mi-fs-title); font-weight: 600; color: var(--mi-text); }
.mi-page .issue .explain { margin: 0 0 8px; font-size: var(--mi-fs-body); color: var(--mi-text-2); }
.mi-page .issue .interpretation { font-size: var(--mi-fs-body); }
.mi-page .badge-research { background: var(--mi-info-soft); color: var(--mi-info-ink); }
.mi-page .decision { border-color: var(--mi-border); border-radius: 12px; background: var(--mi-head); }
.mi-page .decision p { font-size: var(--mi-fs-secondary); color: var(--mi-text-2); }
.mi-page .decision p strong { color: var(--mi-text); }
.mi-page .table tr.row-differs td, .mi-page .table tr.row-differs th { background: #fff6e2; }
.mi-page .mi-compare table { table-layout: fixed; width: 100%; }
.mi-page .mi-compare th, .mi-page .mi-compare td { overflow-wrap: anywhere; }
.mi-page .mi-compare thead th:first-child { width: 22%; }
.mi-page .mi-compare thead th:last-child { width: 96px; }

@media (max-width: 1199px) {
    .mi-row-2 { grid-template-columns: minmax(0, 1fr); }
    .mi-main > .subnav .subnav-inner { padding: 0 24px; }
}
@media (max-width: 767px) {
    .mi-main > .subnav .subnav-inner { padding: 0 16px; }
    .mi-main > .subnav .subnav-label { width: 100%; padding: 10px 0 0; }
    .mi-main > .subnav a { padding: 8px 10px 9px; font-size: var(--mi-fs-secondary); }
    .mi-admin-grid { gap: 14px; }
    .mi-page .issue { padding: 14px; }
    /* Listing comparison: one stacked block per field instead of a sideways-scrolling table. */
    .mi-page .mi-compare { overflow-x: visible; }
    .mi-page .mi-compare thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
    .mi-page .mi-compare tr { display: block; height: auto; padding: 10px 12px; border-bottom: 1px solid var(--mi-divider); }
    .mi-page .mi-compare th, .mi-page .mi-compare td { display: block; padding: 1px 0; border: 0; overflow-wrap: anywhere; }
    .mi-page .mi-compare th { font-weight: 600; color: var(--mi-text); }
    .mi-page .mi-compare td::before { content: attr(data-label) ": "; font-weight: 500; color: var(--mi-text-2); }
    .mi-page .mi-compare tr.row-differs { background: #fff6e2; }
    .mi-page .mi-compare tr.row-differs td, .mi-page .mi-compare tr.row-differs th { background: none; }
}

/* Group 5 mobile polish: phone Admin section picker (details/summary, no script) and compact import metadata. */
.mi-admin-picker, .mi-hash-short, .mi-hash-full { display: none; }
.mi-file-meta { display: flex; flex-wrap: wrap; gap: 2px 14px; }
@media (max-width: 767px) {
    .mi-main > .subnav { display: none; }
    .mi-admin-picker { display: block; padding: 10px 16px; background: var(--mi-surface); border-bottom: 1px solid var(--mi-border); }
    .mi-admin-picker summary { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 0 14px; border: 1px solid var(--mi-control-border); border-radius: var(--mi-radius-ctl); cursor: pointer; list-style: none; }
    .mi-admin-picker summary::-webkit-details-marker { display: none; }
    .mi-admin-picker-label { font-size: var(--mi-fs-meta); font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--mi-text-2); }
    .mi-admin-picker-current { font-size: var(--mi-fs-body); font-weight: 600; color: var(--mi-nav-active-text); }
    .mi-admin-picker-hint { margin-left: auto; font-size: var(--mi-fs-meta); color: var(--mi-text-2); }
    .mi-admin-picker-hint::after { content: ""; display: inline-block; width: 7px; height: 7px; margin-left: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-3px) rotate(45deg); }
    .mi-admin-picker details[open] .mi-admin-picker-hint::after { transform: translateY(1px) rotate(-135deg); }
    .mi-admin-picker summary:focus-visible { outline: 3px solid var(--mi-blue); outline-offset: 2px; }
    .mi-admin-picker ul { margin: 8px 0 0; padding: 4px 0; list-style: none; border: 1px solid var(--mi-border); border-radius: 12px; background: var(--mi-surface); }
    .mi-admin-picker li a { display: flex; align-items: center; min-height: 44px; padding: 0 14px; font-size: var(--mi-fs-body); color: var(--mi-text); text-decoration: none; }
    .mi-admin-picker li a:hover { background: var(--mi-blue-soft); }
    .mi-admin-picker li a[aria-current=page] { color: var(--mi-nav-active-text); font-weight: 600; background: var(--mi-nav-active); box-shadow: inset 4px 0 0 var(--mi-blue); }
    .mi-hash-short { display: inline; }
    .mi-hash-full { display: block; margin-top: 4px; }
    .mi-hash-full code { display: block; overflow-wrap: anywhere; margin-top: 6px; }
}

/* ===== Set 006: qualification, target criteria, management companies ===== */
.mi-qual .mi-card-head .mi-head-link { display: inline-flex; align-items: center; }
.mi-qual-meaning { margin: 0 0 10px; font-size: var(--mi-fs-body); color: var(--mi-text); }
.mi-qual .alert { margin: 10px 0; }
.mi-qual-table td { vertical-align: top; }
.mi-qual-table .mi-chip { margin-right: 6px; }
.mi-qual-note { margin: 10px 0 14px; }
.mi-qual-form { margin: 12px 0; padding: 14px 16px; border: 1px solid var(--mi-border); border-radius: 12px; background: var(--mi-head); }
.mi-qual-form .mi-form-grid { max-width: none; }
.mi-qual-history, .mi-fact details { margin-top: 12px; }
.mi-qual-history .mi-plain li, .mi-fact .mi-plain li { align-items: flex-start; }
.mi-field-wide { max-width: 640px; flex: 1 1 auto; }
.mi-fact-cols { margin-bottom: 0; }
.mi-fact { min-width: 0; }
.mi-fact .mi-subhead { margin-top: 0; }
.mi-fact p { margin: 0 0 10px; }
.mi-fact .mi-chip { margin-left: 4px; }
.mi-qual-headline { margin: 0 0 10px; font-size: var(--mi-fs-lead); color: var(--mi-text); }
.mi-qual-headline .mi-sub { font-size: var(--mi-fs-secondary); }
.mi-qual-breakdown { margin: 0 0 10px; }
.mi-qual-breakdown a, .mi-qual-breakdown li > span:first-child { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; min-width: 0; }
.mi-qual-breakdown li { flex-wrap: wrap; }
.mi-qual-breakdown .mi-chip { white-space: normal; }
.mi-qual-line { margin-top: 4px; }
.mi-qual-table .mi-fact-action { display: flex; margin: 6px 0 0; padding: 0; min-height: 36px; width: fit-content; }
.mi-qual-table td > span + .mi-chip { margin-left: 8px; }
.mi-fact-form { margin: 10px 0 0; padding: 12px 14px; min-width: 0; }
.mi-fact-grid { display: grid; grid-template-columns: minmax(13rem, 1.3fr) minmax(9rem, .8fr) minmax(10.5rem, .8fr) minmax(14rem, 2fr); gap: 10px 14px; align-items: end; }
.mi-fact-grid .mi-field { flex: none; }
.mi-fact-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; margin-top: 12px; }
.mi-fact-foot .mi-form-actions { margin: 0; }
.mi-fact-foot .mi-hint { margin: 0; }
@media (max-width: 1199px) { .mi-fact-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .mi-fact-grid { grid-template-columns: minmax(0, 1fr); } }
.mi-fact-saved { margin: 10px 0 0; }
.mi-crit-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr)); gap: 12px 18px; margin-bottom: 14px; }
.mi-crit-grid .mi-field, .mi-crit-unknown { flex: none; max-width: 420px; }
.mi-crit-unknown { margin-top: 6px; }
.mi-area-row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)) auto; align-items: end; gap: 10px 14px; margin: 0 0 12px; padding: 12px 14px; border: 1px solid var(--mi-border); border-radius: 12px; }
.mi-area-row legend { padding: 0 6px; font-size: var(--mi-fs-meta); font-weight: 600; color: var(--mi-text-2); }
.mi-area-row .mi-field { flex: none; }
.mi-company-match { margin: 6px 0 12px; }
.mi-company-match .mi-form-actions { margin: 8px 0; }
.mi-company-match .mi-btn { white-space: normal; text-align: left; height: auto; min-height: 44px; padding-top: 8px; padding-bottom: 8px; }
.mi-notice-calc { margin: 0 0 12px; }
.mi-mc-note, .mi-view-note { margin: 0 0 14px; }
.mi-filter-note { margin: 12px 0 0; font-size: var(--mi-fs-secondary); color: var(--mi-text-2); }

@media (max-width: 1023px) {
    .mi-area-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .mi-area-row > .mi-btn { justify-self: start; }
}
@media (max-width: 767px) {
    .mi-area-row { grid-template-columns: minmax(0, 1fr); }
    .mi-qual-form { padding: 12px; }
}

.mi-review-note { margin: 12px 0 0; }

/* ===== Set 006 Slice 3: research ledger and research efforts ===== */
.mi-research-summary { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 12px 18px; margin-bottom: 12px; }
.mi-research-summary > div { display: flex; flex-direction: column; gap: 2px; }
.mi-rec-size { font-size: var(--mi-fs-secondary); color: var(--mi-text-2); font-variant-numeric: tabular-nums; }
.mi-rec-size strong { color: var(--mi-text); font-size: var(--mi-fs-body); }
.mi-rec-facts { display: grid; grid-template-columns: minmax(120px, 160px) minmax(0, 1fr); gap: 4px 16px; margin: 0 0 8px; }
.mi-rec-facts dt { font-size: var(--mi-fs-secondary); color: var(--mi-text-2); }
.mi-rec-facts dd { margin: 0; font-size: var(--mi-fs-body); color: var(--mi-text); }
.mi-rec-status { margin: 8px 0 0; font-size: var(--mi-fs-secondary); color: var(--mi-text); }
.mi-rec-actions { margin-top: 12px; }
.mi-research-form { margin: 10px 0 14px; padding: 14px 16px; border: 1px solid var(--mi-border); border-radius: 12px; background: var(--mi-head); }
.mi-research-form .mi-form-grid { max-width: none; }
.mi-research-items { margin: 12px 0; padding: 0; border: 0; }
.mi-research-items legend { padding: 0; margin-bottom: 6px; font-size: var(--mi-fs-secondary); font-weight: 600; color: var(--mi-text-2); }
.mi-research-item { padding: 8px 10px; border: 1px solid var(--mi-border); border-radius: 10px; background: var(--mi-surface); margin-bottom: 8px; }
.mi-research-item.is-on { border-color: var(--mi-outline); }
.mi-research-item .mi-checkline { margin: 0; }
.mi-research-item-fields { margin: 8px 0 4px 34px; }
.mi-research-history { list-style: none; margin: 0; padding: 0; }
.mi-research-history > li { padding: 10px 0; border-bottom: 1px solid var(--mi-divider); }
.mi-research-history > li:last-child { border-bottom: none; }
.mi-rh-head { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; }
.mi-rh-head .mi-sub { flex-basis: 100%; }
.mi-rh-source { margin: 4px 0; font-size: var(--mi-fs-secondary); color: var(--mi-text); }
.mi-research-cols { margin: 6px 0 0; }
.mi-source-info { font-size: var(--mi-fs-secondary); }
.mi-channels { margin-top: 6px; }
.mi-channels dl { margin-top: 6px; font-size: var(--mi-fs-secondary); }
@media (max-width: 767px) {
    .mi-rec-facts { grid-template-columns: minmax(0, 1fr); gap: 0; }
    .mi-rec-facts dd { margin-bottom: 8px; }
    .mi-research-item-fields { margin-left: 0; }
    .mi-research-form { padding: 12px; }
}
.mi-research-history .mi-plain li > .mi-chip { flex: none; align-self: center; white-space: nowrap; margin-left: 8px; }
.mi-research-item .mi-sub { font-weight: 400; }

/* Research efforts: Research next cards, effort workspace, All research */
.mi-research-next-bar { margin: 0 0 12px; }
.mi-effort { margin-bottom: 14px; }
.mi-effort-head { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 6px 14px; margin-bottom: 10px; }
.mi-effort-rank { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 999px;
    background: var(--mi-neutral-soft); color: var(--mi-text); font-weight: 600; font-variant-numeric: tabular-nums; }
.mi-effort-title { flex: 1 1 280px; min-width: 0; }
.mi-effort-title h3 { margin: 2px 0 0; font-size: var(--mi-fs-title); font-weight: 600; }
.mi-effort-title h3 a { color: var(--mi-link); text-decoration: none; }
.mi-effort-title h3 a:hover { text-decoration: underline; }
.mi-effort-kind { display: block; font-size: var(--mi-fs-meta); color: var(--mi-text-2); text-transform: none; }
.mi-effort-head .mi-rec-size { align-self: center; }
.mi-effort-why { margin: 0 0 10px; font-size: var(--mi-fs-body); color: var(--mi-text); }
.mi-effort-why .mi-ss-label { display: block; margin-bottom: 2px; }
.mi-effort-why-lg { margin: 0 0 6px; font-size: var(--mi-fs-lead); color: var(--mi-text); }
.mi-research-more p { margin: 0 0 8px; }
.mi-research-more p:last-child { margin-bottom: 0; }
.mi-research-counts { display: flex; flex-wrap: wrap; gap: 6px 20px; font-size: var(--mi-fs-secondary); }
.mi-recon { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); gap: 12px 18px; margin-bottom: 14px; }
.mi-recon > div { display: flex; flex-direction: column; gap: 2px; }
.mi-recon-check { grid-column: 1 / -1; margin: 0; padding: 8px 12px; border-radius: var(--mi-radius-ctl); font-size: var(--mi-fs-secondary); }
.mi-recon-check.is-ok { background: var(--mi-success-soft); color: var(--mi-text); }
.mi-recon-check.is-bad { background: var(--mi-danger-soft); color: var(--mi-danger-ink); }
.mi-qgrid td { vertical-align: top; }
.mi-qgrid-prop { min-width: 220px; }
.mi-qcell { min-width: 150px; }
.mi-qcell .mi-chip { margin: 4px 0 0; }
.mi-qtext { display: block; color: var(--mi-text); }
.mi-known { color: var(--mi-text); }
.mi-qgrid .mi-channels h4 { margin: 10px 0 4px; }
.mi-research-qs { margin: 8px 0 4px 34px; }
.mi-research-q { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1fr); gap: 6px 14px; align-items: end; padding: 6px 0; border-top: 1px solid var(--mi-divider); }
.mi-research-q-label { align-self: center; }
.mi-research-q-label strong { display: block; font-weight: 600; }
.mi-effort-link { margin-right: 12px; }
.mi-owner-efforts { margin-bottom: 12px; }
@media (max-width: 767px) {
    .mi-research-qs { margin-left: 0; }
    .mi-research-q { grid-template-columns: minmax(0, 1fr); }
    .mi-qgrid-prop, .mi-qcell { min-width: 0; }
    .mi-effort-rank { width: 28px; height: 28px; }
}
.mi-plain li > .mi-chip { flex: none; align-self: center; white-space: nowrap; margin-left: 8px; }
/* Research drill-throughs: every count, status and record opens what it names */
a.mi-chip { text-decoration: none; cursor: pointer; }
a.mi-chip:hover, a.mi-chip:focus-visible { text-decoration: underline; }
/* A chip that is a link keeps its variant's ink (the general link colour fails contrast on the tinted backgrounds). */
.mi-app a.mi-chip-warning { color: var(--mi-warning-ink); }
.mi-app a.mi-chip-danger { color: var(--mi-danger-ink); }
.mi-app a.mi-chip-info { color: var(--mi-info-ink); }
.mi-app a.mi-chip-review { color: var(--mi-review-ink); }
.mi-app a.mi-chip-success { color: var(--mi-success); }
a.mi-chip-link { display: block; text-decoration: none; }
a.mi-ss-value { color: var(--mi-link); text-decoration: none; }
a.mi-ss-value:hover { text-decoration: underline; }
a.mi-reason { color: var(--mi-text-2); text-decoration: underline; text-decoration-color: var(--mi-border); text-underline-offset: 2px; }
a.mi-reason:hover { color: var(--mi-link); text-decoration-color: currentColor; }
a.mi-rec-size { color: var(--mi-text-2); text-decoration: none; }
a.mi-rec-size:hover { text-decoration: underline; }
.mi-rec-facts dd a { color: var(--mi-link); }
.mi-effort-why a, .mi-effort-why-lg a { color: var(--mi-link); }
.mi-why-audit { margin: 4px 0 10px; font-size: var(--mi-fs-secondary); color: var(--mi-text-2); }
.mi-why-audit p { margin: 6px 0 0; }
.mi-evidence > summary { cursor: pointer; color: var(--mi-link); }
.mi-evidence[open] { padding: 6px 10px 10px; border: 1px solid var(--mi-border); border-radius: var(--mi-radius-ctl); background: var(--mi-head); }
.mi-rh-topic { font-weight: 600; color: var(--mi-link); text-decoration: none; }
.mi-rh-topic:hover { text-decoration: underline; }
/* Research efforts review prototype: scannable table (desktop/tablet), stacked cards (phone) */
.mi-rv-proto { margin: 0 0 14px; }
.mi-linkbtn { padding: 0; border: 0; background: none; font: inherit; color: var(--mi-link); text-decoration: underline; cursor: pointer; }
.mi-linkbtn:disabled { color: var(--mi-text-2); cursor: default; }
.mi-rv-filters .mi-rv-checks { display: flex; flex-wrap: wrap; gap: 6px 18px; align-items: center; align-self: end; padding-bottom: 6px; }
.mi-rv-filters .mi-rv-checks .mi-checkline { margin: 0; }
.mi-rv-table td { vertical-align: top; }
.mi-rv-effort { min-width: 210px; }
.mi-rv-scope { white-space: nowrap; }
.mi-rv-chips { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 2px; }
.mi-rv-chips .mi-chip { margin: 0; }
.mi-rv-pin { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; }
.mi-rv-pins { margin-bottom: 14px; }
.mi-rv-cards { display: none; list-style: none; margin: 0; padding: 0; }
.mi-rv-card { padding: 14px 0; border-bottom: 1px solid var(--mi-divider); }
.mi-rv-card:last-child { border-bottom: none; }
.mi-rv-card-head .name { font-weight: 600; }
.mi-rv-card-row { margin-top: 8px; }
.mi-rv-card-row > .mi-ss-label, .mi-rv-card-grid .mi-ss-label { display: block; margin-bottom: 2px; }
.mi-rv-card-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 14px; margin-top: 8px; }
.mi-rv-editor { margin-top: 8px; }
@media (max-width: 767px) {
    .mi-rv-table { display: none; }
    .mi-rv-cards { display: block; }
    .mi-rv-filters .mi-rv-checks { align-self: stretch; padding-bottom: 0; }
}
.mi-research-section-h { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin: 6px 0 10px; font-size: var(--mi-fs-section-sm); font-weight: 600; }
.mi-research-pinned { margin-bottom: 18px; }
.mi-research-pinned-slot { display: flex; align-items: center; gap: 12px; margin: 0 0 14px; padding: 12px 16px; }
a.mi-effort-rank { text-decoration: none; }
.mi-rv-context { display: block; }
.mi-rv-edits { display: block; margin-top: 2px; }
.mi-rv-card-actions { margin-top: 10px; }
.mi-rv-card-more { margin-top: 8px; }
.mi-rv-card-more > summary { cursor: pointer; color: var(--mi-link); font-size: var(--mi-fs-secondary); }
.mi-rv-card-dl { display: grid; grid-template-columns: minmax(0, 110px) minmax(0, 1fr); gap: 6px 12px; margin: 8px 0; font-size: var(--mi-fs-secondary); }
.mi-rv-card-dl dt { color: var(--mi-text-2); }
.mi-rv-card-dl dd { margin: 0; }
a.mi-research-pinned-slot { color: inherit; text-decoration: none; }
a.mi-research-pinned-slot:hover .mi-pinned-slot-name, a.mi-research-pinned-slot:focus-visible .mi-pinned-slot-name { text-decoration: underline; }
.mi-pinned-slot-name { display: block; color: var(--mi-link); font-weight: 600; font-size: var(--mi-fs-title); }
.mi-pe-focus { align-self: end; margin-bottom: 8px; }

/* Set 006 Slice 4: prospect funnel (facts only; each figure links to the records it counts) */
.mi-funnel-groups { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr) minmax(0, 2fr); gap: 14px; margin: 4px 0 10px; }
.mi-funnel-group { min-width: 0; border: 1px solid var(--mi-border); border-radius: var(--mi-radius-ctl); background: var(--mi-surface); }
.mi-funnel-group-h { margin: 0; padding: 8px 14px; font-size: var(--mi-fs-secondary); font-weight: 600; color: var(--mi-text); background: var(--mi-head); border-bottom: 1px solid var(--mi-divider); border-radius: var(--mi-radius-ctl) var(--mi-radius-ctl) 0 0; }
.mi-funnel-group-h span { font-weight: 400; color: var(--mi-text-2); }
.mi-funnel-steps { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 0; margin: 0; padding: 0; list-style: none; }
.mi-funnel-step { display: flex; flex-direction: column; gap: 2px; padding: 12px 14px; border-left: 1px solid var(--mi-divider); min-width: 0; }
.mi-funnel-step:first-child { border-left: none; }
.mi-funnel-label { font-weight: 600; color: var(--mi-text); }
.mi-funnel-scope { font-size: var(--mi-fs-meta); color: var(--mi-text-2); }
.mi-funnel-n { margin-top: 4px; font-size: 1.6rem; font-weight: 600; color: var(--mi-link); text-decoration: none; font-variant-numeric: tabular-nums; line-height: 1.2; }
.mi-funnel-n .mi-unit { display: inline; font-size: var(--mi-fs-secondary); font-weight: 400; color: var(--mi-text-2); }
.mi-funnel-n:hover { text-decoration: underline; }
.mi-funnel-doors { font-weight: 600; color: var(--mi-text); text-decoration: none; font-variant-numeric: tabular-nums; }
.mi-funnel-doors:hover { text-decoration: underline; }
.mi-funnel-sub, .mi-funnel-owners { font-size: var(--mi-fs-secondary); color: var(--mi-text-2); }
.mi-funnel-owners { margin-top: auto; padding-top: 4px; }
.mi-funnel-note { margin: 0 0 16px; }
.mi-funnel-blocks { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 520px), 1fr)); gap: 18px 28px; } /* side by side only when both tables fit */
.mi-funnel-block .mi-subhead { margin-top: 0; }
.mi-funnel-lead { margin: 0 0 8px; }
.mi-funnel-table th[scope="row"] { font-weight: 400; text-align: left; }
.mi-funnel-table td.num, .mi-funnel-table th.num { text-align: right; font-variant-numeric: tabular-nums; }
.mi-cov-bar { display: flex; height: 12px; margin: 0 0 10px; border-radius: 6px; overflow: hidden; background: var(--mi-neutral-soft); }
.mi-cov-bar .v, .mi-cov-swatch.v { background: var(--mi-success); }
.mi-cov-bar .u, .mi-cov-swatch.u { background: var(--mi-warning); }
.mi-cov-bar .n, .mi-cov-swatch.n { background: var(--mi-neutral-soft); }
.mi-cov-swatch { display: inline-block; width: 10px; height: 10px; margin-right: 8px; border-radius: 2px; border: 1px solid var(--mi-border); vertical-align: baseline; }
.mi-funnel-defs { margin-top: 14px; }
.mi-funnel-filter .block { display: block; margin-top: 4px; }
@media (max-width: 1199px) { .mi-funnel-groups { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 767px) {
    .mi-funnel-steps { grid-auto-flow: row; grid-template-columns: minmax(0, 1fr); }
    .mi-funnel-step { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 12px; border-left: none; border-top: 1px solid var(--mi-divider); }
    .mi-funnel-step:first-child { border-top: none; }
    .mi-funnel-step > * { grid-column: 1; }
    .mi-funnel-step .mi-funnel-n { grid-column: 2; grid-row: 1 / span 2; margin-top: 0; text-align: right; }
    .mi-funnel-blocks { grid-template-columns: minmax(0, 1fr); }
}
.mi-funnel-table tbody th[scope="row"] { background: transparent; color: var(--mi-text); font-size: var(--mi-fs-body); text-transform: none; letter-spacing: 0; }
/* Set 006 Slice 5: Data Quality business checks */
.mi-dq-overview th[scope="row"] { background: transparent; font-weight: 400; text-align: left; color: var(--mi-text); text-transform: none; letter-spacing: 0; font-size: var(--mi-fs-body); }
.mi-dq-overview th[scope="row"] a { font-weight: 600; }
.mi-dq-overview td.num { text-align: right; font-variant-numeric: tabular-nums; }
.mi-dq-open { font-weight: 600; }
.mi-dq-choices { margin: 12px 0; padding: 0; border: 0; display: flex; flex-direction: column; gap: 6px; }
.mi-dq-choices legend { margin-bottom: 6px; font-size: var(--mi-fs-secondary); font-weight: 600; color: var(--mi-text-2); }
.mi-dq-evidence { display: grid; grid-template-columns: minmax(120px, 200px) minmax(0, 1fr); gap: 8px 16px; margin: 0; }
.mi-dq-evidence dt { color: var(--mi-text-2); font-size: var(--mi-fs-secondary); }
.mi-dq-evidence dd { margin: 0; }
@media (max-width: 767px) { .mi-dq-evidence { grid-template-columns: minmax(0, 1fr); gap: 2px; } .mi-dq-evidence dd { margin-bottom: 8px; } }
.mi-dq-fix { margin: 4px 0 8px; }
.mi-dq-reconcile { margin-top: 10px; }

/* ZIP filter (Properties): a compact multi-select inside More filters; ZIPs are text, shown as written. */
.mi-more-body .mi-zip-field { flex: 1 1 100%; order: 10; border: 0; margin: 0; padding: 0; min-width: 0; } /* its own full-width row, after the other filters */
.mi-zip-field legend { font-size: var(--mi-fs-secondary); font-weight: 500; color: var(--mi-text-2); margin-bottom: 6px; }
.mi-zip-options { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 210px), 1fr)); gap: 6px 14px; max-height: 260px; overflow-y: auto; padding: 2px; }
.mi-zip-option { display: flex; align-items: center; gap: 8px; min-height: 44px; cursor: pointer; }
.mi-zip-option input { width: 20px; height: 20px; flex: none; }
.mi-zip-code { font-weight: 600; font-variant-numeric: tabular-nums; }
.mi-zip-note { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.mi-zip-chip { display: inline-flex; align-items: center; gap: 8px; padding: 2px 4px 2px 12px; border-radius: 999px; background: var(--mi-info-soft); color: var(--mi-info-ink); font-weight: 600; }
.mi-zip-chip a { color: var(--mi-info-ink); font-weight: 400; padding: 6px 8px; }
.mi-zip-link { font-variant-numeric: tabular-nums; }

/* Properties map (List | Map | By ZIP are views of one query). Restrained: grey = not pursued, blue = active pursuit,
   green = won or managed by us; approximate locations are hollow and dashed; selected properties get a dark ring. */
.mi-view-tabs { margin: 0 0 14px; }
.mi-map-panel { margin: 4px 0 12px; }
.mi-map-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin-bottom: 10px; }
.mi-map-legend { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; font-size: var(--mi-fs-secondary); color: var(--mi-text-2); }
.mi-dot { display: inline-block; width: 12px; height: 12px; border-radius: 50%; background: #5b6b80; border: 2px solid #5b6b80; margin-left: 4px; }
.mi-dot.is-pursuit { background: #1f67a8; border-color: #1f67a8; }
.mi-dot.is-won { background: #2e7d4f; border-color: #2e7d4f; }
.mi-dot.is-approx { background: #fff; border: 2px dashed #5b6b80; }
.mi-map { height: min(64vh, 620px); min-height: 360px; border: 1px solid var(--mi-border); border-radius: 12px; overflow: hidden; background: #eef2f6; }
.mi-map.is-drawing, .mi-map.is-drawing .leaflet-interactive { cursor: crosshair; user-select: none; -webkit-user-select: none; }
.mi-map-hint { margin: 0 0 8px; padding: 8px 12px; border-radius: 8px; background: var(--mi-info-soft); color: var(--mi-info-ink); font-weight: 600; }
.mi-map-count { margin-top: 8px; }
.mi-cluster { display: flex !important; align-items: center; justify-content: center; border-radius: 50%; background: rgba(16, 28, 53, .78); border: 3px solid rgba(255, 255, 255, .9); color: #fff; font-weight: 700; font-size: 15px; box-shadow: 0 1px 4px rgba(0, 0, 0, .3); }
.mi-pop { font-size: 15px; line-height: 1.4; color: var(--mi-text); }
.mi-pop-name { display: block; font-size: 17px; font-weight: 700; margin-bottom: 2px; }
.mi-pop-addr { margin: 0 0 6px; color: var(--mi-text-2); }
.mi-pop-note { margin: 0 0 6px; padding: 4px 8px; border-radius: 6px; background: var(--mi-warning-soft); color: var(--mi-warning-ink); }
.mi-pop-row { display: flex; justify-content: space-between; gap: 12px; margin: 2px 0; }
.mi-pop-label { color: var(--mi-text-2); }
.mi-pop-open { margin-top: 8px; min-height: 40px; color: #fff !important; }
.mi-area-selection { margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--mi-divider); }
.mi-area-summary { font-size: var(--mi-fs-lead); margin: 0 0 10px; }
.mi-area-note { display: block; }
@media (max-width: 767px) { .mi-map { height: 58vh; min-height: 320px; } .mi-map-legend { flex-basis: 100%; } }
.mi-map-loading { margin: 0; padding: 16px; color: var(--mi-text-2); }
.mi-map .leaflet-control-attribution { font-size: 14px; line-height: 1.4; } /* the OSM credit meets the 14px minimum */
/* Map markers are links (keyboard-focusable divs); clusters and markers preview on hover, markers open on click. */
.mi-pin { box-sizing: border-box; border-radius: 50%; background: #5b6b80; border: 2px solid #5b6b80; cursor: pointer; }
.mi-pin.is-pursuit { background: #1f67a8; border-color: #1f67a8; }
.mi-pin.is-won { background: #2e7d4f; border-color: #2e7d4f; }
.mi-pin.is-approx { background: #fff; border-style: dashed; }
.mi-pin.is-sel { border: 3px solid #0b2e59; }
.mi-pin.is-dim { opacity: .45; }
.mi-pin:focus-visible, .mi-cluster:focus-visible { outline: 3px solid #0b2e59; outline-offset: 2px; }
.mi-map.is-drawing .leaflet-marker-icon { pointer-events: none !important; } /* a drag that ends on a marker still draws the area */
.mi-tip { padding: 10px 12px; border-radius: 8px; max-width: 320px; white-space: normal; box-shadow: 0 4px 14px rgba(16, 28, 53, .22); }
.mi-pop-list { list-style: none; margin: 4px 0; padding: 0; min-width: 240px; }
.mi-pop-list li { margin: 4px 0; }
.mi-pop-sub { display: block; color: var(--mi-text-2); }
.mi-pop-more { margin: 4px 0; font-weight: 600; }
.mi-pop-hint { margin: 6px 0 0; color: var(--mi-text-2); }
