/* bh-phone.css (067): phones only, after the Hub sheets. 44 px targets (52 on crew .bh-app--tabs), 16 px inputs, main action in thumb reach (.bh-actionbar). Under 5 KB (test_ui_shell). */
.bh-topbar .bh-iconbtn{width:44px;height:44px;flex:none}
.bh-btn,.bh-btn--s{min-height:44px;min-width:44px}
.bh-input,.bh-select{min-height:44px}
.bh-linkbtn{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center}
.bh-table td .bh-input,.bh-table td .bh-select{height:44px;font-size:16px}
input[type=file]{min-height:44px;font-size:16px}
.bh-main summary{min-height:44px;padding-block:11px;box-sizing:border-box}
.bh-main label:has(>input[type=checkbox]),.bh-main label:has(>input[type=radio]){display:flex;gap:8px;min-height:44px;align-items:center}
body.phone .bh-main>p:first-of-type>a{display:inline-flex;align-items:center;min-height:44px}
.bh-main :is(td,dd) a:not(.bh-btn):not(.bh-linkbtn){display:inline-block;padding-block:12px;margin-block:-12px;min-width:44px}
.bh-main :is(li,.bh-alert__body) a:not([class]),a.brief-hl{display:inline-block;padding-block:12px;margin-block:-12px;min-width:44px}
.bh-app--tabs .bh-topbar .bh-iconbtn,.bh-app--tabs .gh__panel .bh-iconbtn{width:52px;height:52px}
.bh-app--tabs :is(.bh-main .bh-btn:not(.bh-btn--touch),.bh-main .bh-linkbtn,.bh-main summary),body:has(.bh-app--tabs) .bh-env__out button{min-height:52px}
.gh__panel .bh-iconbtn{width:44px;height:44px;flex:none}
@media (max-width:480px){.brief-row{flex-wrap:wrap}.bh-row.brief-row>span:not(.bh-badge){flex-basis:100%}}
.bh-sync{width:26px;padding:0;justify-content:center}
.bh-sync>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.bh-app--tabs .bh-topbar .bh-scheme{display:none}
.bh-env{padding-block:0}
.bh-env__trades{display:none}
.bh-env__out button{min-height:44px;padding:0 8px}
.bh-actionbar{position:sticky;bottom:calc(12px + env(safe-area-inset-bottom));z-index:15;padding-top:8px;background:linear-gradient(transparent,var(--bh-surface) 10px)}
.bh-actionbar:not(.bh-actionbar--fixed){display:flex;gap:8px}
.bh-actionbar:not(.bh-actionbar--fixed)>.bh-btn--touch{width:auto;flex:1 1 0}
.bh-app--tabs .bh-actionbar{bottom:calc(70px + max(10px,env(safe-area-inset-bottom)))}
.bh-actionbar--fixed{position:fixed;left:12px;right:12px;margin:0;padding:0;background:none}
.bh-actionbar--fixed .bh-btn{box-shadow:var(--bh-shadow-2)}
.bh-main:has(.bh-actionbar--fixed){padding-bottom:172px}
body:has(:is(input:not([type=checkbox]):not([type=radio]):not([type=file]),textarea,select):focus) .bh-actionbar--fixed{display:none}
.gh__head{flex-wrap:wrap;row-gap:2px}.gh__state{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.gh__dot{width:12px;height:12px}
.bh-rail{align-self:stretch}
.ob-steps a,.ob-slot a,.ob-foot a{display:inline-flex;align-items:center;min-height:44px}
/* 151: section name in the top bar, stat cards 2x2, wide primary, 44 px targets; bh-components.js makes tables cards */
.bh-app:not(.bh-app--tabs) .bh-topbar__crumb:not(.bh-topbar__crumb--same){display:block;overflow:hidden;text-overflow:ellipsis;font-size:17px;font-weight:600}
.bh-app:not(.bh-app--tabs) .bh-topbar__crumb:not(.bh-topbar__crumb--same) a{color:var(--bh-ink)}
.bh-app:not(.bh-app--tabs) .bh-topbar__crumb:not(.bh-topbar__crumb--same)+.bh-topbar__title{display:none}
.bh-kpis{grid-template-columns:1fr 1fr;gap:8px}
.bh-kpis>:last-child:nth-child(odd){grid-column:1/-1}
.bh-kpi{padding:12px 14px}
.bh-page__actions>.bh-btn--primary{flex:1 1 auto}
.bh-table--cards tfoot{display:block}
.bh-topbar__crumb a{display:inline-flex;align-items:center;min-height:44px;min-width:44px}.bh-skip,.bh-find__input{min-height:44px}
.bh-card:has(>.bh-table--cards){padding:0;border:0;background:none;box-shadow:none}
/* 152b: the "?" hint is a full 44 px target; the Hub top row on a phone has no room for it (Edit grid explains itself) */
.bh-hint{min-width:44px;min-height:44px}
.gh__ctl .bh-hint{display:none}
/* 155: crew shell: Home tab = grid, title shows once the H1 scrolls away, queue count on the sync pill, 24 px ticks, photo picker */
.bh-app--tabs .bh-topbar__grid{display:none}
.bh-topbar__title{transition:opacity .15s}.bh-topbar--h1 .bh-topbar__title{opacity:0}
.bh-sync{position:relative}.bh-sync[data-n]::after{content:attr(data-n);position:absolute;top:-6px;right:-8px;min-width:18px;height:18px;padding:0 4px;box-sizing:border-box;border-radius:999px;background:var(--bh-warning-100);color:var(--bh-warning-text);font:600 12px/18px var(--bh-font);text-align:center}
.bh-app--tabs .bh-main input:is([type=checkbox],[type=radio]){width:24px;height:24px;flex:none}
.bh-pick{position:relative;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.bh-pick>input{position:absolute;opacity:0;width:1px;height:1px}.bh-pick>input:focus-visible+*{outline:2px solid var(--bh-focus);outline-offset:2px}
.bh-pick__btn{flex:1 1 100%;min-height:56px;justify-content:center}.bh-pick__img{width:72px;height:72px;object-fit:cover;border-radius:8px;border:1px solid var(--bh-border)}
