/* Bookings (photo / video shoots) and contracts (Form A expiry). Palette via variables only. */

/* layout: marketing calendar beside the list */
.bk-split{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:18px;align-items:start}
@media(max-width:1100px){.bk-split{grid-template-columns:1fr}}

/* list rows */
.bk-row{grid-template-columns:120px 120px minmax(0,1fr) auto}
.bk-when b,.bk-prop b{display:block}
.bk-prop b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bk-st{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.bk-drive{font-size:12.5px;color:var(--red)}
.bk-split .bk-row{grid-template-columns:96px minmax(0,1fr) auto}
.bk-split .bk-row>span:nth-child(2){display:none}
@media(max-width:700px){
  .bk-row,.bk-split .bk-row{grid-template-columns:84px minmax(0,1fr);row-gap:6px}
  .bk-row>span:nth-child(2){display:none}
  .bk-st{grid-column:2;justify-content:flex-start}
}

/* service colours in pills and calendar entries */
.pill.bk-svc{background:var(--bg-2);color:var(--ink-2)}
.pill.bk-video{background:var(--inv);color:var(--inv-ink)}
.pill.bk-both{background:var(--red-soft);color:var(--red)}
.cal-ev.bk-ev{border-left-width:3px}
.bk-ev.bk-photo{border-color:var(--ink-2);background:var(--bg-2)}
.bk-ev.bk-video{border-color:var(--ink);background:var(--panel-2)}
.bk-ev.bk-both{border-color:var(--red);background:var(--red-soft)}
.bk-ev.bk-block{border-color:var(--muted-2);background:repeating-linear-gradient(135deg,var(--bg-2) 0 6px,var(--panel) 6px 12px);color:var(--muted)}
.bk-ev.bk-done{opacity:.6}
.dayview .ev.bk-ev{cursor:pointer}
.dayview .ev.bk-photo{border-left-color:var(--ink-2);background:var(--bg-2)}
.dayview .ev.bk-video{border-left-color:var(--ink);background:var(--panel-2)}
.dayview .ev.bk-block{border-left-color:var(--muted-2)}
.dayview .hr.bk-outside .h{opacity:.5}
.cal-cell.bk-off{background:var(--bg-2)}
.bk-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:10px;font-size:12px;color:var(--muted)}
.bk-legend span{display:inline-flex;align-items:center;gap:6px}
.bk-legend i{display:inline-block;width:12px;height:12px;border-radius:3px;border-left:3px solid var(--muted-2);background:var(--bg-2)}
.bk-legend i.bk-photo{border-color:var(--ink-2)}
.bk-legend i.bk-video{border-color:var(--ink);background:var(--panel-2)}
.bk-legend i.bk-both{border-color:var(--red);background:var(--red-soft)}
.bk-legend i.bk-block{background:repeating-linear-gradient(135deg,var(--bg-2) 0 3px,var(--panel) 3px 6px)}

/* request form */
.bk-dur{margin:12px 0 0;font-size:14px;color:var(--ink-2);line-height:1.5}
.bk-dur b{color:var(--red)}
.bk-dur .dim{color:var(--muted);font-size:12.5px}
.bk-days-h{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.bk-days-h .count{flex:1;text-align:center}
.bk-days-h .icbtn[disabled]{opacity:.3;cursor:default}
.bk-days{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
.bk-day{flex:0 0 auto;min-width:64px;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px 8px;background:var(--panel);border:1px solid var(--line-2);border-radius:var(--rs);color:var(--ink);cursor:pointer;transition:var(--t)}
.bk-day small{font-size:11px;color:var(--muted);font-weight:600}
.bk-day b{font-size:19px;font-weight:600;line-height:1}
.bk-day:hover{border-color:var(--ink)}
.bk-day.on{background:var(--inv);border-color:var(--inv);color:var(--inv-ink)}
.bk-day.on small{color:var(--inv-ink);opacity:.75}
.bk-day.full{opacity:.45}
.bk-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;margin-top:6px}
.bk-slot{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 6px;background:var(--panel);border:1px solid var(--line-2);border-radius:var(--rs);font-size:14px;font-weight:600;color:var(--ink);cursor:pointer;transition:var(--t)}
.bk-slot small{font-size:10.5px;font-weight:600;color:var(--muted)}
.bk-slot:hover:not([disabled]){border-color:var(--red);color:var(--red)}
.bk-slot.on{background:var(--red);border-color:var(--red);color:#fff}
.bk-slot[disabled]{cursor:not-allowed;background:var(--bg-2);color:var(--muted-2);border-style:dashed;text-decoration:line-through}
.bk-slot[disabled] small{text-decoration:none}
.bk-picked{margin:12px 0 0;font-size:14px;color:var(--ink-2)}
.bk-picked b{color:var(--red)}
.bk-pre{white-space:pre-wrap;margin:0}
.bk-inline{display:flex;gap:8px;align-items:center}
.bk-inline .input{flex:1;min-width:0}
@media(max-width:560px){.bk-inline{flex-direction:column;align-items:stretch}}
.bk-comment{padding:10px 0;border-top:1px solid var(--line);font-size:14px}
.bk-comment:first-child{border-top:0}
.bk-comment .dim{color:var(--muted);font-size:12px}
.bk-comment p{margin:4px 0 0;white-space:pre-wrap;color:var(--ink-2)}

/* contracts */
.ct-row{grid-template-columns:minmax(0,2fr) 1fr auto auto minmax(0,1.3fr)}
.ct-row.ct-expired{background:var(--red-soft)}
.ct-row.ct-expired:hover{background:var(--red-soft)}
.ct-row.ct-expired b{color:var(--red)}
@media(max-width:800px){.ct-row{grid-template-columns:1fr auto;row-gap:8px}.ct-row .right{grid-column:1/-1;text-align:left}}
.ct-file{grid-template-columns:minmax(0,1fr) auto auto}
.ct-pills,.ct-acts{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
@media(max-width:600px){.ct-file{grid-template-columns:1fr}}
.ct-status{display:flex;gap:14px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;padding:14px 18px;margin-bottom:18px;border:1px solid var(--line-2);border-left:3px solid var(--muted-2);border-radius:var(--rs);background:var(--bg-2)}
.ct-status p{margin:8px 0 0;font-size:14px;color:var(--ink)}
.ct-status p.dim{color:var(--muted);font-size:13px;margin-top:4px}
.ct-status.ct-normal,.ct-status.ct-calm{border-left-color:var(--ink-2)}
.ct-status.ct-action{border-left-color:var(--red)}
.ct-status.ct-urgent{border-color:var(--red);border-left-color:var(--red);background:var(--red-soft)}
.ct-status-r{display:flex;gap:6px;flex-wrap:wrap}
.ct-sum{font-size:13px;font-weight:600;color:var(--ink-2)}
.ct-sum.dim{color:var(--muted);font-weight:500}
.ct-sum.warn{color:var(--red)}
.ct-sum.bad{color:#fff;background:var(--red);padding:2px 8px;border-radius:100px}
