/* Halo Bento Workboard layout. Tile colour, ink and motion come from the shared bento recipe, and the operational
   controls (filter chips, owner and status pills, bulk bar, pager) from halo-components.css. */
/* Bento summary: the first tile (Unassigned / shared) is the large one; the rest fill a 2-row mosaic. */
.workboard-metrics-grid { display:grid; grid-template-columns:repeat(12, minmax(0, 1fr)); grid-auto-rows:minmax(144px, auto); grid-auto-flow:dense; gap:var(--halo-gap); }
.workboard-metrics-grid > * { grid-column:span 4; min-width:0; }
.workboard-metrics-grid > .halo-metric:first-child { grid-column:span 4; grid-row:span 1; --metric-bg:var(--halo-fill-brand); --metric-fg:var(--halo-on-fill); --metric-soft:var(--halo-on-fill-well); }
.workboard-metrics-grid > .halo-metric:first-child .halo-metric__value { font-size:var(--halo-text-hero); }
/* DS rule: at most four solid tiles per screen. Later tiles keep their tone as a soft pair. */
.workboard-metrics-grid > .halo-metric.halo-metric:nth-child(n+5) { --metric-fg:var(--halo-text); --metric-soft:rgb(var(--halo-navy) / .08); border-color:transparent; }
.workboard-metrics-grid > .workboard-metric--leads.halo-metric:nth-child(n+5) { --metric-bg:var(--halo-soft-navy); --metric-fg:var(--halo-soft-navy-ink); }
.workboard-metrics-grid > .workboard-metric--activity.halo-metric:nth-child(n+5) { --metric-bg:var(--halo-soft-blue); --metric-fg:var(--halo-soft-blue-ink); }
.workboard-metrics-grid > .workboard-metric--sales.halo-metric:nth-child(n+5) { --metric-bg:var(--halo-soft-green); --metric-fg:var(--halo-soft-green-ink); }
.workboard-metrics-grid > .workboard-metric--pending.halo-metric:nth-child(n+5) { --metric-bg:var(--halo-soft-yellow); --metric-fg:var(--halo-soft-yellow-ink); }
.workboard-metrics-grid > .workboard-metric--underwriting.halo-metric:nth-child(n+5) { --metric-bg:var(--halo-surface); --metric-fg:var(--halo-text); border-color:var(--halo-hairline); }
.workboard-metrics-grid .halo-metric__footer { line-height:1.45; }
@media (max-width: 1180px) { .workboard-metrics-grid > * { grid-column:span 6; } .workboard-metrics-grid > .halo-metric:first-child { grid-column:span 6; grid-row:span 1; } }
@media (max-width: 640px) { .workboard-metrics-grid > *, .workboard-metrics-grid > .halo-metric:first-child { grid-column:span 12; } }
.halo-workboard-grid.halo-operational-grid .mud-table-head .mud-table-cell { height:42px; background:var(--halo-surface-hover); backdrop-filter:none; font-size:var(--halo-text-caption); letter-spacing:.04em; color:var(--halo-text-secondary); }
.halo-workboard-grid .halo-grid-header > .mud-menu { opacity:0; transition:opacity 150ms var(--halo-ease-out); }
.halo-workboard-grid .mud-table-cell:is(:hover,:focus-within) .halo-grid-header > .mud-menu,.halo-workboard-grid .halo-grid-header.is-active > .mud-menu { opacity:1; }
.halo-workboard-grid .mud-table-body .mud-table-cell { height:auto; padding-top:14px; padding-bottom:14px; font-size:var(--halo-text-sm); border-bottom:1px solid var(--halo-hairline); }
.halo-workboard-grid.halo-grid--condensed .mud-table-body .mud-table-cell { height:auto; padding-top:8px; padding-bottom:8px; }
.halo-workboard-grid.halo-grid--condensed :is(.halo-record-details small,.halo-record-source small,.halo-record-owner small,.halo-record-attention small,.workboard-legacy-details,.halo-record-ownership,.wb-inline-flag) { display:none; }
.halo-workboard-grid .mud-table-body .mud-table-row.halo-grid-row:hover { background:rgb(var(--halo-navy) / .035) !important; }
/* Status is a display cue only. Keep the whole row tinted, including sticky cells,
   and let selection retain its separate visual priority. */
.halo-workboard-grid .workboard-status-row--active { --workboard-status-color:var(--halo-ink-info); }
.halo-workboard-grid .workboard-status-row--waiting { --workboard-status-color:var(--halo-ink-warning); }
.halo-workboard-grid .workboard-status-row--appointment { --workboard-status-color:light-dark(#7750b7, #ba9ae8); }
.halo-workboard-grid .workboard-status-row--sold { --workboard-status-color:var(--halo-ink-success); }
.halo-workboard-grid .workboard-status-row--restricted { --workboard-status-color:var(--halo-ink-critical); }
.halo-workboard-grid .workboard-status-row--neutral { --workboard-status-color:var(--halo-ink-neutral); }
.halo-workboard-grid .mud-table-body .mud-table-row.workboard-status-row,
.halo-workboard-grid .mud-table-body .mud-table-row.workboard-status-row > .mud-table-cell { background:color-mix(in srgb, var(--workboard-status-color) 10%, var(--halo-surface)) !important; }
.halo-workboard-grid .mud-table-body .mud-table-row.workboard-status-row:is(:hover,:focus-within),
.halo-workboard-grid .mud-table-body .mud-table-row.workboard-status-row:is(:hover,:focus-within) > .mud-table-cell { background:color-mix(in srgb, var(--workboard-status-color) 16%, var(--halo-surface)) !important; }
.halo-workboard-grid .mud-table-body .mud-table-row.workboard-status-row > .mud-table-cell:first-child { box-shadow:inset 3px 0 var(--workboard-status-color); }
.halo-workboard-grid .workboard-status-row .workboard-grid-status { --badge-bg:color-mix(in srgb, var(--workboard-status-color) 15%, var(--halo-surface)); --badge-ink:var(--halo-text); }
.halo-workboard-grid .workboard-status-row .workboard-grid-status::before { background:var(--workboard-status-color); }
.workboard-grid-timezone { font-size:var(--halo-text-caption); color:var(--halo-text-secondary); }
.halo-workboard-grid .workboard-grid-timestamp { display:flex; flex-direction:column; gap:3px; font-variant-numeric:tabular-nums; white-space:nowrap; }
.halo-workboard-grid .workboard-grid-clock { font-weight:600; }
.halo-workboard-grid .workboard-grid-timestamp small { font-size:var(--halo-text-caption); color:var(--halo-text-secondary); }
.halo-workboard-grid .workboard-grid-sla { margin-top:5px; font-size:var(--halo-text-caption); }
.halo-workboard-grid .workboard-grid-sla .halo-sla-age { flex-wrap:wrap; white-space:normal; }
.halo-workboard-grid .mud-table-body .mud-table-row.halo-row-selected > .mud-table-cell { background:var(--halo-soft-navy) !important; }
.halo-workboard-grid .halo-record-avatar { width:34px; height:34px; border-radius:10px; background:var(--halo-soft-navy); color:var(--halo-soft-navy-ink); box-shadow:none; font:500 var(--halo-text-caption) var(--halo-font-mono); }
.halo-workboard-grid.halo-grid--condensed .halo-record-avatar { width:28px; height:28px; }
.halo-workboard-grid .halo-record-name { font-weight:550; font-size:var(--halo-text-sm); }
.halo-workboard-grid .halo-record-details small { font:var(--halo-text-caption) var(--halo-font-mono); color:var(--halo-text-secondary); }
.halo-workboard-grid .halo-record-source strong { font-size:var(--halo-text-sm); font-weight:500; }
.halo-workboard-grid .halo-record-source small { font-size:var(--halo-text-caption); }
.halo-workboard-grid .halo-record-attention { border-left:0; padding-left:0; }
.halo-workboard-grid .halo-record-attention strong { font-weight:500; font-size:var(--halo-text-sm); }
.halo-workboard-grid .halo-record-attention--owner { color:var(--halo-soft-yellow-ink); }
.halo-workboard-grid .halo-record-attention small { font-size:var(--halo-text-caption); }
.halo-workboard-grid .workboard-language { font:var(--halo-text-caption) var(--halo-font-mono); text-transform:uppercase; padding:3px 6px; border-radius:6px; background:var(--halo-soft-gray); color:var(--halo-soft-gray-ink); }
.halo-workboard-grid .workboard-legacy-details { display:block; margin-top:4px; padding:0; border:0; background:none; font:600 var(--halo-text-caption)/1.3 var(--halo-font); color:var(--halo-ink-info); cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.halo-workboard-grid .workboard-legacy-details:focus-visible { outline:none; box-shadow:var(--halo-focus-ring); border-radius:4px; }
.halo-workboard-grid .halo-col-actions { min-width:112px; }
.halo-workboard-grid .mud-table-body .mud-table-row .halo-col-actions > * { transform:translateX(4px); }
.halo-workboard-grid .mud-table-body .mud-table-row:is(:hover,:focus-within) .halo-col-actions > * { transform:none; }
.halo-workboard-grid .halo-col-actions :is(.halo-icon-button,.halo-row-actions__trigger) { width:30px; height:30px; }
.halo-workboard-grid .mud-checkbox :is(.mud-icon-root, .halo-icon) { width:18px; height:18px; }
.halo-workboard-grid .mud-table-head .mud-checkbox { color:var(--halo-text-secondary); }
.halo-workboard-grid .halo-grid-number { text-align:left; }
@media(hover:none) { .halo-workboard-grid .halo-grid-header > .mud-menu { opacity:1; } }
@media(prefers-reduced-motion:reduce) { .halo-workboard-grid .halo-grid-filter-trigger { transition:none; } }

.halo-filterbar--workboard .halo-multi-picker__summary { height:40px; min-height:40px; border-radius:var(--halo-radius-control); border-color:var(--halo-input-border); font-size:var(--halo-text-sm); }
.halo-filterbar--workboard .halo-multi-picker__value { font-weight:550; color:var(--halo-text); }
.halo-filterbar--workboard .halo-multi-picker__count { min-width:16px; height:16px; font-size:10px; }

/* Keep Mud's native selection inputs and events; only replace their visible glyph. */
.halo-workboard-grid .mud-checkbox .mud-button-root { position:relative; }
.halo-workboard-grid .mud-checkbox .mud-button-root > svg { opacity:0; width:16px; height:16px; }
.halo-workboard-grid .mud-checkbox .mud-button-root::before { content:''; position:absolute; width:16px; height:16px; top:50%; left:50%; transform:translate(-50%,-50%); border:1px solid var(--halo-hairline-strong); border-radius:5px; background:var(--halo-surface); pointer-events:none; }
.halo-workboard-grid .mud-checkbox .mud-button-root:has(input:checked)::before,.halo-workboard-grid .mud-checkbox .mud-checkbox-null::before { background:var(--halo-action-brand); border-color:var(--halo-action-brand); }
.halo-workboard-grid .mud-checkbox .mud-button-root:has(input:checked)::after { content:''; position:absolute; top:50%; left:50%; width:4px; height:8px; border:solid var(--halo-on-action); border-width:0 1.5px 1.5px 0; transform:translate(-50%,-65%) rotate(45deg); pointer-events:none; }
.halo-workboard-grid .mud-checkbox .mud-checkbox-null::after { content:''; position:absolute; top:50%; left:50%; width:8px; height:2px; background:var(--halo-on-action); transform:translate(-50%,-50%); pointer-events:none; }
.halo-workboard-grid .mud-checkbox .mud-button-root:has(input:focus-visible)::before { outline:2px solid var(--halo-ink-brand); outline-offset:2px; }

/* Keep each lead readable on phones while retaining native selection, column filters and actions. */
@media (max-width: 599px) {
    .halo-workboard-grid .workboard-grid-sla { grid-column:2; }
    .halo-workboard-grid .mud-table-body .mud-table-row.workboard-status-row { box-shadow:inset 3px 0 var(--workboard-status-color); }
    .halo-workboard-grid .mud-table-body .mud-table-row.workboard-status-row > .mud-table-cell:first-child { box-shadow:none; }
    .halo-workboard-grid.halo-operational-grid .mud-table-container { max-width: 100%; overflow-x: hidden; }
    .halo-workboard-grid.halo-operational-grid .mud-table-root { display: block; width: 100%; min-width: 0; }
    .halo-workboard-grid .mud-table-head { display: block; overflow-x: auto; position: static; border-bottom: 1px solid var(--halo-hairline); }
    .halo-workboard-grid .mud-table-head .mud-table-row { display: flex; width: max-content; min-width: 100%; }
    .halo-workboard-grid.halo-operational-grid .mud-table-head .mud-table-cell { display: flex; align-items: center; flex: 0 0 auto; position: static; min-height: 44px; }
    .halo-workboard-grid .mud-table-head .halo-grid-header > .mud-menu { opacity: 1; }
    .halo-workboard-grid .mud-table-head .halo-grid-filter-trigger { min-width: 44px; min-height: 44px; }
    .halo-workboard-grid .mud-table-body { display: block; width: 100%; padding: 8px; }
    .halo-workboard-grid .mud-table-body .mud-table-row { display: grid; grid-template-columns: 44px minmax(0, 1fr); margin-bottom: 12px; border: 1px solid var(--halo-hairline); border-radius: 12px; overflow: hidden; }
    .halo-workboard-grid.halo-operational-grid .mud-table-body .mud-table-cell { display: grid; grid-column: 1 / -1; grid-template-columns: 92px minmax(0, 1fr); gap: 12px; align-items: center; position: static; width: auto; min-width: 0; min-height: 44px; padding: 10px 12px; text-align: left; overflow-wrap: anywhere; }
    .halo-workboard-grid .mud-table-body .mud-table-cell::before { content: attr(data-label); position: static; float: none; width: auto; color: var(--halo-text-secondary); font-size: var(--halo-text-caption); font-weight: 500; text-align: left; }
    .halo-workboard-grid.halo-operational-grid .mud-table-body .mud-table-cell:first-child { display: flex; grid-column: 1; grid-row: 1; padding: 0; justify-content: center; border-bottom: 1px solid var(--halo-hairline); }
    .halo-workboard-grid .mud-table-body .mud-table-cell:first-child::before { display: none; }
    .halo-workboard-grid.halo-operational-grid .mud-table-body .mud-table-cell[data-label="Lead"] { display: flex; grid-column: 2; grid-row: 1; padding-left: 4px; }
    .halo-workboard-grid .mud-table-body .mud-table-cell[data-label="Lead"]::before { display: none; }
    .halo-workboard-grid .halo-record-identity { min-width: 0; width: 100%; }
    .halo-workboard-grid :is(.halo-record-details, .halo-record-source, .halo-record-owner) { min-width: 0; max-width: 100%; }
    .halo-workboard-grid :is(.halo-record-name, .halo-record-source strong, .halo-record-source small, .halo-record-owner small, .halo-grid-email) { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
    .halo-workboard-grid.halo-grid--condensed .halo-record-details small { display: block; }
    .halo-workboard-grid .halo-owner-pill > span:last-child { white-space: normal; }
    .halo-workboard-grid .mud-table-body .mud-table-row .halo-col-actions > * { opacity: 1; transform: none; }
    .halo-workboard-grid .halo-col-actions :is(.halo-icon-button, .halo-row-actions__trigger) { width: 44px; height: 44px; }
    .halo-workboard-grid .halo-status-pill .halo-native-select { height: 44px; min-height: 44px; max-width: 100%; }
    .halo-workboard-grid .mud-checkbox .mud-button-root { width: 44px; height: 44px; }
    .workboard-primary-surface .halo-grid-pager { gap: 8px; padding: 12px; }
    .workboard-primary-surface .halo-grid-pager > span { flex: 1 0 100%; }
    .workboard-primary-surface .halo-grid-pager :is(.halo-btn, .halo-page-number) { min-height: 44px; min-width: 44px; }
    .workboard-primary-surface .halo-grid-pager .halo-field { width: 112px; }
}
