/* mfgfrontline — §5 APPLICATION SURFACE stylesheet.
   Generated by tools/gate/app_migrate.py from the live bytes.
   Every rule is a descendant of .ts-app[data-app="mfgfrontline"] (§5 rule 3, container scoping —
   NOT a prefix rule: these apps name their classes inside their own JS).
   Every value is a §2 token (§5 rule 2). 2 dark-scheme block(s)
   neutralised per §1.1. */
.ts-app[data-app="mfgfrontline"]{--bg:var(--surface);--bg2:var(--surface-alt);--panel:var(--surface);--panel2:var(--surface-alt);--line:var(--hairline);--line2:var(--hairline);--faint:var(--muted);--accent:var(--brand);--accent-dim:var(--brand);--biz:var(--heading);--trust:var(--brand);--risk:var(--muted);--good:var(--verdict-positive);--neutral:var(--verdict-caution);--poor:var(--verdict-risk);--pos:var(--verdict-positive);--neg:var(--verdict-risk);--r:var(--radius-card);--track-bg:var(--surface-alt);--mono:var(--font-body);--disp:var(--font-heading);--body:var(--ink);--logo-tile:var(--heading);--logo-check:var(--surface);--logo-step:var(--brand);--logo-word:var(--heading);--logo-accent:var(--brand)}
.ts-app[data-app="mfgfrontline"] .brand .mark{width:38px;height:38px;flex:none}
.ts-app[data-app="mfgfrontline"] .brand .wm{font-family:var(--font-body);font-weight:700;font-size:var(--text-21);color:var(--logo-word);letter-spacing:0.06em}
.ts-app[data-app="mfgfrontline"] .brand .wm .ac{color:var(--logo-word)}
.ts-app[data-app="mfgfrontline"] .m-tile{fill:var(--logo-tile)}
.ts-app[data-app="mfgfrontline"] .m-check{fill:none;stroke:var(--logo-check);stroke-width:9;stroke-linecap:round;stroke-linejoin:round}
.ts-app[data-app="mfgfrontline"] .m-step{fill:var(--logo-step)}
.ts-app[data-app="mfgfrontline"] h2.title, .ts-app[data-app="mfgfrontline"] .verdict{text-transform:none}
.ts-app[data-app="mfgfrontline"] .eyebrow{color:var(--accent)}
.ts-app[data-app="mfgfrontline"] .eyebrow::before{background:var(--accent)}
.ts-app[data-app="mfgfrontline"], .ts-app[data-app="mfgfrontline"] *{box-sizing:border-box}
.ts-app[data-app="mfgfrontline"] .wrap{position:relative;z-index:2;max-width:1000px;margin:0 auto;padding:var(--space-32) var(--space-24) var(--space-96)}
.ts-app[data-app="mfgfrontline"] .brand{display:flex;align-items:center;gap:var(--space-12)}
.ts-app[data-app="mfgfrontline"] .chevs{display:flex;gap:var(--space-4)}
.ts-app[data-app="mfgfrontline"] .chev{width:0;height:0;border-top:9px solid transparent;border-bottom:9px solid transparent;border-left:11px solid var(--accent)}
.ts-app[data-app="mfgfrontline"] .chev:nth-child(2){opacity:.55}
.ts-app[data-app="mfgfrontline"] .chev:nth-child(3){opacity:.25}
.ts-app[data-app="mfgfrontline"] .brand .name{font-family:var(--font-body);font-size:var(--text-21);letter-spacing:0.06em;text-transform:uppercase;line-height:1}
.ts-app[data-app="mfgfrontline"] .brand .name span{color:var(--accent)}
.ts-app[data-app="mfgfrontline"] .event-tag{font-family:var(--font-body);font-size:var(--text-14);letter-spacing:0.06em;text-transform:uppercase;color:var(--faint);border:1px solid var(--line2);padding:var(--space-4) var(--space-12);border-radius:var(--radius-pill)}
.ts-app[data-app="mfgfrontline"] .stage{animation:fadeUp .5s ease both}
@keyframes fadeUp{
  from{opacity:0;transform:translateY(14px)}
  to{opacity:1;transform:none}
}
.ts-app[data-app="mfgfrontline"] .eyebrow{font-family:var(--font-body);font-size:var(--text-14);letter-spacing:0.06em;text-transform:uppercase;color:var(--accent-dim);margin:0 0 var(--space-12)}
.ts-app[data-app="mfgfrontline"] h2.title{font-family:var(--font-body);font-weight:700;text-transform:uppercase;letter-spacing:0.06em;line-height:.95;margin:0 0 var(--space-16);font-size:var(--text-51)}
.ts-app[data-app="mfgfrontline"] h2.title .lo{color:var(--faint)}
.ts-app[data-app="mfgfrontline"] .lede{font-size:var(--text-17);color:var(--muted);max-width:64ch;margin:0 0 var(--space-24)}
.ts-app[data-app="mfgfrontline"] .lede strong{color:var(--ink);font-weight:700}
.ts-app[data-app="mfgfrontline"] .panel{border:1px solid var(--line);border-radius:var(--radius-card);padding:var(--space-24)}
.ts-app[data-app="mfgfrontline"] .axes{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-12);margin:var(--space-24) 0}
@media(max-width:680px){
  .ts-app[data-app="mfgfrontline"] .axes{grid-template-columns:1fr}
}
.ts-app[data-app="mfgfrontline"] .axe{border:1px solid var(--line);border-radius:var(--radius-card);padding:var(--space-16) var(--space-16);background:var(--panel)}
.ts-app[data-app="mfgfrontline"] .axe .dot{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:var(--space-8);vertical-align:middle}
.ts-app[data-app="mfgfrontline"] .axe h2{font-family:var(--font-body);font-size:var(--text-14);letter-spacing:0.06em;text-transform:uppercase;margin:0 0 var(--space-4);color:var(--ink)}
.ts-app[data-app="mfgfrontline"] .axe p{margin:0;font-size:var(--text-14);color:var(--muted);line-height:1.45}
.ts-app[data-app="mfgfrontline"] .btn{font-family:var(--font-body);font-weight:700;letter-spacing:0.06em;text-transform:uppercase;font-size:var(--text-14);background:var(--accent);color:var(--surface);border:none;border-radius:var(--radius-pill);padding:var(--space-16) var(--space-32);cursor:pointer;transition:transform .15s ease, box-shadow .15s ease, background .15s}
.ts-app[data-app="mfgfrontline"] .btn:hover{transform:translateY(-2px)}
.ts-app[data-app="mfgfrontline"] .btn:active{transform:translateY(0)}
.ts-app[data-app="mfgfrontline"] .btn[disabled]{background:var(--line2);color:var(--faint);cursor:not-allowed;transform:none}
.ts-app[data-app="mfgfrontline"] .btn.ghost{background:transparent;color:var(--muted);border:1px solid var(--line2)}
.ts-app[data-app="mfgfrontline"] .actions{display:flex;gap:var(--space-12);align-items:center;flex-wrap:wrap;margin-top:var(--space-8)}
.ts-app[data-app="mfgfrontline"] .rail{display:flex;align-items:center;gap:var(--space-8);margin-bottom:var(--space-24);font-family:var(--font-body);font-size:var(--text-14);letter-spacing:0.06em;text-transform:uppercase;color:var(--faint)}
.ts-app[data-app="mfgfrontline"] .rail .seg{flex:1;height:4px;border-radius:var(--radius-card);background:var(--line)}
.ts-app[data-app="mfgfrontline"] .rail .seg.on{background:var(--accent)}
.ts-app[data-app="mfgfrontline"] .rail .lbl{white-space:nowrap}
.ts-app[data-app="mfgfrontline"] .board-head{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-12);flex-wrap:wrap;margin-bottom:var(--space-8)}
.ts-app[data-app="mfgfrontline"] .counter{font-family:var(--font-body);font-size:var(--text-41);line-height:1;letter-spacing:0.06em}
.ts-app[data-app="mfgfrontline"] .counter span{color:var(--accent)}
.ts-app[data-app="mfgfrontline"] .counter small{font-family:var(--font-body);font-size:var(--text-14);color:var(--muted);letter-spacing:0.06em;display:block;font-weight:600;margin-top:var(--space-4)}
.ts-app[data-app="mfgfrontline"] .reqs{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12);margin:var(--space-16) 0 var(--space-24)}
@media(max-width:720px){
  .ts-app[data-app="mfgfrontline"] .reqs{grid-template-columns:1fr}
}
.ts-app[data-app="mfgfrontline"] .req{position:relative;border:1px solid var(--line);border-radius:var(--radius-card);padding:var(--space-16) var(--space-16) var(--space-16);background:var(--panel);cursor:pointer;transition:border-color .15s, background .15s, transform .12s;overflow:hidden}
@media (hover:hover){
  .ts-app[data-app="mfgfrontline"] .req:hover{border-color:var(--line2);transform:translateY(-2px)}
}
.ts-app[data-app="mfgfrontline"] .req.sel{border-color:var(--accent)}
.ts-app[data-app="mfgfrontline"] .req .rank{position:absolute;top:13px;right:13px;width:30px;height:30px;border-radius:50%;border:1.5px solid var(--line2);display:flex;align-items:center;justify-content:center;font-family:var(--font-body);font-weight:700;font-size:var(--text-14);color:var(--faint);transition:.15s}
.ts-app[data-app="mfgfrontline"] .req.sel .rank{background:var(--accent);color:var(--surface);border-color:var(--accent)}
.ts-app[data-app="mfgfrontline"] .req .rid{font-family:var(--font-body);font-size:var(--text-14);color:var(--faint);letter-spacing:0.06em}
.ts-app[data-app="mfgfrontline"] .req h4{margin:var(--space-4) 0 var(--space-8);font-size:var(--text-17);font-weight:800;letter-spacing:0.06em;max-width:86%}
.ts-app[data-app="mfgfrontline"] .meta{display:flex;flex-wrap:wrap;gap:var(--space-8) var(--space-12);font-size:var(--text-14);color:var(--muted);margin-bottom:var(--space-8)}
.ts-app[data-app="mfgfrontline"] .meta b{color:var(--ink);font-weight:600}
.ts-app[data-app="mfgfrontline"] .stage-pill{display:inline-block;font-family:var(--font-body);font-size:var(--text-14);letter-spacing:0.06em;text-transform:uppercase;padding:var(--space-4) var(--space-8);border-radius:var(--radius-pill);border:1px solid var(--line2);color:var(--muted)}
.ts-app[data-app="mfgfrontline"] .note{font-size:var(--text-14);color:var(--muted);line-height:1.45;border-top:1px dashed var(--line2);padding-top:var(--space-8);margin-top:0}
.ts-app[data-app="mfgfrontline"] .badge{display:inline-flex;align-items:center;gap:var(--space-4);font-family:var(--font-body);font-size:var(--text-14);letter-spacing:0.06em;text-transform:uppercase;padding:var(--space-4) var(--space-8);border-radius:var(--radius-pill)}
.ts-app[data-app="mfgfrontline"] .badge::before{content:"";width:7px;height:7px;border-radius:50%}
.ts-app[data-app="mfgfrontline"] .b-good{color:var(--good);background:color-mix(in srgb, var(--brand) 10%, transparent)}
.ts-app[data-app="mfgfrontline"] .b-good::before{background:var(--good)}
.ts-app[data-app="mfgfrontline"] .b-neutral{color:var(--neutral);background:color-mix(in srgb, var(--verdict-caution) 6%, transparent)}
.ts-app[data-app="mfgfrontline"] .b-neutral::before{background:var(--neutral)}
.ts-app[data-app="mfgfrontline"] .b-poor{color:var(--poor);background:color-mix(in srgb, var(--verdict-risk) 6%, transparent)}
.ts-app[data-app="mfgfrontline"] .b-poor::before{background:var(--poor)}
.ts-app[data-app="mfgfrontline"] .res{border:1px solid var(--line);border-radius:var(--radius-card);padding:var(--space-16) var(--space-16);margin-bottom:var(--space-12);background:var(--panel);display:flex;gap:var(--space-16);align-items:flex-start}
.ts-app[data-app="mfgfrontline"] .res .tag{font-family:var(--font-body);font-size:var(--text-14);letter-spacing:0.06em;text-transform:uppercase;padding:var(--space-4) var(--space-8);border-radius:var(--radius-pill);white-space:nowrap;margin-top:0}
.ts-app[data-app="mfgfrontline"] .tag.worked{color:var(--accent);background:color-mix(in srgb, var(--heading) 10%, transparent);border:1px solid color-mix(in srgb, var(--heading) 25%, transparent)}
.ts-app[data-app="mfgfrontline"] .tag.skipped{color:var(--faint);background:color-mix(in srgb, var(--heading) 4%, transparent);border:1px solid var(--line2)}
.ts-app[data-app="mfgfrontline"] .res .body h5{margin:0 0 var(--space-4);font-size:var(--text-14);font-weight:800}
.ts-app[data-app="mfgfrontline"] .res .body p{margin:0 0 var(--space-8);font-size:var(--text-14);color:var(--muted);line-height:1.45}
.ts-app[data-app="mfgfrontline"] .chips{display:flex;gap:var(--space-8);flex-wrap:wrap}
.ts-app[data-app="mfgfrontline"] .chip{font-family:var(--font-body);font-size:var(--text-14);font-weight:700;padding:var(--space-4) var(--space-8);border-radius:var(--radius-pill);letter-spacing:0.06em;display:inline-flex;gap:var(--space-4);align-items:center}
.ts-app[data-app="mfgfrontline"] .chip .k{opacity:.6;font-weight:400}
.ts-app[data-app="mfgfrontline"] .chip.cp{color:var(--pos);background:color-mix(in srgb, var(--brand) 10%, transparent)}
.ts-app[data-app="mfgfrontline"] .chip.cn{color:var(--neg);background:color-mix(in srgb, var(--verdict-risk) 6%, transparent)}
.ts-app[data-app="mfgfrontline"] .chip.cz{color:var(--faint);background:color-mix(in srgb, var(--heading) 5%, transparent)}
.ts-app[data-app="mfgfrontline"] .scoreboard{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-12);margin-bottom:var(--space-24)}
@media(max-width:680px){
  .ts-app[data-app="mfgfrontline"] .scoreboard{grid-template-columns:1fr}
}
.ts-app[data-app="mfgfrontline"] .sb{border:1px solid var(--line);border-radius:var(--radius-card);padding:var(--space-12) var(--space-12);background:var(--panel)}
.ts-app[data-app="mfgfrontline"] .sb .top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--space-8)}
.ts-app[data-app="mfgfrontline"] .sb .lab{font-family:var(--font-body);font-size:var(--text-14);letter-spacing:0.06em;text-transform:uppercase;color:var(--muted)}
.ts-app[data-app="mfgfrontline"] .sb .val{font-family:var(--font-body);font-weight:700;font-size:var(--text-17)}
.ts-app[data-app="mfgfrontline"] .track{height:7px;border-radius:var(--radius-card);background:var(--track-bg);overflow:hidden;border:1px solid var(--line)}
.ts-app[data-app="mfgfrontline"] .fill{height:100%;width:0;border-radius:var(--radius-card);transition:width .8s cubic-bezier(.2,.7,.2,1)}
.ts-app[data-app="mfgfrontline"] .sc-num{font-family:var(--font-body);font-size:var(--text-14);letter-spacing:0.06em;text-transform:uppercase;color:var(--accent-dim);margin-bottom:var(--space-8)}
.ts-app[data-app="mfgfrontline"] .sc-role{font-family:var(--font-body);font-size:var(--text-14);letter-spacing:0.06em;color:var(--faint);text-transform:uppercase;margin-bottom:var(--space-4)}
.ts-app[data-app="mfgfrontline"] .sc-prompt{font-size:var(--text-17);color:var(--ink);line-height:1.5;margin:0 0 var(--space-16);font-weight:500}
.ts-app[data-app="mfgfrontline"] .opts{display:flex;flex-direction:column;gap:var(--space-12)}
.ts-app[data-app="mfgfrontline"] .opt{text-align:left;border:1px solid var(--line);background:var(--panel);border-radius:var(--radius-card);padding:var(--space-16) var(--space-16);cursor:pointer;transition:border-color .15s, background .15s, transform .12s;display:flex;gap:var(--space-12);align-items:flex-start;color:var(--ink);font:inherit}
@media (hover:hover){
  .ts-app[data-app="mfgfrontline"] .opt:hover{border-color:var(--accent);transform:translateX(3px)}
}
.ts-app[data-app="mfgfrontline"] .opt .key{font-family:var(--font-body);font-size:var(--text-17);color:var(--accent);line-height:1.2;min-width:18px}
.ts-app[data-app="mfgfrontline"] .opt .txt{font-size:var(--text-14);line-height:1.45}
.ts-app[data-app="mfgfrontline"] .opt[disabled]{cursor:default;opacity:.4}
.ts-app[data-app="mfgfrontline"] .opt.picked{border-color:var(--accent);opacity:1}
.ts-app[data-app="mfgfrontline"] .opt[disabled]:hover{transform:none;border-color:var(--line)}
.ts-app[data-app="mfgfrontline"] .opt.picked:hover{transform:none}
.ts-app[data-app="mfgfrontline"] .outcome{margin-top:var(--space-16);border:1px solid var(--line2);border-radius:var(--radius-card);padding:var(--space-16) var(--space-16);background:var(--bg2);animation:fadeUp .35s ease both}
.ts-app[data-app="mfgfrontline"] .outcome .oh{font-family:var(--font-body);font-size:var(--text-14);letter-spacing:0.06em;text-transform:uppercase;color:var(--faint);margin-bottom:var(--space-8)}
.ts-app[data-app="mfgfrontline"] .outcome p{margin:0 0 var(--space-12);font-size:var(--text-14);color:var(--muted);line-height:1.5}
.ts-app[data-app="mfgfrontline"] .card-final{border:1px solid var(--line2);border-radius:var(--radius-card);padding:var(--space-32) var(--space-24);position:relative;overflow:hidden}
.ts-app[data-app="mfgfrontline"] .verdict-eyebrow{font-family:var(--font-body);font-size:var(--text-14);letter-spacing:0.06em;text-transform:uppercase;color:var(--accent-dim);margin-bottom:var(--space-8)}
.ts-app[data-app="mfgfrontline"] .verdict{font-family:var(--font-body);font-weight:700;text-transform:uppercase;line-height:.92;font-size:var(--text-51);margin:0}
.ts-app[data-app="mfgfrontline"] .verdict .accent{color:var(--accent)}
.ts-app[data-app="mfgfrontline"] .verdict-sub{font-size:var(--text-17);color:var(--muted);margin:var(--space-8) 0 var(--space-4);max-width:56ch}
.ts-app[data-app="mfgfrontline"] .overall{display:flex;align-items:baseline;gap:var(--space-8);flex-wrap:wrap;margin:var(--space-16) 0 var(--space-8)}
.ts-app[data-app="mfgfrontline"] .overall .pctile{font-family:var(--font-body);font-weight:700;font-size:var(--text-14);letter-spacing:0.06em;color:var(--accent);background:color-mix(in srgb, var(--heading) 10%, transparent);border:1px solid color-mix(in srgb, var(--heading) 32%, transparent);padding:var(--space-4) var(--space-12);border-radius:var(--radius-pill);align-self:center;margin-left:var(--space-4)}
.ts-app[data-app="mfgfrontline"] .overall .pctile .est{font-weight:400;font-size:var(--text-14);letter-spacing:0.06em;color:var(--faint);margin-left:var(--space-4);text-transform:uppercase}
.ts-app[data-app="mfgfrontline"] .pctcap{font-family:var(--font-body);font-size:var(--text-14);letter-spacing:0.06em;color:var(--faint);margin:var(--space-4) 0 0}
.ts-app[data-app="mfgfrontline"] .share{margin-top:var(--space-24);border-top:1px solid var(--line);padding-top:var(--space-24)}
.ts-app[data-app="mfgfrontline"] .share h4{font-family:var(--font-body);font-size:var(--text-14);letter-spacing:0.06em;text-transform:uppercase;color:var(--faint);margin:0 0 var(--space-12)}
.ts-app[data-app="mfgfrontline"] .share-row{display:flex;gap:var(--space-8);flex-wrap:wrap}
.ts-app[data-app="mfgfrontline"] .sbtn{display:inline-flex;align-items:center;gap:var(--space-8);font-family:var(--font-body);font-weight:700;font-size:var(--text-14);letter-spacing:0.06em;text-transform:uppercase;padding:var(--space-12) var(--space-16);border-radius:var(--radius-pill);cursor:pointer;border:1px solid var(--line2);background:transparent;color:var(--ink);transition:transform .15s, border-color .15s, box-shadow .15s}
.ts-app[data-app="mfgfrontline"] .sbtn:hover{border-color:var(--accent);transform:translateY(-2px)}
.ts-app[data-app="mfgfrontline"] .sbtn.primary{background:var(--accent);color:var(--surface);border-color:var(--accent)}
.ts-app[data-app="mfgfrontline"] .sbtn svg{width:18px;height:18px;fill:none;stroke:currentColor;flex:0 0 auto}
.ts-app[data-app="mfgfrontline"] .share-note{font-family:var(--font-body);font-size:var(--text-14);line-height:1.5;color:var(--faint);margin:var(--space-12) 0 0}
.ts-app[data-app="mfgfrontline"] .overall .big{font-family:var(--font-body);font-weight:700;font-size:var(--text-41);color:var(--ink)}
.ts-app[data-app="mfgfrontline"] .overall .of{font-family:var(--font-body);font-size:var(--text-14);color:var(--faint)}
.ts-app[data-app="mfgfrontline"] .bars{display:flex;flex-direction:column;gap:var(--space-16);margin:var(--space-24) 0 var(--space-8)}
.ts-app[data-app="mfgfrontline"] .bar .brow{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--space-8)}
.ts-app[data-app="mfgfrontline"] .bar .bname{font-family:var(--font-body);font-size:var(--text-14);letter-spacing:0.06em;text-transform:uppercase;display:flex;align-items:center;gap:var(--space-8)}
.ts-app[data-app="mfgfrontline"] .bar .bname i{width:10px;height:10px;border-radius:50%;display:inline-block}
.ts-app[data-app="mfgfrontline"] .bar .bval{font-family:var(--font-body);font-weight:700;font-size:var(--text-17)}
.ts-app[data-app="mfgfrontline"] .track.lg{height:11px}
.ts-app[data-app="mfgfrontline"] .debrief{margin-top:var(--space-24);border-top:1px solid var(--line);padding-top:var(--space-24)}
.ts-app[data-app="mfgfrontline"] .debrief h4{font-family:var(--font-body);font-size:var(--text-14);letter-spacing:0.06em;text-transform:uppercase;color:var(--faint);margin:0 0 var(--space-12)}
.ts-app[data-app="mfgfrontline"] .db-line{display:flex;gap:var(--space-12);align-items:flex-start;margin-bottom:var(--space-12);font-size:var(--text-14);line-height:1.5}
.ts-app[data-app="mfgfrontline"] .db-line .pill{flex:none;font-family:var(--font-body);font-size:var(--text-14);font-weight:700;letter-spacing:0.06em;text-transform:uppercase;padding:var(--space-4) var(--space-8);border-radius:var(--radius-pill);white-space:nowrap;margin-top:0;min-width:78px;text-align:center}
.ts-app[data-app="mfgfrontline"] .pill.strength{color:var(--pos);background:color-mix(in srgb, var(--brand) 12%, transparent)}
.ts-app[data-app="mfgfrontline"] .pill.growth{color:var(--neutral);background:color-mix(in srgb, var(--verdict-caution) 6%, transparent)}
.ts-app[data-app="mfgfrontline"] .db-line span b{color:var(--ink);font-weight:700}
.ts-app[data-app="mfgfrontline"] .db-line span{color:var(--muted)}
.ts-app[data-app="mfgfrontline"] .cta{margin-top:var(--space-24);border:1px dashed var(--line2);border-radius:var(--radius-card);padding:var(--space-16) var(--space-24);background:color-mix(in srgb, var(--heading) 3%, transparent)}
.ts-app[data-app="mfgfrontline"] .cta h4{font-family:var(--font-body);font-weight:700;text-transform:uppercase;letter-spacing:0.06em;font-size:var(--text-21);margin:0 0 var(--space-8)}
.ts-app[data-app="mfgfrontline"] .cta p{margin:0 0 var(--space-12);color:var(--muted);font-size:var(--text-14);max-width:60ch}
.ts-app[data-app="mfgfrontline"] .cta .roles{display:flex;gap:var(--space-8);flex-wrap:wrap}
.ts-app[data-app="mfgfrontline"] .role-chip{font-family:var(--font-body);font-size:var(--text-14);letter-spacing:0.06em;text-transform:uppercase;padding:var(--space-4) var(--space-12);border-radius:var(--radius-pill);border:1px solid var(--line2);color:var(--muted)}
.ts-app[data-app="mfgfrontline"] .role-chip.live{color:var(--accent);border-color:var(--accent)}
.ts-app[data-app="mfgfrontline"] .cta-side{margin-top:var(--space-12)}
.ts-app[data-app="mfgfrontline"] .gd-split .gd-side{margin-top:var(--space-12)}
@media(min-width:820px){
  .ts-app[data-app="mfgfrontline"] .cta-split{display:grid;grid-template-columns:1fr minmax(190px,300px);gap:var(--space-24);align-items:start}
  .ts-app[data-app="mfgfrontline"] .cta-split .cta-side{margin-top:0}
  .ts-app[data-app="mfgfrontline"] .gd-split{display:grid;grid-template-columns:1fr auto;gap:var(--space-24);align-items:center}
  .ts-app[data-app="mfgfrontline"] .gd-split .gd-side{margin-top:0;justify-self:end}
}
.ts-app[data-app="mfgfrontline"] .foot{margin-top:var(--space-32);font-family:var(--font-body);font-size:var(--text-14);letter-spacing:0.06em;color:var(--faint);text-align:center}
.ts-app[data-app="mfgfrontline"] .fineprint{font-size:var(--text-14);color:var(--faint);margin-top:var(--space-8)}
@media (prefers-reduced-motion: reduce){
  .ts-app[data-app="mfgfrontline"], .ts-app[data-app="mfgfrontline"] *, .ts-app[data-app="mfgfrontline"] *::before, .ts-app[data-app="mfgfrontline"] *::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important}
}
.ts-app[data-app="mfgfrontline"] :focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-card)}
.ts-app[data-app="mfgfrontline"] .opt:focus-visible, .ts-app[data-app="mfgfrontline"] .req:focus-visible, .ts-app[data-app="mfgfrontline"] .btn:focus-visible, .ts-app[data-app="mfgfrontline"] .sbtn:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.ts-app[data-app="mfgfrontline"], .ts-app[data-app="mfgfrontline"] *{text-transform:none!important}
.ts-app[data-app="mfgfrontline"] .eyebrow, .ts-app[data-app="mfgfrontline"] .verdict-eyebrow{text-transform:uppercase!important;color:var(--accent)!important}
.ts-app[data-app="mfgfrontline"] .eyebrow::before{background:var(--accent)!important}
.ts-app[data-app="mfgfrontline"] /* ---- HR-OS scorecard additions ---- */
  .brand .wm .ac{color:var(--logo-step)!important}
.ts-app[data-app="mfgfrontline"] .prog{display:flex;align-items:center;gap:var(--space-12);margin-bottom:var(--space-24);font-family:var(--font-body);font-size:var(--text-14);letter-spacing:0.06em;text-transform:uppercase;color:var(--faint)}
.ts-app[data-app="mfgfrontline"] .prog .ptrack{flex:1;height:5px;border-radius:var(--radius-card);background:var(--track-bg);border:1px solid var(--line);overflow:hidden}
.ts-app[data-app="mfgfrontline"] .prog .pfill{height:100%;width:0;border-radius:var(--radius-card);background:var(--accent);transition:width .4s cubic-bezier(.2,.7,.2,1)}
.ts-app[data-app="mfgfrontline"] .areagrid{display:flex;flex-direction:column;gap:var(--space-12);margin:var(--space-24) 0 var(--space-4)}
.ts-app[data-app="mfgfrontline"] .arow{display:grid;grid-template-columns:auto 1fr;gap:var(--space-12);align-items:start;border:1px solid var(--line);border-radius:var(--radius-card);padding:var(--space-12) var(--space-16);background:var(--panel)}
.ts-app[data-app="mfgfrontline"] .arow .aband{font-family:var(--font-body);font-size:var(--text-14);font-weight:700;letter-spacing:0.06em;text-transform:uppercase;padding:var(--space-4) var(--space-8);border-radius:var(--radius-pill);white-space:nowrap;align-self:start;min-width:92px;text-align:center}
.ts-app[data-app="mfgfrontline"] .arow .aname{font-family:var(--font-body);font-size:var(--text-14);letter-spacing:0.06em;text-transform:uppercase;color:var(--ink);font-weight:700;margin:0 0 var(--space-4)}
.ts-app[data-app="mfgfrontline"] .arow .aread{font-size:var(--text-14);color:var(--muted);line-height:1.45;margin:0}
.ts-app[data-app="mfgfrontline"] .ab-strong{color:var(--good);background:color-mix(in srgb, var(--brand) 12%, transparent)}
.ts-app[data-app="mfgfrontline"] .ab-established{color:var(--accent);background:color-mix(in srgb, var(--heading) 12%, transparent)}
.ts-app[data-app="mfgfrontline"] .ab-developing{color:var(--neutral);background:color-mix(in srgb, var(--verdict-caution) 6%, transparent)}
.ts-app[data-app="mfgfrontline"] .ab-foundational{color:var(--muted);background:color-mix(in srgb, var(--hairline) 14%, transparent)}
.ts-app[data-app="mfgfrontline"] h2.title{line-height:1.03;font-size:var(--text-51)}
.ts-app[data-app="mfgfrontline"] h2.title .em{color:var(--accent)}
.ts-app[data-app="mfgfrontline"] .verdict .accent{color:var(--accent)}
.ts-app[data-app="mfgfrontline"] .ladder{display:flex;gap:var(--space-8);margin:var(--space-16) 0 var(--space-4);flex-wrap:wrap}
.ts-app[data-app="mfgfrontline"] .lstep{flex:1;min-width:118px;text-align:center;border:1px solid var(--line2);border-radius:var(--radius-card);padding:var(--space-12) var(--space-8);background:var(--panel)}
.ts-app[data-app="mfgfrontline"] .lstep .ln{font-family:var(--font-body);font-size:var(--text-14);letter-spacing:0.06em;text-transform:uppercase;color:var(--faint);font-weight:700}
.ts-app[data-app="mfgfrontline"] .lstep.done{border-color:var(--line2);background:var(--panel2)}
.ts-app[data-app="mfgfrontline"] .lstep.done .ln{color:var(--muted)}
.ts-app[data-app="mfgfrontline"] .lstep.cur{background:var(--accent);border-color:var(--accent)}
.ts-app[data-app="mfgfrontline"] .lstep.cur .ln{color:var(--surface)}
.ts-app[data-app="mfgfrontline"] .lcap{font-family:var(--font-body);font-size:var(--text-14);letter-spacing:0.06em;color:var(--faint);margin:0 0 0}
.ts-app[data-app="mfgfrontline"] .lcap b{color:var(--ink)}
.ts-app[data-app="mfgfrontline"] .pill.opp{color:var(--accent);background:color-mix(in srgb, var(--heading) 12%, transparent)}
.ts-app[data-app="mfgfrontline"] /* progress fill: position the fill absolutely so its percentage width resolves against a
     definite containing block (a raw % width on a flex-item child resolves to 0 in some engines) */
  .prog .ptrack{position:relative}
.ts-app[data-app="mfgfrontline"] .prog .pfill{position:absolute;left:0;top:0;height:100%;width:0;border-radius:var(--radius-card);background:var(--accent);transition:width .45s cubic-bezier(.2,.7,.2,1)}
.ts-app[data-app="mfgfrontline"] .scope{margin-top:var(--space-24);border:1px solid var(--line2);border-radius:var(--radius-card);padding:var(--space-16) var(--space-16);background:var(--bg2)}
.ts-app[data-app="mfgfrontline"] .scope .sh{font-family:var(--font-body);font-size:var(--text-14);letter-spacing:0.06em;text-transform:uppercase;color:var(--faint);margin:0 0 var(--space-8)}
.ts-app[data-app="mfgfrontline"] .scope p{margin:0;font-size:var(--text-14);color:var(--muted);line-height:1.5}
.ts-app[data-app="mfgfrontline"] /* v701 caliber format: most/least picks, .ts-app[data-app="mfgfrontline"] consistency line, .ts-app[data-app="mfgfrontline"] five-block plan, .ts-app[data-app="mfgfrontline"] methodology */
  .opt .mls{display:flex;gap:var(--space-8);flex:none;margin-left:auto;align-items:center;padding-left:var(--space-4)}
.ts-app[data-app="mfgfrontline"] .mlb{font-family:var(--font-body);font-size:var(--text-14);font-weight:700;letter-spacing:0.06em;text-transform:uppercase;border:1.5px solid var(--line2);background:var(--panel);color:var(--faint);border-radius:var(--radius-pill);padding:var(--space-4) var(--space-12);cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.ts-app[data-app="mfgfrontline"] .mlb:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.ts-app[data-app="mfgfrontline"] .mlb.most.on{background:var(--trust);border-color:var(--trust);color:var(--surface)}
.ts-app[data-app="mfgfrontline"] .mlb.least.on{background:var(--accent);border-color:var(--accent);color:var(--bg)}
.ts-app[data-app="mfgfrontline"] .opt.pick-most{border-color:var(--trust)}
.ts-app[data-app="mfgfrontline"] .opt.pick-least{border-color:var(--accent)}
@media(max-width:560px){
  .ts-app[data-app="mfgfrontline"] .opt{flex-wrap:wrap}
  .ts-app[data-app="mfgfrontline"] .opt .mls{margin-left:0;padding-left:0;width:100%;justify-content:flex-end}
}
.ts-app[data-app="mfgfrontline"] .consline{font-family:var(--font-body);font-size:var(--text-14);letter-spacing:0.06em;line-height:1.6;color:var(--faint);margin:var(--space-12) 0 0}
.ts-app[data-app="mfgfrontline"] .plan5{border:1px solid var(--line2);border-radius:var(--radius-card);padding:var(--space-16) var(--space-16);margin:0 0 var(--space-12);background:var(--panel)}
.ts-app[data-app="mfgfrontline"] .plan5 h5{font-family:var(--font-body);font-weight:700;font-size:var(--text-17);letter-spacing:0.06em;margin:0 0 var(--space-12);color:var(--ink)}
.ts-app[data-app="mfgfrontline"] .plan5 dl{margin:0;display:grid;gap:var(--space-4)}
.ts-app[data-app="mfgfrontline"] .plan5 dt{font-family:var(--font-body);font-size:var(--text-14);letter-spacing:0.06em;text-transform:uppercase;color:var(--faint);margin-top:var(--space-8)}
.ts-app[data-app="mfgfrontline"] .plan5 dt:first-child{margin-top:0}
.ts-app[data-app="mfgfrontline"] .plan5 dd{margin:0;font-size:var(--text-14);line-height:1.55;color:var(--muted)}
.ts-app[data-app="mfgfrontline"] .plan5 dd b{color:var(--ink)}
.ts-app[data-app="mfgfrontline"] .mthd{margin-top:var(--space-24);border:1px solid var(--line2);border-radius:var(--radius-card);padding:var(--space-16) var(--space-16);background:var(--bg2)}
.ts-app[data-app="mfgfrontline"] .mthd .sh{font-family:var(--font-body);font-size:var(--text-14);letter-spacing:0.06em;text-transform:uppercase;color:var(--faint);margin:0 0 var(--space-8)}
.ts-app[data-app="mfgfrontline"] .mthd p{margin:0 0 var(--space-8);font-size:var(--text-14);color:var(--muted);line-height:1.55}
.ts-app[data-app="mfgfrontline"] .mthd p:last-child{margin-bottom:0}
.ts-app[data-app="mfgfrontline"] .mthd b{color:var(--ink)}
.ts-app[data-app="mfgfrontline"] .routes{display:flex;flex-direction:column;gap:var(--space-12);margin-top:var(--space-16)}
.ts-app[data-app="mfgfrontline"] .route{display:grid;grid-template-columns:1fr auto;gap:var(--space-16);align-items:center;border:1px solid var(--line2);border-radius:var(--radius-card);padding:var(--space-16) var(--space-16)}
.ts-app[data-app="mfgfrontline"] .route.lead{border-color:var(--accent)}
.ts-app[data-app="mfgfrontline"] .route .rname{font-family:var(--font-body);font-weight:700;font-size:var(--text-17);letter-spacing:0.06em;margin:0 0 var(--space-4);color:var(--ink)}
.ts-app[data-app="mfgfrontline"] .route .rwhy{margin:0;font-size:var(--text-14);color:var(--muted);line-height:1.45;max-width:52ch}
.ts-app[data-app="mfgfrontline"] .route .rtag{display:inline-block;font-family:var(--font-body);font-size:var(--text-14);letter-spacing:0.06em;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent);border-radius:var(--radius-pill);padding:var(--space-4) var(--space-8);margin-bottom:var(--space-8)}
.ts-app[data-app="mfgfrontline"] .route .rside{justify-self:end}
.ts-app[data-app="mfgfrontline"] .route .soon{font-family:var(--font-body);font-size:var(--text-14);letter-spacing:0.06em;color:var(--faint);border:1px dashed var(--line2);border-radius:var(--radius-pill);padding:var(--space-12) var(--space-16);white-space:nowrap}
@media(max-width:620px){
  .ts-app[data-app="mfgfrontline"] .route{grid-template-columns:1fr}
  .ts-app[data-app="mfgfrontline"] .route .rside{justify-self:start;margin-top:var(--space-4)}
}
.ts-app[data-app="mfgfrontline"] .brand-link{text-decoration:none;color:inherit;display:inline-flex;align-items:center}
@media (forced-colors: active){
  .ts-app[data-app="mfgfrontline"] .btn, .ts-app[data-app="mfgfrontline"] .sbtn, .ts-app[data-app="mfgfrontline"] .opt, .ts-app[data-app="mfgfrontline"] .req, .ts-app[data-app="mfgfrontline"] .share, .ts-app[data-app="mfgfrontline"] button{border:1px solid ButtonText}
  .ts-app[data-app="mfgfrontline"] .btn:focus-visible, .ts-app[data-app="mfgfrontline"] .sbtn:focus-visible, .ts-app[data-app="mfgfrontline"] .opt:focus-visible, .ts-app[data-app="mfgfrontline"] .req:focus-visible, .ts-app[data-app="mfgfrontline"] button:focus-visible, .ts-app[data-app="mfgfrontline"] a:focus-visible, .ts-app[data-app="mfgfrontline"] [tabindex]:focus-visible{outline:2px solid Highlight;outline-offset:2px}
  .ts-app[data-app="mfgfrontline"] .opt.picked, .ts-app[data-app="mfgfrontline"] .req.sel{border:2px solid Highlight}
}
.ts-app[data-app="mfgfrontline"] .tshr-share{display:inline-flex;align-items:center;gap:var(--space-8);font-family:var(--font-body);font-weight:600;font-size:var(--text-14);line-height:1;color:var(--surface);background:var(--brand);border:1px solid var(--brand);border-radius:var(--radius-card);padding:var(--space-12) var(--space-16);cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.ts-app[data-app="mfgfrontline"] .tshr-share:hover{background:var(--brand-press);border-color:var(--brand-press)}
.ts-app[data-app="mfgfrontline"] .tshr-share svg{width:15px;height:15px;flex:none}
.ts-app[data-app="mfgfrontline"] .tshr-share.is-done{background:var(--brand-press);border-color:var(--brand-press)}
@media (min-width:821px){
  .ts-app[data-app="mfgfrontline"] .axe.axe{display:grid;grid-template-rows:subgrid;grid-row:span 2;row-gap:0}
}

/* §5 rule 7: static presentation lifted out of the application's own
   markup strings and given a home. 28 distinct bundle(s).
   These are ADDED class names — no existing class was renamed. */
.ts-app[data-app="mfgfrontline"] .tsa-s01{background:var(--accent)}
.ts-app[data-app="mfgfrontline"] .tsa-s02{color:var(--trust)}
.ts-app[data-app="mfgfrontline"] .tsa-s03{margin-top:calc(var(--space-8) * -1)}
.ts-app[data-app="mfgfrontline"] .tsa-s04{font-family:var(--font-body);font-size:var(--text-14);letter-spacing:0.06em;color:var(--faint)}
.ts-app[data-app="mfgfrontline"] .tsa-s05{margin-top:var(--space-16)}
.ts-app[data-app="mfgfrontline"] .tsa-s06{margin:0 0 var(--space-4);font-size:var(--text-14);color:var(--faint)}
.ts-app[data-app="mfgfrontline"] .tsa-s07{margin:var(--space-4) 0 var(--space-8)}
.ts-app[data-app="mfgfrontline"] .tsa-s08{text-decoration:none;display:inline-flex}
.ts-app[data-app="mfgfrontline"] .tsa-s09{font-size:var(--text-14);color:var(--muted);line-height:1.55;margin:var(--space-8) 0 0}
.ts-app[data-app="mfgfrontline"] .tsa-s10{margin:0 0 0;font-size:var(--text-14);color:var(--faint);line-height:1.5}
.ts-app[data-app="mfgfrontline"] .tsa-s11{color:inherit;text-decoration:underline}
.ts-app[data-app="mfgfrontline"] .tsa-s12{border-style:solid;background:color-mix(in srgb, var(--heading) 3%, transparent)}
.ts-app[data-app="mfgfrontline"] .tsa-s13{margin-top:var(--space-24)}
.ts-app[data-app="mfgfrontline"] .tsa-s14{margin-top:var(--space-24);border:1px solid var(--line2);border-radius:var(--radius-card);padding:var(--space-16) var(--space-24);background:color-mix(in srgb, var(--surface-alt) 4%, transparent)}
.ts-app[data-app="mfgfrontline"] .tsa-s15{font-family:var(--font-body);font-weight:700;text-transform:uppercase;letter-spacing:0.06em;font-size:var(--text-21);margin:0 0 var(--space-4)}
.ts-app[data-app="mfgfrontline"] .tsa-s16{margin:0 0 var(--space-12);color:var(--muted);font-size:var(--text-14);max-width:60ch}
.ts-app[data-app="mfgfrontline"] .tsa-s17{display:flex;gap:var(--space-8);flex-wrap:wrap;align-items:center}
.ts-app[data-app="mfgfrontline"] .tsa-s18{flex:0 0 100%;font-weight:600;color:var(--ink)}
.ts-app[data-app="mfgfrontline"] .tsa-s19{flex:1;min-width:220px;font:inherit;font-size:var(--text-14);padding:var(--space-12) var(--space-16);border-radius:var(--radius-card);border:1.5px solid var(--line2);background:var(--surface);color:var(--heading)}
.ts-app[data-app="mfgfrontline"] .tsa-s20{display:flex;flex-wrap:wrap;gap:var(--space-8) var(--space-16);margin:var(--space-12) 0 0;font-family:var(--font-body);font-size:var(--text-14);letter-spacing:0.06em;color:var(--faint);text-transform:uppercase}
.ts-app[data-app="mfgfrontline"] .tsa-s21{margin:var(--space-12) 0 0;color:var(--faint);font-size:var(--text-14);line-height:1.4;max-width:60ch}
.ts-app[data-app="mfgfrontline"] .tsa-s22{color:var(--muted);text-decoration:underline}
.ts-app[data-app="mfgfrontline"] .tsa-s23{font-family:var(--font-body);font-size:var(--text-14);color:var(--faint);margin:var(--space-8) 0 0}
.ts-app[data-app="mfgfrontline"] .tsa-s24{display:flex;align-items:flex-start;gap:var(--space-12);border:1px solid var(--accent,var(--brand));border-radius:var(--radius-card);padding:var(--space-16) var(--space-16);background:color-mix(in srgb, var(--brand) 7%, transparent)}
.ts-app[data-app="mfgfrontline"] .tsa-s25{flex:none;width:28px;height:28px;border-radius:50%;background:var(--accent,var(--brand));display:inline-flex;align-items:center;justify-content:center;margin-top:0}
.ts-app[data-app="mfgfrontline"] .tsa-s26{font-family:var(--font-body);font-weight:700;font-size:var(--text-17);letter-spacing:0.06em;color:var(--ink,var(--heading));margin-bottom:var(--space-4)}
.ts-app[data-app="mfgfrontline"] .tsa-s27{font-size:var(--text-14);line-height:1.5;color:var(--body,var(--muted))}
.ts-app[data-app="mfgfrontline"] .tsa-s28{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-12)}

/* §5 rule 7 / §9.5: static presentation lifted out of the application's own
   STATIC MARKUP (not its JS strings) and given a home. 1 distinct bundle(s).
   Transformed through the same app_migrate.transform_body the JS bundles use, so
   a declaration cannot enter through the HTML door on terms the JS door refuses. */
.ts-app[data-app="mfgfrontline"] .tsa-h01{color:inherit;text-decoration:underline}

/* Runtime custom properties written by the application in place of colour
   literals (§5 rule 7's named mechanism: setProperty, never a literal). */
.ts-app[data-app="mfgfrontline"] [style*="--tsa-bg"]{background:var(--tsa-bg)}
.ts-app[data-app="mfgfrontline"] [style*="--tsa-fg"]{color:var(--tsa-fg)}
.ts-app[data-app="mfgfrontline"] [style*="--tsa-bd"]{border-color:var(--tsa-bd)}

/* -------------------------------------------------------------------------
   §11 / §12 / §13 CONFORMANCE, applied by the GENERATOR (R-WR15).
   These are RULINGS already made and already shipped on the `assessment`
   group, where they were applied by hand. Generating a new group without them
   reproduces the exact defects §11 and §12 were written to end, and no static
   check can see any of it. Bytes copied from assessment.css, scope substituted.
   ------------------------------------------------------------------------- */
/* §12 rule 2 — a nested wrapper may not re-declare the container's job. No
   second margin:0 auto, no second horizontal gutter. It may cap its WIDTH. */
.ts-app[data-app="mfgfrontline"] .wrap{margin:0;padding-left:0;padding-right:0}
/* §11 — the app hero is the STANDFIRST and is subordinate to the page h1.
   R-WR11-F4: h1->h2 renamed the selector and carried --text-51 with it, so the
   subordinate heading rendered LARGER than the h1 it sits under. */
.ts-app[data-app="mfgfrontline"] h2.title{line-height:1.2;font-size:var(--text-26);text-transform:none;letter-spacing:normal;font-weight:600}
@media(max-width:480px){.ts-app[data-app="mfgfrontline"] h2.title{font-size:var(--text-21)}}
/* §11 slot 2 / §12 rule 2 — the dated PROOF STRIP and its .ts-app[data-app="mfgfrontline"] STRIP form. */
.ts-app[data-app="mfgfrontline"] .facts{display:flex;flex-wrap:wrap;gap:var(--space-24);margin:var(--space-24) 0 var(--space-24);padding:var(--space-24) 0;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline)}
.ts-app[data-app="mfgfrontline"] .fact{flex:1 1 200px;min-width:0}
.ts-app[data-app="mfgfrontline"] .fact b{display:block;font-family:var(--font-head);font-size:var(--text-33);font-weight:600;line-height:1.2;letter-spacing:-0.01em;color:var(--heading)}
.ts-app[data-app="mfgfrontline"] .fact span{display:block;margin-top:var(--space-8);font-size:var(--text-14);line-height:1.55;color:var(--muted)}
/* §11 slot 3 — the single framing line sits tight under the strip. */
.ts-app[data-app="mfgfrontline"] .lede-why{margin-top:0}
