/* Bookings: only the dispatch-specific structure. Controls and the calendar
   inherit the Console/shared component rules rather than growing a second UI. */
.bk-attn{display:flex;align-items:center;gap:12px}
.bk-attn div{display:grid;gap:3px}.bk-attn span{color:var(--ink-soft)}
.bk-pending{background:rgba(154,107,28,.045)}
.bk-needs{color:var(--warn);font-weight:700}
.bk-job{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:0;overflow:hidden}
.bk-job>div{display:grid;gap:5px;padding:14px 16px;border-bottom:1px solid var(--line)}
.bk-job>div:nth-child(odd){border-right:1px solid var(--line)}
.bk-job>div:last-child:nth-child(odd){grid-column:1/-1;border-right:0}
.bk-job span,.bk-dispatch-head span{font-size:12px;color:var(--ink-soft)}
.bk-job b,.bk-dispatch-head b{font-size:14px;line-height:1.45}
.bk-job small{font-size:12px;color:var(--ink-soft)}
.bk-notes{font-size:13px;line-height:1.6;margin-top:14px;white-space:pre-line}
.bk-dispatch-head{display:grid;grid-template-columns:1fr auto;gap:14px;padding:14px 16px;
  border-radius:12px;background:var(--surface);box-shadow:0 0 0 1px var(--line) inset;margin-bottom:18px}
.bk-dispatch-head>div{display:grid;gap:4px}.bk-dispatch-head>div:last-child{text-align:right}
.bk-calendar{margin:2px 0 14px;min-height:48px}
.bk-calendar .lum-cal{margin-inline:auto}
.bk-chosen{min-height:56px;border-radius:11px;background:var(--sand);padding:11px 14px;
  display:grid;align-content:center;gap:2px;margin-bottom:14px;font-size:13px}
.bk-chosen b{font-size:14px}.bk-chosen span{color:var(--ink-soft)}
.bk-override{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0;margin:6px 0 16px}
.bk-override summary{cursor:pointer;font-weight:700;font-size:13.5px;min-height:44px;display:flex;align-items:center}
.bk-override>p{font-size:13px;color:var(--ink-soft);line-height:1.55;margin:0 0 14px}
.bk-override .field{margin-bottom:10px}.bk-notify{margin-top:4px}
@media(max-width:700px){
  .bk-job{grid-template-columns:1fr}.bk-job>div:nth-child(odd){border-right:0}.bk-job>div:last-child:nth-child(odd){grid-column:auto}
  .bk-dispatch-head{grid-template-columns:1fr}.bk-dispatch-head>div:last-child{text-align:left}
  .bk-table th:nth-child(3),.bk-table td:nth-child(3),.bk-table th:nth-child(6),.bk-table td:nth-child(6){display:none}
}

/* Manual additions keep receipt and alert as separate facts. Shared controls
   own field geometry, focus and button states. */
.bk-shotlist{margin-top:var(--sp-break);padding-top:var(--sp-flow);border-top:1px solid var(--line)}
.bk-shotlist-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-bound);flex-wrap:wrap}
.bk-shotlist-head h3{margin:0 0 .3em}
.bk-shotlist .btn{min-height:44px}
.bk-shotlist-items{list-style:none;padding:0;margin:var(--sp-bound) 0 var(--sp-flow);display:grid;gap:var(--sp-flow)}
.bk-shotlist-items li{display:grid;gap:6px;min-width:0;overflow-wrap:anywhere}
.bk-shotlist-items b{font-size:14.5px;line-height:1.45}
.bk-shot-location,.bk-shotlist-items small{font-size:12.5px;line-height:1.5;color:var(--ink-soft)}
.bk-shot-detail{margin:0;white-space:pre-line;font-size:13px;line-height:1.6}
.bk-shot-receipt{display:flex;align-items:flex-start;gap:7px;font-size:12.5px;line-height:1.5}
.bk-shot-receipt svg{width:15px;height:15px;flex:none;margin-top:1px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.bk-shot-ack{color:var(--ok)}
.bk-shot-form{margin-top:var(--sp-flow)}
.bk-shot-form h4{margin:0 0 .5em;font-size:16px}
.bk-shot-form>.hint{margin-bottom:var(--sp-flow)}
.bk-shot-actions{display:flex;gap:var(--sp-bound);flex-wrap:wrap;margin-top:var(--sp-flow)}
#bookingShotlistStatus:empty{display:none}

.bk-shotlist-head h3,.bk-shot-form h4{display:flex;align-items:center;gap:8px}
.bk-shotlist-head h3 svg,.bk-shot-form h4 svg{width:19px;height:19px;flex:none;color:var(--brass);stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.bk-shot-outcome{display:flex;align-items:flex-start;gap:7px;font-size:12.5px;line-height:1.5;color:var(--ink-soft)}
.bk-shot-outcome svg{width:15px;height:15px;flex:none;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;margin-top:1px}
