/* ==========================================================================
   MASAR v9 — 9-pages-g.css
   Fleet Maintenance (WO · PM), the simplified Fleet / Contractors / Alarms
   lists, and the reorganised vehicle and contractor records.
   Every value is a token from 1-tokens.css.
   ========================================================================== */

/* ---- one list surface: the bordered region every list page scrolls in --- */
.p-fm__wrap,.p-list{
  flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;
  border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);
  display:flex;flex-direction:column;
}
.p-fm__wrap > .m-table-wrap,.p-list > .m-table-wrap{flex:0 0 auto;overflow:visible;background:var(--surface)}
.p-fm__wrap .m-table thead th,.p-list .m-table thead th{position:sticky;top:0;z-index:2}
.p-fm__wrap > .m-empty,.p-list > .m-empty{flex:1 1 auto;border:0}
.p-fm__wrap > .m-pager,.p-list > .m-pager{margin-top:auto}

/* ---- maintenance cells ---------------------------------------------------- */
.p-fm__task{display:flex;flex-direction:column;gap:1px;min-width:0}
.p-fm__task > b{font:var(--ty-body-sm);font-weight:600;color:var(--text);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.p-fm__task > span{font:var(--ty-caption);color:var(--text-3);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.p-fm__tag{display:inline-block;margin-inline-start:6px;padding:1px 5px;border-radius:var(--r-xs);
  font:600 9.5px/14px var(--font);letter-spacing:.03em;
  background:var(--chain-soft);color:var(--chain);vertical-align:middle}
.p-fm__tag--al{background:var(--crit-soft);color:var(--critical)}
.p-fm__due{display:flex;flex-direction:column;gap:3px;min-width:0}
.p-fm__due > b{font:var(--ty-body-sm);font-weight:600;color:var(--text)}
.p-fm__due > span{font:var(--ty-caption);color:var(--text-3)}
.p-fm__due .m-bar{max-width:150px}
.p-fm__unit{display:block;text-align:start;width:100%;text-decoration:none !important}
.p-fm__unit *{text-decoration:none}
.p-fm__unit .m-ent__x b{color:var(--accent)}
.p-red{color:var(--critical) !important;font-weight:600}
.p-muted{color:var(--text-3)}
.p-qc__i b.is-crit{color:var(--critical)}
.p-qc__i b.is-warn{color:var(--warn)}

/* ==========================================================================
   ALARMS v9 — the list page grammar: chip line, one bordered list, pager.
   ISA-18.2: priority is the first column and always a word as well as a
   colour; an alarm nobody has taken carries a bar in its priority colour.
   ========================================================================== */
.p-alm__bar{
  position:sticky;top:0;z-index:3;
  display:flex;align-items:center;gap:8px;min-height:42px;padding:6px 14px;
  background:var(--surface);border-bottom:1px solid var(--line-subtle);
  font:var(--ty-caption);color:var(--text-2);
}
.p-alm__bar > b{font:var(--ty-label);color:var(--accent-press)}
.p-alm__list .m-table thead th{top:42px}
.p-alm__list:focus-visible{box-shadow:inset var(--focus-ring);outline:none}
.p-alm__list #almList{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}
.p-alm__list #almList > .m-pager{margin-top:auto}
.p-alm__list #almList > .m-empty{flex:1 1 auto}
.p-alm__rail{overflow:auto;overscroll-behavior:contain;padding-bottom:2px}
.p-alm__rail > .m-card{flex:0 0 auto}

.p-alm__sev{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;
  font-style:normal;margin-inline-end:1px}
.p-alm__sev--critical{background:var(--crit-soft);color:var(--critical)}
.p-alm__sev--major{background:var(--warn-soft);color:var(--warn)}
.p-alm__sev--minor{background:var(--info-soft);color:var(--info)}
.p-alm__sev--info{background:var(--neutral-soft);color:var(--neutral)}

/* the unacknowledged row: bold and barred at its leading edge */
.m-table tr.is-unack > td:first-child{box-shadow:inset 3px 0 0 var(--rc,var(--crit-fill))}
html[dir="rtl"] .m-table tr.is-unack > td:first-child{box-shadow:inset -3px 0 0 var(--rc,var(--crit-fill))}
.m-table tr.p-alm__r--major{--rc:var(--warn-fill)}
.m-table tr.p-alm__r--minor{--rc:var(--info-fill)}
.m-table tr.p-alm__r--info{--rc:var(--neutral-fill)}
.m-table tr.is-unack .p-alm__cond b{font-weight:700}
.m-table tr:not(.is-unack) .p-alm__cond b{font-weight:550}
.p-alm__cond span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}
.p-alm__rep{font-style:normal;font-weight:700;margin-inline-start:4px}
.p-alm__sort{flex:0 0 auto}
@media (max-width:1280px){ .p-alm__keys{display:none} }
.p-alm__list .m-table-wrap,.p-list .m-table-wrap{overflow:visible;flex:0 0 auto}

/* ==========================================================================
   CONTRACTORS v9 — the league as a table; the firm's record in four tabs
   ========================================================================== */
.p-co9__rank{display:flex;flex-direction:column;align-items:flex-start;gap:1px}
.p-co9__rank > b{font:700 14px/1.1 var(--font);color:var(--text);font-variant-numeric:tabular-nums}
.p-co9__rank .p-muted,.p-co9__rank .p-move{font:600 9.5px/1 var(--font)}
.p-co9__foot{
  display:flex;align-items:center;gap:10px;justify-content:space-between;flex-wrap:wrap;
  padding:8px 14px;border-top:1px solid var(--line-subtle);font:var(--ty-caption);color:var(--text-3);
}
.p-co9__foot .m-demo{margin:0}
.p-warn-t b{color:var(--warn)}
.p-cell-bar{display:flex;align-items:center;gap:8px;justify-content:flex-end}
.p-cell-bar .m-bar{flex:1 1 auto;min-width:40px;max-width:90px}
.p-cell-bar > b{font:650 11.5px/1 var(--font);font-variant-numeric:tabular-nums;min-width:34px;text-align:end}

.p-co9__body{display:flex;flex-direction:column;gap:10px;overflow:hidden !important}
.p-co9__body > .m-stats{flex:0 0 auto}
.p-co9__scroll{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;
  display:flex;flex-direction:column;gap:12px;padding-bottom:2px}
.p-co9__scroll > *{flex:0 0 auto}
.p-co9__ov{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:12px;align-items:start}
.p-co9__ov > .m-card{min-width:0}

.p-co9__att{display:flex;flex-direction:column}
.p-co9__a{display:flex;align-items:center;gap:10px;padding:9px var(--card-pad-lg);
  border-top:1px solid var(--line-subtle);min-height:48px}
.p-co9__a:first-child{border-top:0}
.p-co9__a[role="button"]{cursor:pointer}
.p-co9__a[role="button"]:hover{background:var(--surface-sunken)}
.p-co9__ai{flex:0 0 auto;width:28px;height:28px;border-radius:var(--r-sm);display:grid;place-items:center}
.p-co9__a--crit .p-co9__ai{background:var(--crit-soft);color:var(--critical)}
.p-co9__a--warn .p-co9__ai{background:var(--warn-soft);color:var(--warn)}
.p-co9__ax{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:1px}
.p-co9__ax b{font:var(--ty-body-sm);font-weight:600;color:var(--text)}
.p-co9__ax span{font:var(--ty-caption);color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.p-co9__ov .m-meter{margin-top:var(--s-3)}
@media (max-width:1100px){ .p-co9__ov{grid-template-columns:minmax(0,1fr)} }

.p-co6 > #coDHead{display:none}

/* ==========================================================================
   VEHICLE v9 — the live line on top; one section at a time underneath.
   Overview: the map owns the height, the round sits in a rail beside it.
   ========================================================================== */
.m-page.p-veh9{overflow:hidden}
.p-veh9__sum{
  display:grid;grid-template-columns:minmax(210px,1.25fr) repeat(6,minmax(0,1fr));
  gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;
}
.p-veh9__sum > *{background:var(--surface);min-width:0}
.p-veh9__id{display:flex;align-items:center;gap:10px;padding:10px 14px}
.p-veh9__mk{flex:0 0 auto;width:38px;height:38px;border-radius:var(--r-md);display:grid;place-items:center;
  background:color-mix(in srgb,var(--vc,var(--accent)) 14%,transparent);color:var(--vc,var(--accent))}
.p-veh9__idx{display:flex;flex-direction:column;gap:5px;min-width:0}
.p-veh9__st{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.p-veh9__st .m-pill[data-vtab]{cursor:pointer}
.p-veh9__who{display:flex;align-items:center;gap:5px;font:var(--ty-caption);color:var(--text-2);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.p-veh9__who svg{flex:0 0 auto;opacity:.7}
.p-veh9__t{display:flex;flex-direction:column;gap:3px;padding:9px 12px;justify-content:center}
.p-veh9__tl{font:var(--ty-label-sm);color:var(--text-3);text-transform:uppercase;letter-spacing:.05em;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.p-veh9__tv{font:var(--ty-metric-sm);color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap}
.p-veh9__tv small{font:var(--ty-caption);color:var(--text-3);margin-inline-start:3px}
.p-veh9__ts{font:var(--ty-caption);color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.p-veh9__tb{position:relative;display:block;height:4px;border-radius:var(--r-full);background:var(--surface-sunken);overflow:visible}
.p-veh9__tb > i{position:absolute;inset-block:0;inset-inline-start:0;border-radius:inherit;background:var(--accent)}
.p-veh9__tb > u{position:absolute;top:-3px;bottom:-3px;width:2px;margin-inline-start:-1px;background:var(--text-2);border-radius:1px}
.p-veh9__t.is-warn .p-veh9__tv{color:var(--warn)}
.p-veh9__t.is-warn .p-veh9__tb > i{background:var(--warn-fill)}
.p-veh9__t.is-crit .p-veh9__tv{color:var(--critical)}
.p-veh9__t.is-crit .p-veh9__tb > i{background:var(--crit-fill)}

.p-veh9__body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}
.p-veh9__body.is-scroll{overflow:auto;overscroll-behavior:contain;gap:12px;padding-bottom:2px}
.p-veh9__body.is-scroll > *{flex:0 0 auto}
.p-veh9__ov{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) clamp(300px,24vw,380px);gap:12px}
.p-veh9__mapcard{display:flex;flex-direction:column;min-height:0;overflow:hidden}
.p-veh9__mapcard .p-veh__map{flex:1 1 auto;min-height:220px}
.p-veh9__rail{min-height:0;display:flex;flex-direction:column;gap:12px}
.p-veh9__rail > .m-card{flex:0 0 auto}
.p-veh9__round{flex:1 1 auto !important;min-height:0;display:flex;flex-direction:column;overflow:hidden}
.p-veh9__journey{padding:8px var(--card-pad-lg) 4px;border-bottom:1px solid var(--line-subtle)}
.p-veh9__journey .m-process{gap:2px}
.p-veh9__stops{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;padding-top:6px}
.p-veh9__crew{align-items:start}
.p-veh9__crew .p-kvs--grid{margin-block-start:0}

@media (max-width:1500px){
  .p-veh9__sum{grid-template-columns:minmax(160px,1.1fr) repeat(6,minmax(0,1fr))}
  .p-veh9__t{padding:8px 10px}
  .p-veh9__id{padding:8px 10px;gap:8px}
  .p-veh9__mk{width:32px;height:32px}
}
@media (max-width:1180px){
  .p-veh9__sum{grid-template-columns:repeat(4,minmax(0,1fr))}
  .p-veh9__id{grid-column:1 / -1}
}
@media (max-width:1100px){
  .m-page.p-veh9{overflow:auto}
  .p-veh9__body{overflow:visible;flex:0 0 auto}
  .p-veh9__ov{grid-template-columns:minmax(0,1fr)}
  .p-veh9__mapcard{height:60vh}
  .p-veh9__sum{grid-template-columns:repeat(3,minmax(0,1fr))}
  .m-grid--3.p-veh9__crew{grid-template-columns:minmax(0,1fr)}
}

.p-veh9__mis{display:grid;grid-template-columns:auto 1fr;align-items:baseline;column-gap:8px;row-gap:6px;
  padding:10px var(--card-pad-lg)}
.p-veh9__misl{font:var(--ty-label-sm);color:var(--text-3);text-transform:uppercase;letter-spacing:.05em}
.p-veh9__mis > b{font:var(--ty-body);font-weight:650;color:var(--text)}
.p-veh9__misn{grid-column:2;font:var(--ty-caption);color:var(--text-3);margin-top:-5px}
.p-veh9__misb{grid-column:1 / -1;display:grid;grid-template-columns:repeat(6,1fr);gap:3px}
.p-veh9__misb i{height:5px;border-radius:var(--r-full);background:var(--surface-sunken)}
.p-veh9__misb i.is-done{background:var(--ok-fill)}
.p-veh9__misb i.is-now{background:var(--accent)}
.p-veh9__journey{padding:0;border-bottom:1px solid var(--line-subtle)}
.p-veh9__stops .m-activity__x b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}
.p-veh9__round .m-card__head{flex-wrap:wrap;row-gap:6px}
.m-band__tabs::-webkit-scrollbar{display:none}

/* ==========================================================================
   FLEET MAINTENANCE v9.1 — the stage board, the PM plans, the calendar
   ========================================================================== */
.p-fm9__sep{width:1px;height:22px;background:var(--line);margin-inline:4px;flex:0 0 auto}
.p-fm9__pdot{width:8px;height:8px;border-radius:50%;flex:0 0 auto}
.p-fm9__tf{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px;border-radius:var(--r-md);
  border:1px solid var(--line);background:var(--surface);font:var(--ty-label);color:var(--text-2);cursor:pointer}
.p-fm9__tf:hover{border-color:var(--line-strong);color:var(--text)}
.p-fm9__tf.is-on{border-color:var(--tc);color:var(--text);box-shadow:inset 3px 0 0 var(--tc)}
.p-fm9__tm{display:inline-flex;align-items:center;gap:5px;padding:2px 8px 2px 6px;border-radius:var(--r-full);
  font:600 11px/16px var(--font);color:color-mix(in srgb,var(--tc) 72%,var(--text));
  background:color-mix(in srgb,var(--tc) 12%,transparent);white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.p-fm9__tm svg{flex:0 0 auto}
.p-fm9__who{display:inline-flex;align-items:center;gap:7px}
.p-fm9__who i,.p-fm9__av{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;
  font:700 9.5px/1 var(--font);font-style:normal;color:#fff;background:var(--c-navy-400);flex:0 0 auto}
.p-fm9__av.is-empty{background:var(--surface-sunken);color:var(--text-3);border:1px dashed var(--line-strong)}

/* ---- the stage board ------------------------------------------------ */
.p-fm9__board{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:repeat(6,minmax(216px,1fr));gap:10px;
  overflow-x:auto;overflow-y:hidden;padding-bottom:4px}
.p-fm9__col{display:flex;flex-direction:column;min-height:0;background:var(--surface-sunken);border:1px solid var(--line-subtle);
  border-radius:var(--r-lg);transition:box-shadow var(--t-fast) var(--ease),background var(--t-fast) var(--ease)}
.p-fm9__col.is-over{background:var(--accent-soft);box-shadow:0 0 0 2px var(--accent)}
.p-fm9__ch{display:flex;align-items:center;gap:7px;padding:10px 12px 8px;flex:0 0 auto}
.p-fm9__ch b{font:var(--ty-label);color:var(--text)}
.p-fm9__ch em{font:700 11px/18px var(--font);font-style:normal;padding:0 7px;border-radius:var(--r-full);background:var(--surface);color:var(--text-2)}
.p-fm9__ch small{margin-inline-start:auto;font:var(--ty-caption);color:var(--text-3)}
.p-fm9__cdot{width:22px;height:22px;border-radius:7px;display:grid;place-items:center;background:var(--surface)}
.p-fm9__cdot.is-neutral{color:var(--neutral)}.p-fm9__cdot.is-info{color:var(--info)}.p-fm9__cdot.is-chain{color:var(--chain)}
.p-fm9__cdot.is-live{color:var(--live)}.p-fm9__cdot.is-ok{color:var(--ok)}
.p-fm9__cb{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:2px 8px 10px;display:flex;flex-direction:column;gap:8px}
.p-fm9__card{position:relative;display:flex;flex-direction:column;gap:6px;padding:10px 11px 9px 13px;border-radius:10px;
  background:var(--surface);border:1px solid var(--line-subtle);box-shadow:var(--sh-xs);cursor:grab;
  transition:box-shadow var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}
.p-fm9__card::before{content:'';position:absolute;inset-block:8px;inset-inline-start:0;width:3px;border-radius:0 3px 3px 0;background:var(--pc)}
html[dir="rtl"] .p-fm9__card::before{border-radius:3px 0 0 3px}
.p-fm9__card:hover{box-shadow:var(--sh-md);transform:translateY(-1px)}
.p-fm9__card:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.p-fm9__card.is-drag{opacity:.45}
.p-fm9__card.is-hold{background:repeating-linear-gradient(-45deg,var(--surface),var(--surface) 8px,var(--warn-soft) 8px,var(--warn-soft) 10px)}
.p-fm9__ct{display:flex;align-items:center;gap:6px;font:var(--ty-caption);color:var(--text-3)}
.p-fm9__ct .m-mono{font-size:10.5px}
.p-fm9__due{margin-inline-start:auto;display:inline-flex;align-items:center;gap:3px;white-space:nowrap}
.p-fm9__due.is-late{color:var(--critical);font-weight:650}
.p-fm9__hold{display:inline-flex;align-items:center;gap:3px;color:var(--warn);font-weight:650}
.p-fm9__title{font:600 12.8px/17px var(--font);color:var(--text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.p-fm9__cv{display:flex;align-items:center;gap:6px;font:var(--ty-caption);color:var(--text-2);min-width:0}
.p-fm9__cv span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.p-fm9__cv svg{flex:0 0 auto;opacity:.75}
.p-fm9__cf{display:flex;align-items:center;gap:6px;min-width:0}
.p-fm9__cf .p-fm9__tm{max-width:150px}
.p-fm9__empty{border:1.5px dashed var(--line);border-radius:10px;padding:18px 8px;text-align:center;font:var(--ty-caption);color:var(--text-3)}
.p-fm9__more{border:0;background:none;color:var(--accent);font:var(--ty-label-sm);cursor:pointer;padding:6px}

/* the stage mini-track in the list */
.p-fm9__mini{display:flex;flex-direction:column;gap:4px}
.p-fm9__minib{display:grid;grid-template-columns:repeat(6,1fr);gap:2px;max-width:110px}
.p-fm9__minib i{height:4px;border-radius:2px;background:var(--surface-sunken)}
.p-fm9__minib i.is-done{background:var(--ok-fill)}
.p-fm9__minib i.is-now{background:var(--accent)}
.p-fm9__mini b{font:var(--ty-caption);font-weight:600;color:var(--text-2)}

/* the stepper inside the record */
.p-fm9__steps{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;padding:12px 12px 10px;background:var(--surface);
  border:1px solid var(--line-subtle);border-radius:12px}
.p-fm9__step{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;font:var(--ty-caption);color:var(--text-3)}
.p-fm9__step::before{content:'';position:absolute;top:13px;inset-inline-start:-50%;width:100%;height:2px;background:var(--line);z-index:0}
.p-fm9__step:first-child::before{display:none}
.p-fm9__step i{position:relative;z-index:1;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;
  font:700 11px/1 var(--font);font-style:normal;background:var(--surface);border:2px solid var(--line-strong);color:var(--text-3)}
.p-fm9__step.is-done::before,.p-fm9__step.is-now::before{background:var(--ok-fill)}
.p-fm9__step.is-done i{background:var(--ok-fill);border-color:var(--ok-fill);color:#fff}
.p-fm9__step.is-now i{border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}
.p-fm9__step.is-now span{color:var(--text);font-weight:650}

/* ---- PM plans ------------------------------------------------------- */
.p-fm9__plans{flex:1 1 auto;min-height:0;overflow:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
  gap:12px;align-content:start;padding-bottom:4px}
.p-fm9__plan{position:relative;display:flex;flex-direction:column;gap:10px;padding:14px 14px 12px;border-radius:14px;
  background:var(--surface);border:1px solid var(--line);cursor:pointer;overflow:hidden;
  transition:box-shadow var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease)}
.p-fm9__plan::before{content:'';position:absolute;inset-inline:0;top:0;height:3px;background:var(--tc)}
.p-fm9__plan:hover{box-shadow:var(--sh-md);border-color:var(--line-strong)}
.p-fm9__plan.is-off{opacity:.62}
.p-fm9__plan header{display:flex;align-items:flex-start;gap:10px}
.p-fm9__pli{flex:0 0 auto;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;
  background:color-mix(in srgb,var(--tc) 14%,transparent);color:var(--tc)}
.p-fm9__ph{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}
.p-fm9__ph em{font:650 10px/13px var(--font);font-style:normal;letter-spacing:.07em;text-transform:uppercase;color:color-mix(in srgb,var(--tc) 70%,var(--text))}
.p-fm9__ph b{font:650 14px/19px var(--font);color:var(--text)}
.p-fm9__pf{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.p-fm9__pf li{display:flex;align-items:flex-start;gap:7px;font:var(--ty-body-sm);color:var(--text-2)}
.p-fm9__pf svg{flex:0 0 auto;margin-top:2px;opacity:.6}
.p-fm9__plan footer{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding-top:10px;border-top:1px solid var(--line-subtle)}
.p-fm9__plan--add{align-items:center;justify-content:center;text-align:center;border:1.5px dashed var(--line-strong);
  background:var(--surface-subtle);min-height:190px;font:inherit;color:inherit}
.p-fm9__plan--add::before{display:none}
.p-fm9__plan--add b{font:650 14px/19px var(--font);color:var(--text)}
.p-fm9__plan--add span{font:var(--ty-caption);color:var(--text-3);max-width:240px}
.p-fm9__addi{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent)}
.p-fm9__pl{display:flex;align-items:center;gap:10px;min-width:0}
.p-fm9__pl .p-fm9__pli{width:28px;height:28px;border-radius:8px}
.p-fm9__jp{display:inline-block;margin-inline-start:6px;font:650 10.5px/1 var(--font);color:var(--live)}

/* the checklist of stages */
.p-fm9__prog .m-bar{height:8px}
.p-fm9__check{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;background:var(--surface);
  border:1px solid var(--line-subtle);border-radius:12px;overflow:hidden}
.p-fm9__check li + li{border-top:1px solid var(--line-subtle)}
.p-fm9__check label{display:flex;align-items:center;gap:10px;padding:11px 14px;cursor:pointer}
.p-fm9__check.is-read label{cursor:default}
.p-fm9__check input{position:absolute;opacity:0;pointer-events:none}
.p-fm9__cbx{flex:0 0 auto;width:20px;height:20px;border-radius:6px;border:2px solid var(--line-strong);display:grid;place-items:center;color:transparent;
  transition:all var(--t-fast) var(--ease)}
.p-fm9__check li.is-done .p-fm9__cbx{background:var(--ok-fill);border-color:var(--ok-fill);color:#fff}
.p-fm9__check input:focus-visible + .p-fm9__cbx{box-shadow:var(--focus-ring)}
.p-fm9__sn{flex:0 0 auto;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--surface-sunken);
  font:700 10.5px/1 var(--font);color:var(--text-2)}
.p-fm9__st{flex:1 1 auto;font:var(--ty-body);color:var(--text)}
.p-fm9__check li.is-done .p-fm9__st{color:var(--text-3);text-decoration:line-through}
.p-fm9__check em{font:var(--ty-caption);font-style:normal;color:var(--text-3);white-space:nowrap}

/* the plan builder */
.p-fm9__pb{display:flex;flex-direction:column;gap:16px}
.p-fm9__types{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:6px}
.p-fm9__type{display:flex;align-items:center;gap:7px;padding:8px 10px;border-radius:10px;border:1px solid var(--line);
  background:var(--surface);font:var(--ty-label);color:var(--text-2);cursor:pointer;text-align:start}
.p-fm9__type svg{color:var(--tc);flex:0 0 auto}
.p-fm9__type:hover{border-color:var(--line-strong)}
.p-fm9__type.is-on{border-color:var(--tc);background:color-mix(in srgb,var(--tc) 10%,var(--surface));color:var(--text);box-shadow:0 0 0 1px var(--tc)}
.p-fm9__tgm{display:flex;flex-wrap:wrap;gap:6px}
.p-fm9__tgb{height:30px;padding:0 12px;border-radius:var(--r-full);border:1px solid var(--line);background:var(--surface);
  font:var(--ty-label);color:var(--text-2);cursor:pointer}
.p-fm9__tgb.is-on{background:var(--accent);border-color:var(--accent);color:var(--accent-on)}
.p-fm9__tgv{margin-top:4px}
.p-fm9__tgv[hidden]{display:none}
.p-fm9__pick{margin-top:8px;max-height:220px;overflow:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:4px;
  padding:6px;border:1px solid var(--line);border-radius:10px;background:var(--surface-subtle)}
.p-fm9__pk{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;cursor:pointer;font:var(--ty-body-sm);color:var(--text-2)}
.p-fm9__pk:hover{background:var(--surface)}
.p-fm9__pk[hidden]{display:none}
.p-fm9__pk b{color:var(--text);font-weight:650}
.p-fm9__pk em{display:block;font:var(--ty-caption);font-style:normal;color:var(--text-3)}
.p-fm9__pkn{display:block;margin-top:6px;font:var(--ty-caption);color:var(--text-3)}
.p-fm9__stg{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}
.p-fm9__sr{display:flex;align-items:center;gap:6px}
.p-fm9__sr .m-input{flex:1 1 auto}

/* ---- the calendar --------------------------------------------------- */
.p-cal{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) clamp(290px,23vw,360px);gap:12px}
.p-cal__main{min-height:0;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.p-cal__head{display:flex;align-items:center;gap:6px;padding:10px 12px;border-bottom:1px solid var(--line-subtle)}
.p-cal__head h3{font:680 16px/22px var(--font);color:var(--text);min-width:150px;text-align:center}
.p-cal__key{display:inline-flex;align-items:center;gap:4px;font:var(--ty-caption);color:var(--text-3)}
.p-cal__key i{width:9px;height:9px;border-radius:3px;background:var(--ec)}
.p-cal__key i.is-wo{background:var(--crit-fill);margin-inline-start:10px}
.p-cal__key span{margin-inline:3px}
.p-cal__grid{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));
  grid-template-rows:auto repeat(6,minmax(0,1fr));background:var(--line-subtle);gap:1px}
.p-cal__dh{background:var(--surface-subtle);padding:6px 8px;font:650 10.5px/14px var(--font);letter-spacing:.06em;text-transform:uppercase;color:var(--text-3)}
.p-cal__d{position:relative;background:var(--surface);padding:5px 6px 4px;display:flex;flex-direction:column;gap:3px;min-height:0;overflow:hidden;cursor:pointer;
  transition:background var(--t-fast) var(--ease)}
.p-cal__d:hover{background:var(--surface-subtle)}
.p-cal__d.is-out{background:var(--surface-subtle)}
.p-cal__d.is-out .p-cal__dn b{color:var(--text-3)}
.p-cal__d.is-fri{background:color-mix(in srgb,var(--surface-sunken) 55%,var(--surface))}
.p-cal__d.is-sel{box-shadow:inset 0 0 0 2px var(--accent);z-index:1}
.p-cal__dn{display:flex;align-items:center;gap:5px}
.p-cal__dn b{font:650 12px/20px var(--font);color:var(--text);min-width:22px;height:22px;display:grid;place-items:center;border-radius:50%}
.p-cal__d.is-today .p-cal__dn b{background:var(--accent);color:var(--accent-on)}
.p-cal__late{width:6px;height:6px;border-radius:50%;background:var(--crit-fill)}
.p-cal__load{margin-inline-start:auto;font:650 10px/16px var(--font);padding:0 6px;border-radius:var(--r-full);background:var(--surface-sunken);color:var(--text-2)}
.p-cal__evs{display:flex;flex-direction:column;gap:2px;min-height:0;position:relative;z-index:1}
.p-cal__ev{display:flex;align-items:center;gap:4px;width:100%;padding:1px 5px;border:0;border-radius:5px;cursor:pointer;text-align:start;
  font:600 10.5px/16px var(--font);color:color-mix(in srgb,var(--ec) 60%,var(--text));background:color-mix(in srgb,var(--ec) 13%,transparent);
  box-shadow:inset 2px 0 0 var(--ec)}
html[dir="rtl"] .p-cal__ev{box-shadow:inset -2px 0 0 var(--ec)}
.p-cal__ev span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.p-cal__ev svg{flex:0 0 auto}
.p-cal__ev:hover{filter:brightness(.96)}
.p-cal__ev.is-wo{background:color-mix(in srgb,var(--ec) 16%,var(--surface));color:var(--text)}
.p-cal__ev.is-late{outline:1px solid var(--crit-fill);color:var(--critical)}
.p-cal__ev.is-done{opacity:.55;text-decoration:line-through}
.p-cal__ev.is-active{background:var(--live-soft);color:var(--live)}
.p-cal__more{font:600 10px/14px var(--font);color:var(--text-3);padding-inline-start:4px}
.p-cal__heat{position:absolute;inset:auto 0 0 0;height:3px;background:var(--accent);opacity:calc(var(--h) * .9)}
.p-cal__rail{min-height:0;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.p-ag__head{position:relative;display:flex;flex-direction:column;gap:2px;padding:14px 16px 12px;border-bottom:1px solid var(--line-subtle);
  background:linear-gradient(180deg,var(--accent-soft),var(--surface))}
.p-ag__head em{font:650 10px/13px var(--font);font-style:normal;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-press)}
.p-ag__head b{font:680 16px/21px var(--font);color:var(--text)}
.p-ag__head span{font:var(--ty-caption);color:var(--text-2)}
.p-ag__load{display:flex;flex-direction:column;gap:6px;padding:10px 16px;border-bottom:1px solid var(--line-subtle)}
.p-ag__lr{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto;align-items:center;gap:8px}
.p-ag__lb{height:6px;border-radius:3px;background:var(--surface-sunken);overflow:hidden}
.p-ag__lb i{display:block;height:100%;border-radius:3px}
.p-ag__lr > b{font:600 10.5px/1 var(--font);color:var(--text-2);white-space:nowrap}
.p-ag__list{flex:1 1 auto;min-height:0;overflow:auto;padding:4px 10px 10px}
.p-ag__list h5{margin:10px 6px 6px;font:650 10.5px/14px var(--font);letter-spacing:.07em;text-transform:uppercase;color:var(--text-3)}
.p-ag__i{display:flex;align-items:center;gap:9px;padding:8px;border-radius:10px;cursor:pointer}
.p-ag__i:hover{background:var(--surface-sunken)}
.p-ag__i.is-done{opacity:.6}
.p-ag__ic{flex:0 0 auto;width:30px;height:30px;border-radius:9px;display:grid;place-items:center;
  background:color-mix(in srgb,var(--ec) 14%,transparent);color:var(--ec)}
.p-ag__x{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:1px}
.p-ag__x b{font:600 12.5px/17px var(--font);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.p-ag__x span{font:var(--ty-caption);color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.p-ag__foot{padding:10px 12px;border-top:1px solid var(--line-subtle)}
.p-ag__foot .m-btn{width:100%;justify-content:center}
@media (max-width:1180px){
  .p-cal{grid-template-columns:minmax(0,1fr)}
  .p-cal__rail{max-height:340px}
  .m-page.p-fm9{overflow:auto}
}

.p-cal__ev[hidden],.p-cal__more[hidden]{display:none}
.p-cal__d.is-clipped .p-cal__load{background:var(--accent-soft);color:var(--accent-press)}

/* ---- v9.3 Requests & Orders in the Fleet Maintenance grammar ---------- */
.p-rq9__main{display:flex;flex-direction:column;min-height:0}
.p-rq9__body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:8px}
.p-rq9__body > .p-fm9__board,.p-rq9__body > .p-list{flex:1 1 auto;min-height:0}
.p-rq9__board--4{grid-template-columns:repeat(4,minmax(240px,1fr))}
.p-rq9__sep{width:1px;height:22px;background:var(--line);margin-inline:4px;flex:0 0 auto}
.p-rq9__urg{display:inline-flex;align-items:center;padding:0 6px;height:16px;border-radius:var(--r-full);
  background:var(--crit-soft);color:var(--critical);font:700 10px/16px var(--font);letter-spacing:.02em;text-transform:uppercase}
.p-rq9__veh{display:inline-flex;align-items:center;gap:4px;font:600 11px/1 var(--font-mono, var(--font));color:var(--text-2);
  padding:3px 6px;border-radius:var(--r-sm);background:var(--surface-sunken)}
.p-rq9__mv{display:grid;place-items:center;width:22px;height:22px;border:0;border-radius:6px;background:transparent;color:var(--text-3);cursor:pointer;opacity:0;transition:opacity var(--t-fast) var(--ease)}
.p-fm9__card:hover .p-rq9__mv,.p-rq9__mv:focus-visible{opacity:1}
.p-rq9__mv:hover{background:var(--surface-sunken);color:var(--text)}
.p-rq9__prog{display:flex;align-items:center;gap:8px;font:var(--ty-caption);color:var(--text-3)}
.p-rq9__prog i{flex:1 1 auto;height:4px;border-radius:2px;background:var(--surface-sunken);overflow:hidden}
.p-rq9__prog b{display:block;height:100%;background:var(--ok-fill);border-radius:2px}
.p-fm9__card.is-dragging{opacity:.45}
.p-rq9__body .p-bulk{flex:0 0 auto}
.m-table .p-fm9__minib{display:grid !important;-webkit-line-clamp:unset;min-width:90px}
.p-rq9__veh{white-space:nowrap;flex:0 0 auto}
