.stock-tone-full { --stock-bg:#e0f2e5; --stock-ink:#205e3e; --stock-bar:#31865a }
.stock-tone-partial { --stock-bg:#fff1d5; --stock-ink:#794d05; --stock-bar:#bd7f12 }
.stock-tone-low { --stock-bg:#fbe3e0; --stock-ink:#902e28; --stock-bar:#bf4841 }
.stock-tone-unknown { --stock-bg:#eceeec; --stock-ink:#53616a; --stock-bar:#869198 }
.stock-week :is(.stock-shortfall,.stock-hire-highlight) { position:relative; overflow:visible }
.stock-week :is(.stock-shortfall,.stock-hire-highlight)>b { display:inline-block; position:relative; z-index:1; border-radius:5px }
@media (prefers-reduced-motion:no-preference) {
 .stock-shortages-visible :is(.stock-shortfall,.stock-hire-highlight)>b { animation:stock-shortfall-pop 1.4s cubic-bezier(.2,.8,.25,1) var(--shortfall-delay) both }
 @keyframes stock-shortfall-pop {
  0%,100% { transform:translateY(0) scale(1); box-shadow:0 0 0 0 transparent; background:transparent; color:inherit }
  28%,55% { transform:translateY(-5px) scale(1.65); box-shadow:0 5px 12px #27374833,0 0 0 5px var(--stock-ink); background:var(--stock-ink); color:#fffaf2 }
  75% { transform:translateY(1px) scale(.96) }
 }
}
.stock-availability-key { display:flex; flex-wrap:wrap; gap:8px 15px; margin:12px 0; font-size:12px }
.stock-availability-key span { display:inline-flex; align-items:center; gap:6px }
.stock-availability-key span::before { content:''; width:13px; height:13px; border-radius:4px; background:var(--stock-bg); border:1px solid var(--stock-bar) }
.stock-board-scroll { container-type:inline-size; position:relative; max-height:68vh; overflow:auto; background:#f3f3f2; border:1px solid #d9dedb; border-radius:14px; overscroll-behavior:contain }
.stock-board { padding:0 8px 8px; min-width:300px }
.stock-board-month { min-width:calc(var(--day-count) * 49px + 36px) }
.stock-day-grid { display:grid; grid-template-columns:repeat(var(--day-count),minmax(0,1fr)); gap:5px }
.stock-board-dates { position:sticky; top:0; z-index:2; padding:6px 8px; background:#f3f3f2; border-bottom:1px solid #e2e3df }
.stock-board-dates .stock-flow-day { background:transparent; width:100%; min-width:0; min-height:40px; padding:3px; border:0; display:flex; flex-direction:column; gap:1px; align-items:center; color:var(--hirental-slate) }
.stock-board-dates .stock-flow-day small { font-size:11px; color:#566672 }
.stock-board-dates .stock-flow-day[aria-current=date] { background:var(--hirental-slate); color:white }
.stock-board-dates .stock-flow-day[aria-current=date] small { color:inherit }
.stock-item-card { padding:9px 8px 8px; margin:6px 0 0; border:1px solid #e1e3de; border-radius:12px; background:white }
.stock-item-card>.stock-item-heading { height:auto; min-height:0; border:0; display:flex; justify-content:space-between; align-items:start; gap:10px; padding:0 0 7px; background:none; color:var(--hirental-slate) }
.stock-board-month .stock-item-heading { position:sticky; left:12px; width:min(100%,calc(100cqw - 38px)) }
.stock-item-heading .stock-item-name { border:0; padding:0; text-align:left; font-size:15px; font-weight:700; background:none; color:inherit }
.stock-item-heading .stock-item-name:hover,.stock-ledger-job:hover { text-decoration:underline }
.stock-item-heading>span { font-size:12px; white-space:nowrap; font-variant-numeric:tabular-nums; color:#53616a }
.stock-item-heading small,.stock-ledger-job small { display:block; color:#5a6770; font-size:11px; font-weight:400 }
.stock-availability-tile { position:relative; width:100%; min-width:0; min-height:44px; padding:6px 1px 9px; border:0; background:var(--stock-bg); color:var(--stock-ink); border-radius:8px; overflow:hidden; font-size:16px; font-variant-numeric:tabular-nums }
.stock-availability-tile b { overflow-wrap:anywhere }
.stock-availability-tile:hover,.stock-availability-tile[aria-pressed=true] { box-shadow:inset 0 0 0 2px var(--stock-ink) }
.stock-availability-rail { position:absolute; bottom:0; left:0; width:100%; height:4px }
.stock-availability-rail i { display:block; height:100%; background:var(--stock-bar) }
.stock-detail-ledger { margin:14px 0; min-width:0 }
.stock-ledger-scroll { overflow:auto; max-width:100%; border:1px solid #d7dedc; border-radius:10px }
.stock-ledger-scroll table { width:100%; min-width:650px; border-collapse:separate; border-spacing:0; font-size:13px; font-variant-numeric:tabular-nums }
.stock-ledger-scroll caption { text-align:left; padding:10px 12px; font-weight:700; background:#f6f5f2 }
.stock-ledger-scroll :is(th,td) { padding:7px 5px; text-align:center; border:0; border-bottom:1px solid #e2e5e2; background:white }
.stock-ledger-scroll th:first-child { position:sticky; left:0; z-index:1; text-align:left; width:23%; min-width:110px; max-width:230px; overflow-wrap:anywhere; box-shadow:1px 0 #dedfda }
.stock-ledger-scroll th button { border:0; background:none; color:inherit; padding:3px; font-size:12px }
.stock-ledger-scroll thead th { background:#f3f4f3 }
.stock-ledger-scroll thead th[data-selected=true] { background:var(--hirental-slate); color:white }
.stock-ledger-scroll td[data-selected=true] { box-shadow:inset 1px 0 #b6c2c4,inset -1px 0 #b6c2c4 }
.stock-ledger-scroll td[class^=stock-tone] { background:var(--stock-bg); color:var(--stock-ink); font-weight:700 }
.stock-ledger-scroll .stock-ledger-jobs-heading { background:#f3f4f3 }
.stock-ledger-scroll .stock-ledger-job { display:block; width:100%; text-align:left; font-weight:700; line-height:1.4 }
.stock-job-phase { display:block; border-radius:5px; padding:4px; background:#e8ecee; color:#384853 }
.stock-job-phase small { display:block; font-size:10px }
.stock-job-phase[data-phase=Build] { background:#d9edf4; color:#224f61 }
.stock-job-phase[data-phase='In use'] { background:#f8dfd6; color:#83472f }
.stock-job-phase[data-phase=Derig] { background:#dff1e5; color:#295d40 }
@media(max-width:720px) {
 .stock-board { padding-inline:4px }.stock-day-grid { gap:3px }.stock-item-card { padding-inline:5px }.stock-board-dates { padding-inline:5px }.stock-item-heading .stock-item-name { font-size:14px }.stock-availability-tile { font-size:14px }.stock-board-month .stock-item-heading { left:8px }.stock-ledger-scroll th:first-child { width:115px }.stock-board-scroll { max-height:62dvh }
}
/* Native CRM availability tiles, adapted to the marketing site's type scale. */
.stock-week{--hirental-slate:#273748;--hirental-copper:#da865f}.stock-week .stock-board-scroll{max-height:none;overflow:visible;container-type:normal}.stock-week .stock-board{min-width:0}.stock-week .stock-item-card{margin-top:7px}.stock-week .stock-item-heading{align-items:center}.stock-week .stock-item-name{font-family:Outfit,sans-serif;font-size:16px}.stock-week .stock-item-heading>span{font-size:13px}.stock-week .stock-availability-tile{min-height:49px;font:600 18px/1.3 Outfit,sans-serif}.stock-week .stock-flow-day{font:inherit}.stock-week .stock-flow-day small{font-size:12px}.stock-week .stock-flow-day b{font-size:20px}.stock-week .stock-availability-key{margin:16px 0 12px;font-size:13px}.stock-week .week-guide{font-size:14px;line-height:1.45;color:#52616a;margin:12px 0 7px}.stock-week .week-readout{font-size:13px;margin:0;padding:0;border:0;color:#52616a}.stock-week .week-breakdown{margin-top:20px;border:1px solid #cbd1cc;border-radius:9px;background:#fff;padding:18px;scroll-margin:95px}.week-breakdown[hidden]{display:none}.week-detail-heading{display:flex;justify-content:space-between;align-items:center;gap:15px}.stock-week .week-detail-heading h4{font-size:19px;line-height:1.2;letter-spacing:-.025em;margin:0}.week-detail-close{background:#273748;color:#fff8ee;border-radius:5px;padding:8px 12px;flex:none;font-size:14px}.week-detail-totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:15px 0;background:#d8ded9;border:1px solid #d8ded9;border-radius:5px;overflow:hidden}.week-detail-totals:empty{display:none}.week-detail-totals>div{padding:10px;background:#f5f5f1;font-size:12px}.week-detail-totals b{display:block;font-size:23px;margin-top:3px}.week-detail-totals .is-short{background:#fbe3e0;color:#902e28}.stock-week .stock-ledger-scroll table{font-family:Arial,Helvetica,sans-serif;font-size:12px;min-width:600px}.stock-week .stock-ledger-scroll caption{font-family:Outfit,sans-serif}.stock-week .stock-ledger-scroll th:first-child{width:130px}.stock-week .stock-ledger-scroll button{font:inherit}.stock-week .stock-ledger-scroll small{display:block;font-size:10px;font-weight:400}.week-movements{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}.week-movements>div:last-child{grid-column:1/-1}.stock-week .week-movements h5{font-size:14px;font-weight:550;margin:0 0 8px}.week-movement-leaving h5{color:#965608}.week-movement-back h5{color:#146b59}.stock-week .week-movements p{margin:8px 0;font-size:13px}.week-movements small{display:block;color:#5b6970;font-size:12px}.week-detail-note{font-size:12px;line-height:1.5;color:#52616a;border-top:1px solid #d8ded9;padding-top:12px;margin-top:12px}html:has(.week-breakdown:not([hidden])){scroll-snap-type:none}.stock-week [hidden]{display:none!important}
@media(max-width:720px){.stock-week .stock-item-name{font-size:14px}.stock-week .stock-availability-tile{font-size:17px;min-height:46px}.stock-week .stock-item-heading>span{font-size:12px}.stock-week .week-breakdown{padding:12px}.week-detail-heading{align-items:flex-start}.stock-week .week-detail-heading h4{font-size:18px}.week-detail-totals{grid-template-columns:repeat(2,minmax(0,1fr))}.week-movements{grid-template-columns:1fr}.stock-week .week-chrome{gap:8px;padding:12px}.stock-week .week-chrome small{font-size:11px}.stock-week .week-chrome>span{gap:9px}.stock-week .week-chrome>span>span{font-size:13px;padding-left:9px}}
.stock-copy .stock-interaction-note{font-size:16px!important;border-top:1px solid #cfc7b8;padding-top:18px;margin-top:22px;line-height:1.5}.stock-interaction-note strong{color:#273748;font-weight:550}

.week-ledger-hint{display:none}@media(max-width:720px){.week-ledger-hint{display:block;font-size:12px;color:#52616a;margin:8px 0}}
