/* Halo Bento Workboard primitives. Tile colour, ink and motion come from the shared bento recipe (halo-components.css). */
.halo-metric--operational .halo-metric__label { white-space:normal; }
.halo-metric--operational .halo-metric__selected { display:none; }
/* 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 2; --metric-bg:var(--halo-fill-red); --metric-fg:var(--halo-on-fill); --metric-soft:rgb(255 255 255 / .2); }
.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 12; grid-row:span 1; } }
@media (max-width: 640px) { .workboard-metrics-grid > *, .workboard-metrics-grid > .halo-metric:first-child { grid-column:span 12; } }
.halo-filter-chip { display:inline-flex; align-items:center; gap:8px; min-height:32px; padding:6px 12px; border:1px solid var(--halo-hairline-strong); border-radius:var(--halo-radius-pill); color:var(--halo-text-secondary); background:transparent; font:500 12.5px/1.4 var(--halo-font); white-space:nowrap; cursor:pointer; transition:background var(--halo-duration-2) var(--halo-ease-out); }
.halo-filter-chip__count { font:11.5px var(--halo-font-mono); font-variant-numeric:tabular-nums; opacity:.8; }
.halo-filter-chip[aria-pressed=true] { background:var(--halo-text); border-color:var(--halo-text); color:var(--halo-surface); }
.halo-filter-chip:hover { border-color:var(--halo-ink-brand); }
.halo-filter-chip:focus-visible,.halo-owner-pill:focus-visible { outline:2px solid var(--halo-ink-brand); outline-offset:2px; }
.halo-search-field--scoped .halo-search-field__control { display:flex; align-items:center; min-height:40px; border:1px solid var(--halo-hairline-strong); border-radius:var(--halo-radius-pill); background:var(--halo-surface-hover); transition:box-shadow var(--halo-duration-2) var(--halo-ease-out); }
.halo-search-field--scoped .halo-search-field__control:focus-within { background:var(--halo-surface); border-color:var(--halo-ink-brand); box-shadow:0 0 0 4px rgb(var(--halo-navy) / .22); }
.halo-search-field--scoped .halo-input { height:38px; min-height:38px; background:transparent; border:0; box-shadow:none; font-size:12.5px; }
.halo-search-field--scoped .halo-search-field__input { flex:1; width:0; min-width:50px; }
.halo-search-field__scope { border-left:1px solid var(--halo-hairline); flex:0 1 185px; min-width:130px; }
.halo-search-field__scope .halo-field { margin:0; }
.halo-search-field__shortcut { padding:2px 5px; margin-right:10px; font:11px var(--halo-font-mono); color:var(--halo-text-secondary); border:1px solid var(--halo-hairline); border-radius:4px; white-space:nowrap; }
.halo-search-field--scoped .halo-input:focus-visible { outline:none; box-shadow:none; }
.halo-owner-pill { display:inline-flex; align-items:center; gap:6px; max-width:100%; width:fit-content; min-height:29px; padding:3px 8px; border:1px solid var(--halo-hairline-strong); border-radius:var(--halo-radius-pill); background:var(--halo-surface); color:var(--halo-text-secondary); font:500 12px/1.3 var(--halo-font); }
.halo-owner-pill--unassigned { border-style:dashed; }
button.halo-owner-pill { cursor:pointer; }
.halo-owner-pill--unassigned svg { color:var(--halo-soft-yellow-ink); width:16px; height:16px; }
.halo-owner-pill__avatar { display:grid; place-items:center; width:20px; height:20px; flex:none; border-radius:50%; background:var(--halo-soft-navy); color:var(--halo-soft-navy-ink); font:10px var(--halo-font-mono); }
.halo-status-pill { --pill-ink:var(--halo-soft-gray-ink); --pill-bg:var(--halo-soft-gray); width:fit-content; min-width:112px; max-width:175px; }
.halo-status-pill--brand { --pill-ink:var(--halo-ink-brand); --pill-bg:var(--halo-soft-navy); }
.halo-status-pill--info { --pill-ink:var(--halo-soft-blue-ink); --pill-bg:var(--halo-soft-blue); }
.halo-status-pill--success { --pill-ink:var(--halo-soft-green-ink); --pill-bg:var(--halo-soft-green); }
.halo-status-pill--warning { --pill-ink:var(--halo-soft-yellow-ink); --pill-bg:var(--halo-soft-yellow); }
.halo-status-pill--critical { --pill-ink:var(--halo-soft-red-ink); --pill-bg:var(--halo-soft-red); }
.halo-status-pill .halo-native-select { min-height:28px; height:28px; padding:0 26px 0 23px; border:1px solid transparent; border-radius:var(--halo-radius-pill); background:var(--pill-bg); color:var(--pill-ink); font-size:12px; font-weight:500; box-shadow:none; }
.halo-status-pill .halo-native-select-wrap::before { content:''; position:absolute; top:50%; left:10px; width:5px; height:5px; border-radius:50%; background:var(--pill-ink); transform:translateY(-50%); pointer-events:none; }
.halo-status-pill .halo-native-select__chevron { right:7px; color:var(--pill-ink); }
.halo-status-pill .halo-native-select:focus-visible { outline:2px solid var(--halo-ink-brand); outline-offset:2px; }
.halo-sla-age { --age-ink:var(--halo-soft-green-ink); display:flex; align-items:center; gap:8px; white-space:nowrap; font-variant-numeric:tabular-nums; }
.halo-sla-age--warning { --age-ink:var(--halo-soft-yellow-ink); }
.halo-sla-age--critical { --age-ink:var(--halo-soft-red-ink); color:var(--age-ink); }
.halo-sla-age__track { width:46px; height:3px; border-radius:3px; background:var(--halo-hairline-strong); overflow:hidden; }
.halo-sla-age__track > span { display:block; height:100%; background:var(--age-ink); }
.halo-density--icons button > span { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.halo-density--icons button { min-width:30px; min-height:28px; padding:4px 7px; }
.halo-segmented--accent .halo-segmented__item[aria-pressed=true] { background:var(--halo-soft-navy); color:var(--halo-ink-brand); box-shadow:none; }
.halo-workboard-grid.halo-operational-grid .mud-table-head .mud-table-cell { height:42px; background:var(--halo-surface-hover); backdrop-filter:none; font-size:11.5px; 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:13px; 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; }
.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 11.5px 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:13px; }
.halo-workboard-grid .halo-record-details small { font:11.5px var(--halo-font-mono); color:var(--halo-text-secondary); }
.halo-workboard-grid .halo-record-source strong { font-size:13px; font-weight:500; }
.halo-workboard-grid .halo-record-source small { font-size:12px; }
.halo-workboard-grid .halo-record-attention { border-left:0; padding-left:0; }
.halo-workboard-grid .halo-record-attention strong { font-weight:500; font-size:13px; }
.halo-workboard-grid .halo-record-attention--owner { color:var(--halo-soft-yellow-ink); }
.halo-workboard-grid .halo-record-attention small { font-size:12px; }
.halo-workboard-grid .workboard-language { font:11px 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 .mud-icon-root { 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; }
.halo-bulk-bar { position:fixed; z-index:1100; left:50%; bottom:24px; transform:translateX(-50%); display:flex; align-items:center; flex-wrap:wrap; gap:12px; padding:12px 16px; max-width:calc(100vw - 48px); border:1px solid var(--halo-hairline-strong); border-radius:14px; background:var(--halo-fill-navy); color:var(--halo-on-fill); box-shadow:var(--halo-shadow-3); animation:halo-bulk-enter 200ms var(--halo-ease-out); }
.halo-bulk-bar strong { font-variant-numeric:tabular-nums; white-space:nowrap; }
.halo-bulk-bar .halo-native-select { background:var(--halo-fill-navy); color:var(--halo-on-fill); border-color:currentColor; }
.halo-bulk-bar .halo-btn--secondary,.halo-bulk-bar .halo-btn--ghost { color:var(--halo-on-fill); border-color:currentColor; }
.halo-bulk-bar .halo-field { min-width:130px; }
@keyframes halo-bulk-enter { from { opacity:0; bottom:16px; } }
@media(hover:none) { .halo-workboard-grid .halo-grid-header > .mud-menu { opacity:1; } }
@media(max-width:560px) { .halo-metric__sparkline { display:none; } .halo-search-field__shortcut { display:none; } .halo-bulk-bar { bottom:90px; width:calc(100vw - 24px); max-width:none; padding:10px; gap:8px; } }
@media(prefers-reduced-motion:reduce) { .halo-metric--operational,.halo-workboard-grid .halo-grid-filter-trigger,.halo-search-field__control { transition:none; } .halo-metric--operational.halo-metric--attention::before,.halo-bulk-bar { animation:none; } .halo-metric--operational:hover { transform:none; } }

.halo-filterbar--workboard .halo-multi-picker__summary { height:40px; min-height:40px; border-radius:var(--halo-radius-pill); border-color:var(--halo-hairline-strong); font-size:12.5px; }
.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; }
@media(max-width:559px) {
 .halo-search-field--scoped .halo-search-field__control { flex-wrap:wrap; }
 .halo-search-field--scoped .halo-search-field__input { width:calc(100% - 40px); flex-basis:calc(100% - 40px); }
 .halo-search-field__scope { flex:1 0 100%; border-left:0; border-top:1px solid var(--halo-hairline); }
 .halo-search-field--scoped .halo-search-field__control > svg { top:20px; }
}

.halo-page-number { width:28px; height:28px; border:1px solid var(--halo-hairline); border-radius:6px; background:var(--halo-surface); color:var(--halo-text-secondary); font:12px var(--halo-font-mono); cursor:pointer; }
.halo-page-number[aria-current=page] { background:var(--halo-text); color:var(--halo-surface); border-color:var(--halo-text); }
.halo-page-number:focus-visible { outline:2px solid var(--halo-ink-brand); outline-offset:2px; }
.halo-page-number:disabled { opacity:.5; cursor:default; }

.halo-bulk-bar { color-scheme:dark; }
/* 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; }

.halo-owner-pill > span:last-child { white-space:nowrap; }

/* Keep each lead readable on phones while retaining native selection, column filters and actions. */
@media (max-width: 599px) {
    .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: 12px; 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; }
}
