/* BLNCD › My desk (KEO portal Phase 4; bkdesk.js). Boards BkDesk, BkItem, BkPhone.
   Light, iOS-first: #F4F4EF ground, white cards, #F5C500 accents, 44pt targets on touch. */
.bk { --bk-ground: #F4F4EF; --bk-card: #FFFFFF; --bk-ink: #111111; --bk-mute: #66665F; --bk-line: #E3E3DC; --bk-y: #F5C500; --bk-ypale: #FFF4B9;
  --bk-red: #C42F25; --bk-amber: #8A5A00; --bk-amberbg: #FFF3D6; --bk-green: #1E7F43; --bk-shadow: 0 0 0 .5px rgba(0,0,0,.14), 0 1px 1.5px rgba(0,0,0,.06);
  color: var(--bk-ink); font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Helvetica Neue', sans-serif; font-size: 13px; }
#view-bkdesk { background: #F4F4EF; }
.bk *, .bk *::before, .bk *::after { box-sizing: border-box; }
.bk button { font-family: inherit; }
.bk-page { display: grid; grid-template-columns: minmax(0, 1fr); min-height: calc(100vh - 120px); }
.bk-page.has-insp { grid-template-columns: minmax(0, 1fr) 420px; }
.bk-main { min-width: 0; padding: 16px 20px 40px; display: flex; flex-direction: column; gap: 12px; }
.bk-head { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.bk-head-text { display: flex; align-items: baseline; gap: 10px; min-width: 0; flex: 1 1 260px; }
.bk-h { font-size: 15px; font-weight: 700; margin: 0; }
.bk-sub { color: var(--bk-mute); }
.bk-filters { display: flex; gap: 6px; flex-wrap: wrap; margin-left: auto; }
.bk-chip { height: 26px; padding: 0 11px; border-radius: 13px; border: 0; background: #FFF; box-shadow: 0 0 0 .5px rgba(0,0,0,.16); font-size: 12px; color: var(--bk-ink); cursor: pointer; }
.bk-chip.is-on { background: #111; color: #FFF; font-weight: 600; box-shadow: none; }
.bk-sync { display: flex; align-items: center; gap: 8px; color: var(--bk-mute); font-size: 12px; background: #FFF; border-radius: 9px; padding: 7px 12px; box-shadow: var(--bk-shadow); }
.bk-sync.is-amber { background: var(--bk-amberbg); color: var(--bk-amber); box-shadow: 0 0 0 .5px rgba(138,90,0,.3); }
.bk-sync span { flex: 1; min-width: 0; }
.bk-link { border: 0; background: none; color: #8A6B00; font-weight: 600; font-size: 12px; cursor: pointer; padding: 4px 6px; }
.bk-ro { display: flex; gap: 8px; align-items: center; color: var(--bk-mute); font-size: 12px; }
.bk-board { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; align-items: start; }
.bk-col { display: flex; flex-direction: column; gap: 8px; min-width: 0; border-radius: 12px; padding: 2px; }
.bk-col.is-over { background: var(--bk-ypale); box-shadow: 0 0 0 1.5px var(--bk-y); }
.bk-col-head { display: flex; align-items: center; gap: 6px; font-weight: 700; padding: 0 2px; }
.bk-count { font-size: 11px; color: var(--bk-mute); font-weight: 500; }
.bk-count.is-y { background: var(--bk-y); color: #111; border-radius: 8px; padding: 0 6px; font-weight: 600; }
.bk-col-body { display: flex; flex-direction: column; gap: 8px; }
.bk-col-empty { color: #A3A39B; font-size: 12px; margin: 6px 2px; }
.bk-card { position: relative; background: var(--bk-card); border-radius: 10px; box-shadow: var(--bk-shadow); padding: 0; }
.bk-card.is-new { box-shadow: 0 0 0 1.5px var(--bk-y); }
.bk-card.is-stale { box-shadow: inset 3px 0 0 var(--bk-red), var(--bk-shadow); }
.bk-card.is-sel { box-shadow: 0 0 0 2px #111; }
.bk-card[draggable="true"] { cursor: grab; }
.bk-card-open { display: flex; flex-direction: column; gap: 2px; width: 100%; text-align: left; background: none; border: 0; padding: 10px 12px 6px; cursor: pointer; color: inherit; font-size: 13px; }
.bk-card-top { display: flex; justify-content: space-between; gap: 6px; font-size: 11px; color: var(--bk-mute); }
.bk-card-top > span:first-child { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bk-card-top > span:last-child { flex: none; white-space: nowrap; }
.bk-card.is-stale .bk-card-top { color: var(--bk-red); }
.bk-card-title { font-weight: 600; margin-top: 2px; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; overflow-wrap: anywhere; }
.bk-card-sub { color: var(--bk-mute); overflow-wrap: anywhere; }
.bk-optchips { display: inline-flex; gap: 3px; }
.bk-optchip { font-size: 10px; font-weight: 700; min-width: 16px; height: 16px; border-radius: 4px; background: #ECECE5; display: inline-flex; align-items: center; justify-content: center; padding: 0 3px; }
.bk-optchip.is-on { background: #111; color: var(--bk-y); }
.bk-client { display: flex; align-items: center; gap: 6px; margin-top: 6px; font-size: 11px; color: var(--bk-mute); }
.bk-cmark { width: 18px; height: 18px; border-radius: 5px; background: #0F1115; color: #FFC629; font-size: 7px; font-weight: 800; display: inline-flex; align-items: center; justify-content: center; }
.bk-flags { display: flex; flex-wrap: wrap; gap: 4px; padding: 0 12px 6px; }
.bk-flag { font-size: 11px; font-weight: 600; color: var(--bk-amber); }
.bk-flag.is-red { color: var(--bk-red); }
.bk-flag.is-amber { color: var(--bk-amber); }
.bk-flag.is-quiet { color: var(--bk-mute); font-weight: 500; }
.bk-acts { display: flex; gap: 6px; padding: 0 12px 10px; }
.bk-btn { height: 26px; padding: 0 10px; border-radius: 7px; border: 0; background: #FFF; color: #111; box-shadow: 0 0 0 .5px rgba(0,0,0,.2), 0 1px 1.5px rgba(0,0,0,.07); font-size: 12px; font-weight: 500; display: inline-flex; align-items: center; gap: 6px; cursor: pointer; text-decoration: none; white-space: nowrap; }
.bk-btn-dark { background: #111; color: #FFF; box-shadow: none; font-weight: 600; }
.bk-btn:focus-visible, .bk-chip:focus-visible, .bk-card-open:focus-visible, .bk-link:focus-visible { outline: 2px solid #8A6B00; outline-offset: 2px; }
.bk-pop { margin: 0 8px 10px; padding: 10px; border-radius: 9px; background: #FBFBF8; box-shadow: 0 0 0 .5px rgba(0,0,0,.18); display: flex; flex-direction: column; gap: 8px; }
.bk-pop-title { font-weight: 700; }
.bk-pop-acts { display: flex; justify-content: flex-end; gap: 6px; }
.bk-fld { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.bk-fld > span { font-weight: 600; color: #3D3D38; font-size: 12px; }
.bk-fld input, .bk-fld select { height: 30px; border-radius: 7px; border: 0; box-shadow: 0 0 0 .5px rgba(0,0,0,.25); padding: 0 9px; font-size: 13px; font-family: inherit; background: #FFF; color: #111; min-width: 0; width: 100%; }
.bk-fld.is-ro b { font-weight: 500; min-height: 18px; }
.bk-check { display: flex; align-items: center; gap: 8px; font-size: 13px; }
.bk-opts { border: 0; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.bk-opts legend { font-weight: 600; font-size: 12px; color: #3D3D38; margin-bottom: 4px; }
.bk-opt { display: flex; align-items: center; gap: 8px; font-size: 13px; }
.bk-done { margin-top: 6px; }
.bk-done summary { cursor: pointer; color: var(--bk-mute); font-weight: 600; padding: 6px 2px; }
.bk-done-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 8px; margin-top: 6px; opacity: .85; }
.bk-loading { color: var(--bk-mute); padding: 24px; }
.bk-empty { text-align: center; padding: 40px 20px; color: var(--bk-mute); }
.bk-empty h3 { color: var(--bk-ink); margin: 10px 0 4px; font-size: 16px; }
.bk-empty-ic .bk-mark { width: 36px; height: 36px; }
/* inspector (BkItem) */
.bk-insp { background: #FFF; border-left: 1px solid var(--bk-line); min-width: 0; max-height: calc(100vh - 60px); overflow: auto; position: sticky; top: 0; }
.bk-insp-in { padding: 16px; display: flex; flex-direction: column; gap: 12px; }
.bk-insp-head { display: flex; gap: 10px; align-items: flex-start; }
.bk-insp-head > div { flex: 1; min-width: 0; }
.bk-insp-ref { font-size: 11px; color: var(--bk-mute); }
.bk-insp-head h3 { margin: 2px 0; font-size: 15px; overflow-wrap: anywhere; }
.bk-insp-sub { margin: 0; color: var(--bk-mute); font-size: 12px; overflow-wrap: anywhere; }
.bk-iconbtn { width: 30px; height: 30px; border-radius: 15px; border: 0; background: #F2F2EC; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; color: #111; flex: none; }
.bk-insp-tools { display: flex; flex-wrap: wrap; gap: 6px; }
.bk-note { color: var(--bk-mute); font-size: 12px; margin: 4px 0 0; }
.bk-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(60px, 1fr)); gap: 4px; }
.bk-step { display: flex; flex-direction: column; gap: 3px; font-size: 11px; color: var(--bk-mute); min-width: 0; }
.bk-step b { font-weight: 500; overflow-wrap: anywhere; }
.bk-step .bk-bar { height: 5px; border-radius: 3px; background: var(--bk-line); }
.bk-step.is-on .bk-bar { background: var(--bk-y); }
.bk-step.is-on b { color: var(--bk-ink); font-weight: 600; }
.bk-step.is-declined .bk-bar { background: var(--bk-red); }
.bk-step.is-declined b { color: var(--bk-red); font-weight: 600; }
.bk-box { background: #FFF; border-radius: 10px; box-shadow: var(--bk-shadow); padding: 12px 14px; display: flex; flex-direction: column; gap: 8px; }
.bk-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.bk-insp-step { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.bk-lines-head, .bk-line { display: grid; grid-template-columns: minmax(0, 1fr) 40px 84px; gap: 8px; }
.bk-lines-head { font-size: 11px; font-weight: 600; color: var(--bk-mute); text-transform: uppercase; }
.bk-lines-head span:not(:first-child), .bk-line span:not(:first-child) { text-align: right; }
.bk-line { padding: 6px 0; border-top: 1px solid #EFEFE9; overflow-wrap: anywhere; }
.bk-line i { font-style: normal; font-size: 10px; font-weight: 700; background: #111; color: var(--bk-y); padding: 1px 5px; border-radius: 3px; }
.bk-line.is-total { font-weight: 700; }
.bk-group { display: flex; align-items: center; gap: 8px; padding: 8px 0 2px; border-top: 1px solid #EFEFE9; }
.bk-group > span:last-child { margin-left: auto; font-weight: 600; }
.bk-group.is-picked { background: var(--bk-ypale); margin: 0 -14px; padding: 8px 14px 2px; }
.bk-pill { font-size: 10px; font-weight: 600; background: #F2F2EC; border-radius: 6px; padding: 1px 6px; white-space: nowrap; }
.bk-pill.is-y { background: var(--bk-y); }
.bk-scope { margin: 0; white-space: pre-wrap; color: #3D3D38; line-height: 1.5; overflow-wrap: anywhere; }
.bk-row { display: flex; justify-content: space-between; align-items: center; gap: 8px; border: 0; background: #FBFBF8; border-radius: 8px; padding: 8px 10px; cursor: pointer; text-align: left; font-size: 13px; color: inherit; }
.bk-log { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; font-size: 12px; }
.bk-log li { display: flex; justify-content: space-between; gap: 8px; }
.bk-log time { color: var(--bk-mute); white-space: nowrap; }
.bk-alert { display: flex; gap: 8px; align-items: flex-start; flex-wrap: wrap; background: #F2F2EC; border-radius: 9px; padding: 9px 11px; font-size: 12px; }
.bk-alert.is-amber { background: var(--bk-amberbg); color: var(--bk-amber); }
.bk-alert > span:nth-child(2) { flex: 1; min-width: 200px; }
.bk-alert-acts { display: flex; gap: 6px; }
.bk-chat-ph { flex-direction: row; align-items: center; gap: 10px; color: var(--bk-mute); }
.bk-chat-ph b { color: var(--bk-ink); }
.bk-undo { position: fixed; left: 50%; transform: translateX(-50%); bottom: 24px; z-index: 60; background: #111; color: #FFF; border-radius: 12px; padding: 10px 14px; display: flex; gap: 14px; align-items: center; box-shadow: 0 10px 30px rgba(0,0,0,.2); max-width: calc(100vw - 32px); }
.bk-undo .bk-link { color: var(--bk-y); }
/* iPad: the inspector is a sheet over the board, 44pt targets */
.bk-p-ipad .bk-board { grid-template-columns: repeat(5, minmax(150px, 1fr)); overflow-x: auto; padding-bottom: 6px; }
.bk-p-ipad .bk-btn, .bk-p-ipad .bk-chip { min-height: 44px; height: auto; border-radius: 10px; font-size: 14px; padding: 0 14px; }
.bk-p-ipad .bk-iconbtn { width: 44px; height: 44px; border-radius: 22px; }
.bk-p-ipad .bk-fld input, .bk-p-ipad .bk-fld select { height: 44px; font-size: 15px; }
.bk-p-ipad .bk-card-open { min-height: 44px; }
.bk-sheet-back { position: fixed; inset: 0; background: rgba(0,0,0,.25); z-index: 40; }
.bk-insp-sheet { position: fixed; right: 0; top: 0; bottom: 0; width: min(560px, 92vw); z-index: 41; border-left: 0; box-shadow: -10px 0 40px rgba(0,0,0,.18); max-height: none; }
.bk-p-ipad .bk-board { overflow-x: auto; }
@media (max-width: 1100px) { .bk-p-desk .bk-page.has-insp { grid-template-columns: minmax(0, 1fr) 360px; } .bk-p-desk .bk-board { grid-template-columns: repeat(5, minmax(150px, 1fr)); overflow-x: auto; } }
/* iPhone (BkPhone) */
.bk-p-phone { padding: 0 0 120px; }
.bk-p-phone .bk-filters { margin: 0 16px 10px; }
.bk-p-phone .bk-chip { height: 34px; padding: 0 13px; border-radius: 17px; font-size: 13px; }
.bk-p-phone .bk-sync, .bk-p-phone .bk-ro { margin: 0 16px 10px; }
.bk-ph-seg { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); background: #E6E6DF; border-radius: 10px; padding: 2px; margin: 0 16px 12px; }
.bk-ph-segbtn { min-height: 44px; border: 0; border-radius: 8px; background: transparent; font-size: 12px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1px; color: #111; }
.bk-ph-segbtn.is-on { background: #FFF; box-shadow: 0 1px 3px rgba(0,0,0,.12); font-weight: 600; }
.bk-ph-n { font-size: 11px; color: var(--bk-mute); font-weight: 500; }
.bk-ph-list { margin: 0 16px; background: #FFF; border-radius: 18px; box-shadow: 0 0 0 .5px rgba(0,0,0,.10); overflow: hidden; }
.bk-ph-row { position: relative; border-top: .5px solid var(--bk-line); touch-action: pan-y; overflow: hidden; }
.bk-ph-row:first-child { border-top: 0; }
.bk-ph-under { position: absolute; inset: 0; display: flex; justify-content: space-between; align-items: center; padding: 0 18px; font-size: 13px; font-weight: 600; }
.bk-ph-go { color: #FFF; display: inline-flex; gap: 6px; align-items: center; }
.bk-ph-det { color: #FFF; display: inline-flex; gap: 4px; align-items: center; }
.bk-ph-row .bk-ph-under { background: #E3E3DC; }
.bk-ph-row.is-go .bk-ph-under { background: var(--bk-green); }
.bk-ph-row.is-det .bk-ph-under { background: #111; }
.bk-ph-front { position: relative; width: 100%; min-height: 64px; border: 0; background: #FFF; text-align: left; padding: 13px 16px; display: flex; flex-direction: column; gap: 2px; color: inherit; transition: transform .18s ease; }
.bk-ph-row.is-stale .bk-ph-top { color: var(--bk-red); }
.bk-ph-top { font-size: 12px; color: var(--bk-mute); }
.bk-ph-ttl { font-size: 15px; font-weight: 600; }
.bk-ph-sub { font-size: 13px; color: var(--bk-mute); }
.bk-ph-hint { text-align: center; color: var(--bk-mute); font-size: 13px; margin: 12px 16px; }
.bk-p-phone .bk-insp-in { padding: 12px 16px 120px; }
.bk-p-phone .bk-btn { min-height: 44px; height: auto; border-radius: 12px; font-size: 15px; padding: 0 16px; }
.bk-p-phone .bk-iconbtn { display: none; }
.bk-p-phone .bk-fields { grid-template-columns: minmax(0, 1fr); }
.bk-p-phone .bk-fld input, .bk-p-phone .bk-fld select { height: 44px; font-size: 16px; }
.bk-p-phone .bk-box { border-radius: 16px; }
.bk-p-phone .bk-undo { bottom: 100px; }
.bk-sheet .bk-sheet-form { display: flex; flex-direction: column; gap: 12px; margin: 8px 0 14px; }
.bk-sheet .bk-fld input { height: 44px; font-size: 16px; border-radius: 10px; border: 0; box-shadow: 0 0 0 .5px rgba(0,0,0,.25); padding: 0 12px; }
.bk-sheet .bk-fld > span, .bk-sheet .bk-opts legend { font-size: 13px; font-weight: 600; }
.bk-sheet .bk-opt, .bk-sheet .bk-check { min-height: 44px; font-size: 15px; }
.bk-ph-title { font-size: 34px; margin: 62px 20px 8px; }
/* sidebar mark */
.d2-ico-mark .bk-mark, .nav-ico .bk-mark { width: 18px; height: 18px; }
@media (prefers-reduced-motion: reduce) { .bk-ph-front { transition: none; } }
/* With the inspector open the board keeps readable columns and scrolls inside itself. */
.bk-page.has-insp .bk-board { grid-template-columns: repeat(5, minmax(200px, 1fr)); overflow-x: auto; padding-bottom: 6px; }
.bk-main { min-width: 0; overflow: hidden; }
.bk-acts { flex-wrap: wrap; }
.bk-step b { overflow-wrap: normal; font-size: 10.5px; }
.bk-p-phone { min-height: 100vh; background: var(--bk-ground); }
.bk-undo { width: max-content; min-width: min(340px, calc(100vw - 32px)); justify-content: space-between; }
