/* css/modules/crew.css: the .crew-* module — split out of css/app.css by #360's sibling stage (#362).
   Load order is core.css, then every modules/*.css alphabetically; rules here
   are in their original relative order, and no selector in this file appears in
   any other (asserted in tests/css-split-check.js). */

/* ==========================================================================
   DRIVERS AS A RESOURCE (#263) — `crew-` prefix
   Verified unused in css/app.css, driver/driver.css and portal/portal.css first.
   ========================================================================== */
.crew-hd{padding:18px 20px;margin-bottom:16px}
.crew-sub{margin:0;color:var(--muted);font-weight:700;font-size:13px;line-height:1.65}
.crew-note{margin:0 0 8px;color:var(--muted);font-weight:700;font-size:12.5px;line-height:1.6}
.crew-id{color:var(--muted);font-weight:700}
.crew-dim{color:var(--muted-2,#98a2b3);font-weight:700}
.crew-empty{padding:28px 22px;text-align:center;color:var(--muted);font-weight:700}
.crew-ok{color:var(--ok);font-weight:800;font-size:13px;margin:0}
/* NAMES AND COUNTS, never a percentage — "94% compliant" hides the one driver
   who can't legally do tomorrow's Newman run. Same refusal as the compliance
   matrix and the speed KPI. */
.crew-lead{display:flex;flex-wrap:wrap;gap:14px;margin-top:14px}
.crew-lead__b{flex:1 1 240px;padding:12px 14px;border-radius:10px;border:1px solid var(--line);background:#fbfcfe}
.crew-lead__b.is-bad{border-color:var(--red);background:rgba(242,60,0,.05)}
.crew-lead__b b{display:block;font-size:28px;font-weight:900;line-height:1}
.crew-lead__b.is-bad b{color:var(--red)}
.crew-lead__b i{display:block;font-style:normal;font-size:11px;font-weight:800;letter-spacing:.4px;
  text-transform:uppercase;color:var(--muted);margin:3px 0 5px}
.crew-lead__b span{display:block;font-size:12px;font-weight:700;color:var(--ink);line-height:1.5}
/* A qualification chip carries the status of the TICKET behind it, not just the
   claim. `--indet` is hatched, exactly as .cmp-pill--indet is: held, but nobody
   has recorded an expiry, so currency cannot be confirmed. Telling a scheduler
   somebody is current when nobody knows is the one failure here with a licence
   consequence, so it must never render as the green case. */
.crew-qrow{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:4px}
.crew-q{display:inline-block;margin:0 3px 3px 0;padding:2px 7px;border-radius:5px;
  border:1px solid var(--line);background:#eef2fa;font-size:10.5px;font-weight:900;letter-spacing:.3px}
.crew-q--ok{background:rgba(31,157,85,.12);color:#14663a;border-color:rgba(31,157,85,.35)}
.crew-q--soon{background:rgba(245,138,42,.14);color:#8a4a05;border-color:rgba(245,138,42,.45)}
.crew-q--exp{background:rgba(242,60,0,.12);color:#8f2400;border-color:rgba(242,60,0,.45)}
.crew-q--none{background:transparent;border-style:dashed;color:var(--muted);
  font-weight:800;letter-spacing:0;text-transform:none}
.crew-q--indet{color:#5b2b00;border:1px dashed var(--orange);
  background:repeating-linear-gradient(135deg,rgba(245,138,42,.12) 0 5px,rgba(245,138,42,.02) 5px 10px)}
/* HIRED IN (#260) — we hold NO record for this person, which is neither the
   green of a current ticket nor the red of a lapsed one. Hatched, exactly as
   .crew-q--indet above and .cmp-pill--indet are, because a hatch reads as "no
   answer here" rather than as a grade on a scale. Declared AFTER .crew-q so the
   background and border actually take. */
.crew-q--norec{background:repeating-linear-gradient(135deg,#f4f2ea,#f4f2ea 4px,#eae6d8 4px,#eae6d8 8px);
  border:1px dashed #c9b877;color:#7a6520;font-weight:800;letter-spacing:0;text-transform:none}
.crew-hired{margin-top:18px;padding:16px 18px}
/* Availability, read from the schedule. `idle` is deliberately its own colour
   from `rest`: a rostered rest day is planned, and colouring the two alike is
   what buries the real gaps. */
.crew-av{display:inline-block;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:800;white-space:nowrap}
.crew-av--working{background:rgba(31,157,85,.12);color:#14663a;border:1px solid rgba(31,157,85,.35)}
.crew-av--rest{background:#eef2fa;color:var(--muted);border:1px solid var(--line)}
.crew-av--idle{background:rgba(245,138,42,.14);color:#8a4a05;border:1px solid rgba(245,138,42,.45)}
.crew-av--off{background:rgba(242,60,0,.10);color:#8f2400;border:1px solid rgba(242,60,0,.4)}
.crew-av--nolane{background:transparent;border:1px dashed var(--line);color:var(--muted)}
.crew-big{font-size:15px;font-weight:900;padding:6px 10px;border-radius:8px;display:inline-block;margin:0}
.crew-week{display:grid;grid-template-columns:repeat(auto-fit,minmax(74px,1fr));gap:6px}
.crew-day{padding:8px 6px;border-radius:8px;border:1px solid var(--line);text-align:center;background:#fbfcfe}
.crew-day.is-today{border-color:var(--blue);border-width:2px}
.crew-day span{display:block;font-size:10px;font-weight:900;letter-spacing:.4px;
  text-transform:uppercase;color:var(--muted)}
.crew-day b{display:block;font-size:11.5px;font-weight:800;margin-top:3px}
.crew-day--working{background:rgba(31,157,85,.09)}
.crew-day--idle{background:rgba(245,138,42,.10)}
.crew-day--off{background:rgba(242,60,0,.08)}
.crew-day--rest{background:#eef2fa}
/* Advisories, NOT blocks. The word matters: a scheduler may allocate over any of
   these, which is the settled decision on #263 and the same call the engine
   room's guard makes. */
.crew-adv{display:inline-block;min-width:22px;padding:1px 7px;border-radius:99px;
  text-align:center;font-size:11px;font-weight:900;color:#fff;background:var(--muted)}
.crew-adv--high{background:var(--red)}
.crew-adv--med{background:var(--orange)}
.crew-adv--low{background:var(--muted)}
.crew-advl{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.crew-advl li{padding:9px 11px;border-radius:9px;border:1px solid var(--line);background:#fbfcfe}
.crew-advl li b{display:block;font-size:12.5px;font-weight:900}
.crew-advl li span{display:block;margin-top:2px;font-size:12px;font-weight:700;color:var(--muted);line-height:1.55}
.crew-advl--high{border-left:4px solid var(--red)}
.crew-advl--med{border-left:4px solid var(--orange)}
.crew-advl--low{border-left:4px solid var(--line)}
