/* Workshop Planning (the booking calendar, redesigned).

   Everything lives under `.wp`, the wrapper around the page body, so nothing here can reach another
   screen. The portal's own tokens (--surface, --bs-line, --bs-text, --bs-muted, --bs-hi-vis, the
   theme on <html data-bs-theme>) are used as they are; the heat/tint set the design adds is scoped
   to .wp below.

   The month cell is NOT a new component: it is the existing `.bk-day` (its chips, drag handlers and
   edit links are unchanged), restyled here to the design. New regions are `wp-*`.

   Heat colours follow the tenant's Workshop load bands through the cell's own rag (green = spare or
   normal, amber = tight, red = over) — never a hard-coded percentage. */

.wp {
    --hair: #e4e7ec; --track: #e3e7ec; --off: #f3f4f6; --dim: #9aa3af; --surface-3: #f1f2f4;
    --g: #1a7f3c; --a: #9a6700; --r: #b3261e;
    --gf: #00de91; --af: #e8a400; --rf: #e5484d;
    --g-bg: #e9f6ee; --g-line: #b7e0c4; --a-bg: #fff4e0; --a-line: #f3d9a8; --r-bg: #fdecec; --r-line: #f3b4b4;
    --violet: #7d3fd1; --violet-bg: #f4edfc; --violet-glow: rgba(125, 63, 209, .22);
    --blue: #02b3fe; --sel: #0299d6;
    --wp-shadow: 0 1px 2px rgba(16, 24, 40, .04);
}
[data-bs-theme="dark"] .wp {
    --hair: #2b3138; --track: #2d343c; --off: #181b20; --dim: #5f6a77; --surface-3: #23272e;
    --g: #2ec77e; --a: #f0b429; --r: #f2685f;
    --g-bg: rgba(46, 199, 126, .14); --g-line: rgba(46, 199, 126, .45);
    --a-bg: rgba(240, 180, 41, .13); --a-line: rgba(240, 180, 41, .45);
    --r-bg: rgba(242, 104, 95, .14); --r-line: rgba(242, 104, 95, .5);
    --violet: #b05cff; --violet-bg: rgba(176, 92, 255, .14); --violet-glow: rgba(176, 92, 255, .3);
    --sel: #5aa2ff; --wp-shadow: none;
}
.wp .num { font-variant-numeric: tabular-nums; }
.wp svg { display: block; flex: none; }

/* ---------- toolbar: view tabs, search ---------- */
.wp-tabs { display: inline-flex; border: 1.5px solid var(--bs-line); border-radius: 9px; overflow: hidden; background: var(--surface); }
.wp-tabs button { background: none; border: 0; padding: .45rem .85rem; font: inherit; font-weight: 600; font-size: .88rem; cursor: pointer; color: var(--bs-text); display: inline-flex; align-items: center; gap: .45rem; }
.wp-tabs button + button { border-inline-start: 1.5px solid var(--bs-line); }
.wp-tabs button[aria-selected="true"] { background: var(--bs-hi-vis); color: var(--bs-ink-2, #0e0f11); }
.wp-tabs button:not([aria-selected="true"]):hover { background: var(--surface-3); }
.wp-search { display: flex; align-items: center; gap: .55rem; height: 38px; padding: 0 .75rem; border-radius: 9px; background: var(--surface); border: 1.5px solid var(--bs-line); color: var(--bs-muted); min-width: 0; }
.wp-search input { flex: 1; min-width: 0; background: none; border: 0; outline: 0; color: var(--bs-text); font: inherit; font-size: .9rem; }
.wp-search input::placeholder { color: var(--bs-muted); }
.wp-search:focus-within { border-color: var(--blue); }
.wp-sel { height: 38px; padding: 0 2rem 0 .75rem; border-radius: 9px; background: var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none' stroke='%236b7280' stroke-width='2.2' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right .6rem center; border: 1.5px solid var(--bs-line); appearance: none; font: inherit; font-size: .9rem; font-weight: 500; color: var(--bs-text); min-width: 0; }
.wp-sel option { background: var(--surface); color: var(--bs-text); }
.wp .bk-toolbar__right .bk-search { width: 290px; }

/* ---------- headline numbers ---------- */
.wp-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; margin-bottom: 1rem; }
.wp-stat { display: flex; align-items: center; gap: .85rem; padding: .85rem 1.1rem; }
.wp-stat__ic { width: 30px; height: 30px; color: var(--bs-muted); }
.wp-stat b { display: block; font-size: 1.35rem; line-height: 1.15; font-weight: 700; letter-spacing: -.01em; }
.wp-stat__l { color: var(--bs-muted); font-size: .82rem; }
.wp .wp-stat--free, [data-bs-theme="dark"] .wp .wp-stat--free { border-color: var(--g-line); background: linear-gradient(180deg, var(--g-bg), var(--surface)); }
.wp-stat--free .wp-stat__ic, .wp-stat--free b { color: var(--g); }
.wp-stat--over b { color: var(--r); }
/* The other headline boxes take the Free box's style (a tinted gradient and a coloured edge) in their own colours: Capacity blue, Booked violet,
   and Workshop load by level (below 70% red, 70% to 85% orange, above 85% green). */
.wp {
    --b: #0a6fd6; --b-bg: #e6f3fd; --b-line: #a8d4f7; --bf: #1fa2ff;
    --o: #d9541e; --o-bg: #fff0e6; --o-line: #f6c3a3; --of: #ff7a1a;
    --v: var(--violet); --v-bg: var(--violet-bg); --v-line: #d9c2f3; --vf: #9b5cf0;
}
[data-bs-theme="dark"] .wp {
    --b: #4cc2ff; --b-bg: rgba(76, 194, 255, .14); --b-line: rgba(76, 194, 255, .5); --bf: #1fb8ff;
    --o: #ff9a52; --o-bg: rgba(255, 138, 61, .14); --o-line: rgba(255, 138, 61, .5); --of: #ff8a3d;
    --v-line: rgba(176, 92, 255, .5); --vf: #b05cff;
}
.wp .wp-stat--capacity, [data-bs-theme="dark"] .wp .wp-stat--capacity { border-color: var(--b-line); background: linear-gradient(180deg, var(--b-bg), var(--surface)); }
.wp-stat--capacity .wp-stat__ic, .wp-stat--capacity b { color: var(--b); }
.wp .wp-stat--booked, [data-bs-theme="dark"] .wp .wp-stat--booked { border-color: var(--v-line); background: linear-gradient(180deg, var(--v-bg), var(--surface)); }
.wp-stat--booked .wp-stat__ic, .wp-stat--booked b { color: var(--v); }
.wp .wp-stat--load-red, [data-bs-theme="dark"] .wp .wp-stat--load-red { border-color: var(--r-line); background: linear-gradient(180deg, var(--r-bg), var(--surface)); }
.wp .wp-stat--load-orange, [data-bs-theme="dark"] .wp .wp-stat--load-orange { border-color: var(--o-line); background: linear-gradient(180deg, var(--o-bg), var(--surface)); }
.wp .wp-stat--load-green, [data-bs-theme="dark"] .wp .wp-stat--load-green { border-color: var(--g-line); background: linear-gradient(180deg, var(--g-bg), var(--surface)); }
.wp .wp-stat--load.wp-stat--load-red b { color: var(--r); }
.wp .wp-stat--load.wp-stat--load-orange b { color: var(--o); }
.wp .wp-stat--load.wp-stat--load-green b { color: var(--g); }
.wp .wp-stat--load.wp-stat--load-red .wp-ring { background: conic-gradient(var(--rf) calc(var(--p) * 1%), var(--track) 0); }
.wp .wp-stat--load.wp-stat--load-orange .wp-ring { background: conic-gradient(var(--of) calc(var(--p) * 1%), var(--track) 0); }
.wp .wp-stat--load.wp-stat--load-green .wp-ring { background: conic-gradient(var(--gf) calc(var(--p) * 1%), var(--track) 0); }

.wp-ring { --p: 0; width: 46px; height: 46px; border-radius: 50%; position: relative; flex: none; background: conic-gradient(var(--gf) calc(var(--p) * 1%), var(--track) 0); }
.wp-ring::after { content: ''; position: absolute; inset: 7px; border-radius: 50%; background: var(--surface); }
.wp-stat--load b { font-size: 1.7rem; color: var(--g); }

/* ---------- capacity risks ---------- */
.wp-risks { display: flex; align-items: center; gap: .55rem; flex-wrap: wrap; padding: .6rem 1rem; margin-bottom: 1rem; border-radius: 12px; background: var(--r-bg); border: 1px solid var(--r-line); }
.wp-risks__head { display: flex; align-items: center; gap: .5rem; color: var(--r); font-weight: 700; font-size: .95rem; margin-inline-end: .35rem; }
.wp-risks__head svg { color: var(--af); }
.wp-chip { height: 28px; padding: 0 .7rem; border-radius: 7px; background: var(--surface); border: 1px solid var(--r-line); color: var(--r); font: inherit; font-size: .8rem; font-weight: 600; cursor: pointer; }
.wp-chip:hover { border-color: var(--r); }
.wp-risks__all { margin-inline-start: auto; background: none; border: 0; color: var(--sel); font: inherit; font-weight: 600; font-size: .88rem; display: flex; align-items: center; gap: .4rem; cursor: pointer; }
.wp-risklist { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .35rem; max-height: 50vh; overflow: auto; }
.wp-risklist button { width: 100%; text-align: start; display: flex; justify-content: space-between; gap: 1rem; padding: .5rem .7rem; border-radius: 8px; background: var(--surface); border: 1px solid var(--r-line); color: var(--bs-text); font: inherit; cursor: pointer; }
.wp-risklist button:hover { border-color: var(--r); }
.wp-risklist b { color: var(--r); }

/* ---------- filter bar ---------- */
.wp-filters { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; margin-bottom: 1rem; }
.wp-filters .wp-search { flex: 1; min-width: 220px; max-width: 420px; }
.wp-filters .wp-sel:first-of-type { margin-inline-start: auto; }
.wp-filters__clear { background: none; border: 0; color: var(--sel); font: inherit; font-weight: 600; font-size: .88rem; cursor: pointer; }

/* ---------- layout ---------- */
.wp .bk-layout { grid-template-columns: minmax(0, 1fr) 400px; gap: 1rem; }
.wp-cal { padding: .75rem .75rem 1rem; }
.wp-view[hidden] { display: none; }

/* ---------- month grid: the existing .bk-day, restyled ---------- */
.wp .bk-calendar { padding: .75rem .75rem 1rem !important; border-radius: 14px; box-shadow: var(--wp-shadow); }
.wp .bk-calendar__weekdays { gap: 6px; padding: .3rem 0 .55rem; font-size: .85rem; font-weight: 600; text-transform: none; letter-spacing: 0; color: var(--bs-muted); }
.wp .bk-calendar__grid { gap: 6px; }
.wp .bk-day {
    container-type: inline-size; position: relative; min-height: 128px; padding: .55rem .65rem; border-radius: 10px;
    background: var(--surface); border: 1px solid var(--bs-line); gap: .3rem; color: var(--bs-text);
    --c: var(--g); --cf: var(--gf);
}
.wp .bk-day--blank { background: var(--off); border: 1px dashed var(--hair); opacity: .6; }
.wp .bk-day--neutral { background: var(--off); border-color: var(--hair); --c: var(--dim); }
.wp .bk-day--green { background: var(--surface); border-color: var(--bs-line); --c: var(--g); --cf: var(--gf); }
.wp .bk-day--amber { background: var(--surface); border-color: var(--bs-line); --c: var(--a); --cf: var(--af); }
.wp .bk-day--red { background: var(--surface); border-color: var(--bs-line); --c: var(--r); --cf: var(--rf); }
.wp .bk-day--overloaded { border-width: 2px; border-color: var(--r-line); padding: calc(.55rem - 1px) calc(.65rem - 1px); }
.wp .bk-day[data-day-url]:hover { border-color: var(--bs-hi-vis); }
[data-bs-theme="dark"] .wp .bk-day[data-day-url]:hover { border-color: #00b3ff; }
.wp .bk-day__num { font-size: 1.05rem; line-height: 1; }
.wp .bk-day--today { border: 2px solid var(--blue); padding: calc(.55rem - 1px) calc(.65rem - 1px); box-shadow: 0 0 0 3px rgba(2, 179, 254, .18); }
.wp .bk-day--selected:not(.bk-day--today) { border-color: var(--blue); }
.wp .bk-day.is-preview { border: 2px dashed var(--violet); padding: calc(.55rem - 1px) calc(.65rem - 1px); background: linear-gradient(180deg, var(--violet-bg), var(--surface)); }
.wp .bk-day.is-flash { animation: wp-flash 1.1s ease-out; }
@keyframes wp-flash { 0% { background: var(--g-bg); box-shadow: 0 0 0 3px var(--g-line); } 100% { box-shadow: none; } }
.wp-ghost { position: absolute; top: .45rem; inset-inline-end: .45rem; font-size: .68rem; padding: .05rem .45rem; border-radius: 5px; background: var(--violet); color: #fff; font-weight: 700; }
.wp-avail { font-size: .8rem; font-weight: 600; white-space: nowrap; color: var(--c); }
.wp .bk-bar { height: 6px; border-radius: 3px; background: var(--track); }
.wp .bk-bar__fill { border-radius: 3px; }
.wp .bk-bar__fill--green { background: var(--gf); }
.wp .bk-bar__fill--amber { background: var(--af); }
.wp .bk-bar__fill--red { background: var(--rf); }
.wp .bk-bar__fill--neutral { background: var(--dim); }
.wp .bk-day__hours { font-size: .76rem; color: var(--bs-muted); align-items: baseline; }
.wp .bk-day__pct { color: var(--c); font-weight: 700; }
.wp .bk-day__hours--muted { text-align: center; margin-top: 1.1rem; color: var(--dim); font-style: normal; font-size: .8rem; }
.wp-jobs { align-self: flex-start; padding: .1rem .6rem; border-radius: 6px; background: var(--surface-3); border: 1px solid var(--hair); font-size: .76rem; font-weight: 600; }
.wp .bk-chip { background: var(--surface-3); border-color: var(--hair); }
.wp .bk-chip--booked { background: var(--g-bg); border-color: var(--g-line); color: var(--g); }
.wp .bk-chip.is-dim, .wp .bk-day__chips li.is-dim { opacity: .35; }
.wp-legend { display: flex; gap: 1.3rem; flex-wrap: wrap; padding: .9rem .4rem 0; color: var(--bs-muted); font-size: .8rem; }
.wp-legend span { display: flex; align-items: center; gap: .45rem; }
.wp-legend i { width: 12px; height: 12px; border-radius: 50%; background: var(--c); }
.wp-avail__short { display: none; }
.wp .bk-day__chips li.is-filtered { display: none; }
@container (max-width: 135px) {
    .wp-avail__word, .wp .bk-day__hours .wp-of { display: none; }
    .wp-avail__short { display: inline; }
}

/* ---------- Capacity + Resources views ---------- */
.wp-alt { padding: 1.25rem 1.4rem; }
.wp-alt h2 { margin: 0 0 .15rem; font-size: 1.1rem; }
.wp-alt > p { margin: 0 0 1rem; color: var(--bs-muted); font-size: .9rem; }
.wp-trade { display: grid; grid-template-columns: 120px 1fr 190px; gap: .9rem; align-items: center; padding: .65rem 0; border-top: 1px solid var(--hair); }
.wp-trade__t { height: 10px; border-radius: 5px; background: var(--track); overflow: hidden; }
.wp-trade__t i { display: block; height: 100%; background: var(--cf); border-radius: 5px; }
.wp-trade small { color: var(--bs-muted); text-align: end; font-size: .8rem; }
.wp-trade[data-s="g"], .wp-person[data-s="g"] { --cf: var(--gf); }
.wp-trade[data-s="a"], .wp-person[data-s="a"] { --cf: var(--af); }
.wp-trade[data-s="r"], .wp-person[data-s="r"] { --cf: var(--rf); }
.wp-people { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: .6rem; }
.wp-person { background: var(--surface-3); border: 1px solid var(--hair); border-radius: 10px; padding: .75rem .9rem; }
.wp-person b { display: block; }
.wp-person span { color: var(--bs-muted); font-size: .82rem; }
.wp-person__t { height: 6px; border-radius: 3px; background: var(--track); margin-top: .6rem; overflow: hidden; }
.wp-person__t i { display: block; height: 100%; background: var(--cf); }
.wp-empty { padding: 1.6rem .5rem; text-align: center; color: var(--bs-muted); }

/* ---------- Ready to book ---------- */
.wp .bk-rails { position: sticky; top: 1rem; max-height: calc(100vh - 2rem); display: flex; flex-direction: column; min-height: 0; }
.wp-rail { padding: .9rem; display: flex; flex-direction: column; min-height: 0; border-radius: 14px; box-shadow: var(--wp-shadow); }
.wp-rail__h { display: flex; align-items: center; flex-wrap: wrap; gap: .4rem .55rem; margin-bottom: .7rem; }
.wp-rail__h h2 { margin: 0; font-size: 1.1rem; font-weight: 700; white-space: nowrap; }
.wp-count { padding: .05rem .6rem; border-radius: 99px; background: var(--violet-bg); color: var(--violet); border: 1px solid var(--violet); font-weight: 700; font-size: .8rem; }
.wp-rail__h label { margin-inline-start: auto; color: var(--bs-muted); font-size: .8rem; white-space: nowrap; }
.wp-rail__h .wp-sel { height: 34px; width: 8.8rem; margin-inline-start: .3rem; font-size: .84rem; }
.wp-rail > .wp-search { margin-bottom: .7rem; }
.wp-cards { list-style: none; margin: -3px; padding: 3px; overflow: auto; display: flex; flex-direction: column; gap: .6rem; min-height: 0; }
.wp-card { padding: .8rem .85rem; border-radius: 11px; background: var(--surface); border: 1px solid var(--bs-line); }
.wp-card--rec { border: 2px solid var(--violet); padding: calc(.8rem - 1px) calc(.85rem - 1px); box-shadow: 0 0 18px var(--violet-glow); }
.wp-card__t { display: flex; justify-content: space-between; align-items: center; gap: .5rem; }
.wp-card h3 { margin: 0; font-size: 1.1rem; font-weight: 700; letter-spacing: .01em; }
.wp-card h3 a { color: inherit; text-decoration: none; }
.wp-card h3 a:hover { text-decoration: underline; }
.wp-card__wip { margin-inline-start: auto; font-family: var(--bs-font-mono); font-size: .72rem; letter-spacing: .06em; color: var(--bs-muted); }
.wp-badge { padding: .12rem .6rem; border-radius: 6px; background: var(--violet); color: #fff; font-size: .72rem; font-weight: 700; }
.wp-card__sub { color: var(--bs-muted); margin: .1rem 0 .55rem; font-size: .88rem; }
.wp-card__meta { display: flex; gap: 1rem; flex-wrap: wrap; color: var(--bs-muted); font-size: .82rem; margin-bottom: .55rem; }
.wp-card__meta span { display: inline-flex; align-items: center; gap: .4rem; }
.wp-card__meta svg { width: 15px; height: 15px; }
.wp-card__meta b { font-weight: 500; color: var(--bs-text); }
.wp-pills { display: flex; gap: .45rem; flex-wrap: wrap; margin-bottom: .6rem; }
.wp-pills span { display: inline-flex; align-items: center; gap: .4rem; padding: .2rem .65rem; border-radius: 99px; background: var(--surface-3); border: 1px solid var(--hair); font-size: .78rem; font-weight: 500; }
.wp-pills .wp-dot { width: 11px; height: 11px; border-radius: 50%; background: var(--c); display: inline-block; padding: 0; border: 0; }
.wp-pills .parts-green { --c: var(--gf); } .wp-pills .parts-red { --c: var(--rf); } .wp-pills .parts-amber { --c: var(--af); }
.wp-pills .wp-onsite { background: var(--g-bg); border-color: var(--g-line); color: var(--g); }
.wp-fit__h { font-weight: 700; font-size: .84rem; margin-bottom: .35rem; }
.wp-fit { display: grid; grid-template-columns: repeat(4, 1fr); gap: .35rem; margin-bottom: .6rem; }
.wp-fit div { padding: .3rem .25rem .3rem .55rem; border-radius: 7px; border: 1px solid var(--g-line); background: var(--g-bg); font-size: .78rem; font-weight: 600; }
.wp-fit div.tight { border-color: var(--a-line); background: var(--a-bg); }
.wp-fit div.over { border-color: var(--r-line); background: var(--r-bg); }
.wp-fit em { font-style: normal; display: flex; align-items: center; gap: .25rem; color: var(--g); font-size: .78rem; font-weight: 600; }
.wp-fit .tight em { color: var(--a); } .wp-fit .over em { color: var(--r); }
.wp-acts { display: grid; grid-template-columns: 1fr 1.25fr; gap: .45rem; }
.wp-acts .btn, .wp-compact .btn { white-space: nowrap; min-width: 0; }
.wp-compact { display: grid; grid-template-columns: .9fr 1.1fr 1.3fr; gap: .45rem; }
.wp-card--done { border-color: var(--g-line); background: var(--g-bg); display: flex; align-items: center; gap: .75rem; justify-content: space-between; }
.wp-card--done b { color: var(--g); display: block; }
.wp-card--done span { color: var(--bs-muted); font-size: .84rem; }
.wp-card.is-dragging { opacity: .5; }
.wp-foot { margin-top: .7rem; background: none; border: 0; color: var(--sel); font: inherit; font-weight: 600; text-align: start; display: flex; align-items: center; gap: .4rem; padding: 0; cursor: pointer; font-size: .88rem; }

/* ---------- day window: summary + trade bars (the dialog itself is the existing board-modal) ---------- */
.wp-daysum { color: var(--bs-muted); margin: 0 0 .7rem; font-size: .9rem; }
.wp-daytrades { margin: 0 0 1rem; }
.wp-daytrades .wp-trade { grid-template-columns: 170px 1fr 56px; }

/* ---------- toast ---------- */
.wp-toast { position: fixed; inset-inline: 50% auto; left: 50%; bottom: 22px; transform: translate(-50%, 20px); opacity: 0; pointer-events: none; padding: .7rem 1.1rem; border-radius: 10px; background: var(--bs-ink, #15171a); color: #fff; border-inline-start: 4px solid var(--bs-hi-vis); box-shadow: 0 8px 28px rgba(0, 0, 0, .3); transition: opacity .2s, transform .2s; z-index: 80; max-width: calc(100vw - 28px); font-size: .9rem; display: flex; gap: .9rem; align-items: center; }
.wp-toast.is-on { opacity: 1; transform: translate(-50%, 0); pointer-events: auto; }
.wp-toast button { background: none; border: 0; color: var(--bs-hi-vis); font: inherit; font-weight: 700; cursor: pointer; padding: 0; }

/* ---------- responsive ---------- */
@media (max-width: 1280px) {
    .wp .bk-layout { grid-template-columns: 1fr; }
    .wp .bk-rails { position: static; max-height: none; }
}
@media (max-width: 860px) {
    .wp-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .wp .bk-toolbar__right .bk-search { width: 100%; }
}
@media (max-width: 640px) {
    .wp .bk-calendar__grid, .wp .bk-calendar__weekdays { gap: 3px; }
    .wp .bk-day { min-height: 84px; padding: .35rem; }
    .wp-avail, .wp .bk-day__hours, .wp-jobs, .wp .bk-day__chips, .wp .bk-day__reason { display: none; }
    .wp .bk-bar { margin-top: auto; }
    .wp-fit { grid-template-columns: repeat(2, 1fr); }
    .wp-trade { grid-template-columns: 90px 1fr; } .wp-trade small { display: none; }
}
@media (prefers-reduced-motion: reduce) { .wp .bk-day.is-flash { animation: none; } .wp-toast { transition: none; } }

/* The title block, exactly as designed: the site line is plain muted text with a bold name (not the
   old pill), and the month buttons are the portal's ghost buttons. */
.wp .bk-scope { display: block; padding: 0; border: 0; border-radius: 0; background: none; margin: .35rem 0 0; font-size: .86rem; color: var(--bs-muted); }
.wp .bk-scope__label { font-family: inherit; font-size: inherit; font-weight: 400; text-transform: none; letter-spacing: 0; color: var(--bs-muted); }
.wp .bk-scope__value { font-size: inherit; font-weight: 600; color: var(--bs-text); margin-inline-start: .35rem; }
.wp .wf-nav { display: inline-flex; gap: .4rem; align-items: center; }
.wp .bk-toolbar__right { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; }
.wp .bk-search__input { height: 38px; }

/* The work-shortage strip is the capacity-risks strip itself (same red, same chips); its chips and
   "View all" are links, so they only need the anchor reset. */
.wp-alerts { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1rem; }
.wp-alert { display: inline-flex; align-items: center; gap: .4rem; height: 30px; padding: 0 .75rem; border-radius: 999px; background: var(--r-bg); border: 1px solid var(--r-line); color: var(--r); font: inherit; font-size: .82rem; font-weight: 700; cursor: pointer; }
.wp-alert svg { color: var(--af); }
.wp-alert:hover { border-color: var(--r); }
.wp-risklist a.wp-risklist__link { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .5rem .7rem; border-radius: 8px; background: var(--surface); border: 1px solid var(--r-line); color: var(--bs-text); text-decoration: none; }
.wp-risklist a.wp-risklist__link:hover { border-color: var(--r); }

/* The % sign in the Workshop load box takes the same level colour as the figure beside it (red, orange or green). */
.wp .wp-stat--load .wp-stat__pct { color: inherit; }
