/* 3L Deliver · customer portal (#/portal*). Composes base/components; new pieces are shown in components.html under "Portal". */

.pt .page-h .sub a{color:var(--ink)}
.pt-honest{font-size:12.5px;color:var(--ink-3);line-height:1.45;margin-top:12px;max-width:62ch}

/* ===== Dashboard: the live board (the one graphite panel) ===== */
.pt-live{padding:6px 8px 10px;overflow:hidden}
.pt-live-h{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:16px 16px 12px}
.pt-live-h h2{font-size:17px;font-weight:620;letter-spacing:-.012em}
.pt-live-h>span{font-size:12.5px;color:var(--g-ink-2)}
.pt-live-h [data-clock]{color:var(--g-ink);font-variant-numeric:tabular-nums}
.pt-rows{display:flex;flex-direction:column;gap:4px}
.pt-lrow{display:grid;grid-template-columns:220px minmax(0,1fr) 300px 20px;gap:24px;align-items:center;min-height:96px;padding:14px 16px;border-radius:var(--r-l);
  background:var(--g2);color:var(--g-ink);text-decoration:none;transition:background-color var(--t) ease-out}
@media (hover:hover){.pt-lrow:hover{background:var(--g3)}}
.pt-lrow:active{transform:scale(.995)}
.pt-lrow:focus-visible{box-shadow:0 0 0 2px var(--g1),0 0 0 4px var(--g-ink-2)}
.pt-eta{display:flex;flex-direction:column;gap:6px;min-width:0}
.pt-eta .tt{font-size:46px;line-height:.95;font-weight:540;letter-spacing:-.05em;font-variant-numeric:tabular-nums}
.pt-eta .tl{font-size:12.5px;color:var(--g-ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pt-eta .tl b{font-weight:600;color:var(--g-ink)}
.pt-eta .tl b.ok{color:var(--ok-g-ink)} .pt-eta .tl b.late{color:#F0A564} .pt-eta .tl b.bad{color:#F08C79}
.pt-who{min-width:0;display:flex;flex-direction:column;gap:2px}
.pt-who .r1{display:flex;gap:10px;align-items:baseline;font-size:12.5px;color:var(--g-ink-2)}
.pt-who .r1 .mono{color:var(--g-ink-2)}
.pt-who .dn{font-size:19px;font-weight:620;letter-spacing:-.015em;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pt-who .rt{font-size:13px;color:var(--g-ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pt-prog{display:flex;flex-direction:column;gap:8px;min-width:0}
/* journey track: the journey scale at row size (4 px track, 1 px hour ticks, needle at the van, ETA mark) */
.pt-jt{display:flex;flex-direction:column;gap:4px}
.pt-jt .jt-trk{position:relative;height:4px;border-radius:2px;background:var(--g4)}
.pt-jt .jt-tick{position:absolute;top:-3px;width:1px;height:10px;background:var(--g-ink-3);opacity:.55;transform:translateX(-.5px)}
.pt-jt .jt-fill{position:absolute;top:0;height:4px;border-radius:2px;background:var(--g-ink)}
.pt-jt .jt-eta{position:absolute;top:-4px;width:2px;height:12px;border-radius:1px;background:var(--g-ink-2);transform:translateX(-1px)}
.pt-jt .jt-ndl{position:absolute;top:-5px;width:2px;height:14px;border-radius:1px;background:var(--g-ink);transform:translateX(-1px);box-shadow:0 0 0 2px var(--g2)}
.pt-jt .jt-lbl{display:flex;justify-content:space-between;font-family:var(--font);font-size:12px;color:var(--g-ink-3);font-variant-numeric:tabular-nums}
.pt-jt.is-none{height:4px;border-radius:2px;background:var(--g4)}
.pt-lrow.k-ok .pt-jt .jt-fill,.pt-lrow.k-ok .pt-jt .jt-ndl{background:var(--ok-g)}
.pt-lrow.k-late .pt-jt .jt-fill,.pt-lrow.k-late .pt-jt .jt-ndl{background:#F0A564}
.pt-lrow.k-bad .pt-jt .jt-fill,.pt-lrow.k-bad .pt-jt .jt-ndl{background:#F08C79}
.pt-prog .pm{font-size:12px;color:var(--g-ink-3)}
.pt-lrow .st.late{color:#F0A564} .pt-lrow .st.bad{color:#F08C79} .pt-lrow .st.bk{color:var(--g-ink-2)}
.pt-lrow .go{color:var(--g-ink-3)}
.pt-lrow .go svg{width:18px;height:18px}
.pt-done-h{font-size:12.5px;color:var(--g-ink-3);padding:18px 16px 8px}
.pt-rows.done .pt-lrow{min-height:64px;background:transparent;box-shadow:inset 0 0 0 1px var(--g3)}
.pt-rows.done .pt-eta .tt{font-size:30px;color:var(--g-ink-2)}
@media (hover:hover){.pt-rows.done .pt-lrow:hover{background:var(--g2)}}
.pt-none{display:flex;align-items:center;gap:14px;padding:20px 16px 24px;color:var(--g-ink-2);font-size:14px}

/* quiet strip: proofs sent to you */
.pt-strip{margin-top:36px}
.pt-strip-h{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:12px}
.pt-strip-h a{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:560;color:var(--ink-2);text-decoration:none}
@media (hover:hover){.pt-strip-h a:hover{color:var(--ink)}}
.pt-pchips{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.pt-pchip{display:flex;gap:12px;align-items:center;padding:10px;border-radius:var(--r-l);background:var(--card);box-shadow:inset 0 0 0 1px var(--line);text-decoration:none;min-width:0;transition:background-color var(--t) ease-out}
@media (hover:hover){.pt-pchip:hover{background:var(--raised)}}
.pt-pchip img,.pt-pchip .ph{width:64px;height:64px;border-radius:10px;object-fit:cover;flex:none;background:var(--inset)}
.pt-pchip .tx{display:flex;flex-direction:column;min-width:0;font-size:12.5px;color:var(--ink-2);line-height:1.35}
.pt-pchip .tx>*{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pt-pchip .tx b{font-size:14px;font-weight:600;color:var(--ink)}
.pt-pchip .tx .mono{color:var(--ink-3)}
.pt-pchip .tm{color:var(--ink-3);font-size:12px}

/* ===== Job page ===== */
.pj .tk-h{align-items:flex-end}
.pj-acts{display:flex;gap:8px;flex-wrap:wrap}
.pj .tk-card .card-h{margin-bottom:14px}
.pj .tk-card .card-h h2{margin:0}
.pj-p{font-size:14px;line-height:1.5}
.pj-p+.pj-p{margin-top:8px}
.pj-pod-g{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:20px;align-items:start}
.pj-pod-g .podm{box-shadow:var(--sh-2),inset 0 0 0 1px var(--line-2)}
.pj-pod-g .d-gen a{color:var(--ink);font-weight:560}
.pj-sh{font-size:12.5px;font-weight:560;color:var(--ink-3);margin-bottom:8px}
.pj-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}
.pj-photos figure{margin:0;min-width:0}
.pj-photos a{display:block;position:relative;border-radius:var(--r-m);overflow:hidden}
.pj-photos img{width:100%;height:120px;object-fit:cover;background:var(--inset)}
.pj-photos .dl{position:absolute;right:8px;bottom:8px;width:30px;height:30px;border-radius:9px;background:rgba(17,19,22,.72);color:#ECEEF0;display:grid;place-items:center;opacity:.9}
.pj-photos .dl svg{width:15px;height:15px}
.pj-photos figcaption{font-size:12px;color:var(--ink-3);margin-top:5px}
.pj-pod-a{margin-top:16px}
.pj-fail-g{display:grid;grid-template-columns:220px 1fr;gap:16px;font-size:14px;line-height:1.5}
.pj-fail-g img{width:100%;height:140px;object-fit:cover;border-radius:var(--r-m)}
.pj-fail-g p+p{margin-top:6px}
.pj-fail h2{color:var(--bad)}

/* ===== Filters (history, proofs) ===== */
.pt-filt{display:grid;grid-template-columns:minmax(220px,1fr) 160px 160px auto;gap:12px;align-items:end;margin-bottom:16px}
.pt-filt.pods{grid-template-columns:minmax(220px,420px) auto;justify-content:start}
.pt-filt .seg{height:40px;align-items:center}
.pt-filt .seg button{height:34px}
.pt-bulk{display:flex;gap:8px;align-items:flex-end}
.pt-bulk .fld{width:170px}
.pt-tbl td .btn-sm{--h:28px;padding:0 8px}
.pt-tbl td.ell{max-width:300px}

/* ===== POD library ===== */
.pt-pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:18px}
.pt-pcell{display:flex;flex-direction:column;gap:8px;min-width:0}
.pt-pcell .podm{box-shadow:var(--sh-2);flex:1}
.pt .card-h .btn span{color:inherit;font-size:inherit}
.pt-pact{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:0 2px}
.pt-more{display:flex;align-items:center;gap:14px;justify-content:center;margin-top:24px;font-size:13px;color:var(--ink-3)}

/* bulk zip sheet */
.pt-zip-h{display:flex;gap:12px;align-items:center;padding:12px 14px;border-radius:var(--r-m);background:var(--inset);box-shadow:var(--sh-in)}
.pt-zip-h>svg{width:20px;height:20px;color:var(--ink-2)}
.pt-zip-h div{display:flex;flex-direction:column;font-size:12.5px;color:var(--ink-3)}
.pt-zip-h b{font-size:13px;color:var(--ink)}
.pt-zip-l{list-style:none;margin-top:12px;font-size:13px}
.pt-zip-l li{display:flex;gap:14px;padding:6px 2px;border-bottom:1px solid var(--line-2);color:var(--ink-2);min-width:0}
.pt-zip-l li span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pt-zip-l li.more{color:var(--ink-3);border:0}

/* ===== Book ===== */
.pt-bk{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:28px;align-items:start}
.pt-bk-main{display:flex;flex-direction:column;gap:14px;min-width:0}
.pt-fs{border:0;background:var(--raised);border-radius:var(--r-xl);box-shadow:var(--sh-1);padding:18px 20px 20px;min-width:0}
.pt-fs legend{float:left;width:100%;font-size:15px;font-weight:620;letter-spacing:-.01em;margin-bottom:14px}
.pt-fs legend span{font-weight:450;font-size:13px}
.pt-fs legend+*{clear:both}
.pt-other{display:flex;flex-direction:column;gap:10px;margin-top:10px;padding:12px;border-radius:var(--r-m);background:var(--card);box-shadow:inset 0 0 0 1px var(--line-2)}
.pt-other .grid-2{--gap:10px}
.pt-opts{display:grid;gap:8px}
.pt-opts.s3{grid-template-columns:repeat(3,minmax(0,1fr))}
.pt-opts.v5{grid-template-columns:repeat(5,minmax(0,1fr))}
.pt-opt{position:relative;display:flex;flex-direction:column;gap:3px;padding:12px 12px 12px 38px;border-radius:var(--r-m);background:var(--card);box-shadow:inset 0 0 0 1px var(--line);cursor:pointer;font-size:12.5px;color:var(--ink-3);line-height:1.35;transition:background-color var(--t) ease-out,box-shadow var(--t) ease-out;min-width:0}
.pt-opt b{font-size:14px;font-weight:600;color:var(--ink)}
.pt-opt input{position:absolute;opacity:0;width:1px;height:1px}
.pt-opt .o-r{position:absolute;left:12px;top:13px;width:16px;height:16px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--ink-3)}
.pt-opt:has(input:checked){background:var(--raised);box-shadow:inset 0 0 0 1.5px var(--ink),var(--sh-1)}
.pt-opt:has(input:checked) .o-r{box-shadow:inset 0 0 0 5px var(--ink)}
.pt-opt:has(input:focus-visible){box-shadow:inset 0 0 0 1.5px var(--ink),0 0 0 2px var(--page),0 0 0 4px var(--focus)}
@media (hover:hover){.pt-opt:hover{background:var(--raised)}}
.pt-warn{margin-top:10px;font-size:13px;color:var(--late);font-weight:520}
.pt-goods{display:grid;grid-template-columns:110px 150px 150px minmax(0,1fr);gap:12px;align-items:start}
.pt-bk-side{position:sticky;top:calc(var(--top-h) + 16px)}
/* the quote: the view's graphite instrument */
.pt-quote,.pt-ok-q{background:var(--g1);color:var(--g-ink);border-radius:var(--r-xl);padding:20px;box-shadow:0 0 0 1px var(--g-rim),0 1px 2px rgba(var(--cast),.2),12px 20px 44px -18px rgba(var(--cast),.38)}
.pt-q-h{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.pt-q-h h2{font-size:15px;font-weight:620}
.pt-q-h span{font-size:12.5px;color:var(--g-ink-2)}
.pt-q-t{font-size:52px;line-height:.95;font-weight:540;letter-spacing:-.05em;margin:14px 0 14px}
.pt-q-l{display:flex;flex-direction:column;gap:4px;font-size:13.5px;color:var(--g-ink-2)}
.pt-q-l div{display:flex;justify-content:space-between}
.pt-q-l .tot{color:var(--g-ink);font-weight:600;padding-top:6px;margin-top:4px;border-top:1px solid var(--g3)}
.pt-quote .rule{background:var(--g3)}
.pt-q-kv{color:var(--g-ink);font-size:13px;margin-bottom:18px}
.pt-q-kv dt{color:var(--g-ink-2)}
.pt-quote .btn-ink{background:var(--g-ink);color:var(--g1)}
@media (hover:hover){.pt-quote .btn-ink:hover{background:#fff}}
.pt-quote .btn:focus-visible{box-shadow:0 0 0 2px var(--g1),0 0 0 4px var(--g-ink-2)}
.pt-q-n{font-size:12px;color:var(--g-ink-3);line-height:1.45;margin-top:12px}
.pt-err{font-size:13px;color:#F08C79;margin:-6px 0 12px;line-height:1.4}

/* booked confirmation */
.pt-ok{max-width:980px}
.pt-ok-h{display:flex;gap:18px;align-items:flex-start;margin-bottom:28px}
.pt-ok-r{color:var(--ink-2);flex:none;margin-top:4px}
.pt-ok-h .ref{display:flex;gap:10px;align-items:center;font-size:13.5px;margin-bottom:8px}
.pt-ok-h .sub{font-size:15px;color:var(--ink-2);margin-top:8px}
.pt-ok-g{display:grid;grid-template-columns:340px minmax(0,1fr);gap:24px;align-items:start}
.pt-ok-n{display:flex;flex-direction:column;gap:16px;font-size:14px;padding-top:4px}
.pt-ok-n p a{color:var(--ink)}

/* ===== Notifications ===== */
.pt-nf-g{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:28px;align-items:start}
.pt-nf-bar{margin-bottom:12px}
.pt-nf{list-style:none;display:flex;flex-direction:column;gap:2px}
.pt-nf-d{font-size:12.5px;color:var(--ink-3);padding:14px 4px 6px}
.pt-nf-d:first-child{padding-top:2px}
.pt-nf-r{display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 12px;border-radius:var(--r-m);text-decoration:none;color:var(--ink-2);transition:background-color var(--t) ease-out}
@media (hover:hover){.pt-nf-r:hover{background:var(--raised)}}
.pt-nf-r.un{background:var(--raised);box-shadow:var(--sh-1)}
.pt-nf-r .ki{width:20px;height:20px;display:grid;place-items:center;color:var(--ink-2);align-self:start;margin-top:1px}
.pt-nf-r .ki svg{display:block}
.pt-nf-r .ki.r-booked{color:var(--ink-3)}
.pt-nf-r .mw{font-size:12px;color:var(--ink-3);white-space:nowrap}
.pt-nf-r .tx{display:flex;flex-direction:column;min-width:0}
.pt-nf-r .s1{display:flex;align-items:center;gap:8px;min-width:0}
.pt-nf-r .s1 b{font-size:14px;font-weight:500;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pt-nf-r.un .s1 b{font-weight:650}
.pt-nf-r .ud{width:8px;height:8px;border-radius:50%;background:var(--ink);flex:none}
.pt-nf-r .pv{font-size:12.5px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pt-nf-r .mt{display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.pt-nf-r .tm{font-size:14px;font-weight:560;color:var(--ink);letter-spacing:-.01em}
.pt-prefs{position:sticky;top:calc(var(--top-h) + 16px);padding:18px 20px}
.pt-pt{width:100%;font-size:13.5px}
.pt-pt thead th{font-size:12px;font-weight:560;color:var(--ink-3);text-align:center;padding:0 0 8px;width:56px}
.pt-pt thead th:first-child{width:auto}
.pt-pt tbody th{text-align:left;font-weight:450;padding:10px 8px 10px 0;border-top:1px solid var(--line-2)}
.pt-pt tbody th b{display:block;font-weight:600;color:var(--ink)}
.pt-pt tbody th span{font-size:12px;color:var(--ink-3);line-height:1.35;display:block}
.pt-pt td{text-align:center;border-top:1px solid var(--line-2)}
.pt-tg{justify-content:center;padding:8px}
.pt-prefs .t-small a{color:var(--ink-2)}

/* ===== Account ===== */
.pt-ac-g{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:24px;align-items:start}
.pt-team{padding:18px 20px}
.pt-tm{list-style:none}
.pt-tm li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 0;border-top:1px solid var(--line-2)}
.pt-tm .tx{display:flex;flex-direction:column;min-width:0;font-size:13px;color:var(--ink-2);line-height:1.4}
.pt-tm .tx b{font-size:14.5px;font-weight:600;color:var(--ink);display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.pt-tm .tx b .ink-3{font-weight:450}
.pt-tm .tx>span{overflow:hidden;text-overflow:ellipsis}
.pt-tm .gets{color:var(--ink-3);font-size:12.5px}
.pt-tm .rl{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.pt-role{min-height:32px;width:132px}
.pt-role select{height:30px;font-size:13.5px}
.pt-roles{margin-top:6px;padding-top:14px;border-top:1px solid var(--line-2);line-height:1.5}
.pt-roles b{color:var(--ink-2);font-weight:600}
/* future milestone: drawn as an outline, not a live surface */
.pt-int{border-radius:var(--r-xl);padding:20px;box-shadow:inset 0 0 0 1.5px var(--ghost-line);background:var(--ghost-bg)}
.pt-int-h{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.pt-int-h h2{font-size:15px;font-weight:620}
.pt-int-h p{font-size:13.5px;color:var(--ink-2);margin-top:4px;max-width:56ch}
.pt-key{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding:8px 8px 8px 14px;border-radius:var(--r-m);background:var(--inset);box-shadow:var(--sh-in)}
.pt-key .mono{color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pt-int-l{list-style:none;margin-top:14px;display:flex;flex-direction:column;gap:8px;font-size:13.5px}
.pt-int-l li{display:grid;grid-template-columns:130px 1fr;gap:12px;color:var(--ink-2)}
.pt-int-l b{font-weight:600;color:var(--ink)}
.pt-stm{list-style:none}
.pt-stm li{display:flex;justify-content:space-between;padding:8px 0;border-top:1px solid var(--line-2);font-size:13.5px}
.pt-stm li:first-child{border-top:0}
.pt-stm li>span{display:flex;flex-direction:column}
.pt-stm b{font-weight:600}

/* ===== Reflow ===== */
@media (max-width:1240px){
  .pt-lrow{grid-template-columns:180px minmax(0,1fr) 220px 20px;gap:18px}
  .pt-opts.v5{grid-template-columns:repeat(3,minmax(0,1fr))}
  .pt-goods{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:1100px){
  .pt-bk,.pt-nf-g,.pt-ac-g{grid-template-columns:1fr}
  .pt-bk-side,.pt-prefs{position:static}
  .pj-pod-g{grid-template-columns:1fr}
  .pt-pchips{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pt-filt{grid-template-columns:1fr 150px 150px}
  .pt-filt>.fld:last-child{grid-column:1/-1}
}
@media (max-width:760px){
  .pt-tbl .h-sm{display:none}
  .pt-lrow{grid-template-columns:minmax(0,1fr) 20px;grid-template-areas:"eta go" "who who" "prog prog";gap:10px 12px;padding:14px}
  .pt-lrow .pt-eta{grid-area:eta}.pt-lrow .pt-who{grid-area:who}.pt-lrow .pt-prog{grid-area:prog}.pt-lrow .go{grid-area:go;align-self:start}
  .pt-ok-g{grid-template-columns:1fr}
}
@media (max-width:620px){
  .pt-live{padding:4px 4px 8px;margin:0 -8px}
  .pt-live-h{padding:14px 12px 10px}
  .pt-eta .tt{font-size:40px}
  .pt-who .dn{font-size:17px}
  .pt-pchips{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 calc(var(--gut) * -1);padding:0 var(--gut) 4px;scrollbar-width:none}
  .pt-pchips::-webkit-scrollbar{display:none}
  .pt-pchip{flex:0 0 82%;scroll-snap-align:start}
  .pt-filt,.pt-filt.pods{grid-template-columns:1fr 1fr}
  .pt-filt .f-q,.pt-filt>.fld:last-child{grid-column:1/-1}
  .pt-bulk{width:100%}
  .pt-bulk .fld{flex:1;width:auto}
  .pt-tbl td.ell{max-width:150px}
  .pt-pgrid{grid-template-columns:1fr}
  .pt-opts.s3,.pt-opts.v5{grid-template-columns:1fr}
  .pt-opt{padding:11px 12px 11px 38px}
  .pt-fs{padding:16px}
  .pt-goods{grid-template-columns:1fr 1fr}
  .pt-q-t{font-size:46px}
  .pj-fail-g{grid-template-columns:1fr}
  .pj-acts{width:100%}
  .pj-acts .btn{flex:1}
  .pt-tm li{grid-template-columns:minmax(0,1fr)}
  .pt-tm .rl{grid-column:1;align-items:flex-start;flex-direction:row;gap:10px;align-items:center}
  .pt-int-h{flex-direction:column}
  .pt-int-l li{grid-template-columns:1fr;gap:0}
  .pt-nf-r{grid-template-columns:20px minmax(0,1fr);}
  .pt-nf-r .mt{grid-column:2;flex-direction:row;align-items:center;gap:10px;justify-content:flex-start}
  .pt-nf-r .tm{font-size:12.5px;color:var(--ink-3)}
  .pt-ok-h{flex-direction:column;gap:10px}
}
@media (prefers-reduced-motion:reduce){.pt-lrow,.pt-pchip,.pt-opt,.pt-nf-r{transition:none}.pt-lrow:active{transform:none}}

/* overflow guards (narrow screens) */
.pt-ac-g>*,.pt-bk>*,.pt-nf-g>*,.pt-bk .grid-2>*,.pt-goods>*{min-width:0}
.pt-tm .tx>span{overflow-wrap:anywhere}
.pt-bk select{min-width:0;width:100%;text-overflow:ellipsis}
@media (max-width:760px){.pt-tbl th:nth-child(3),.pt-tbl th:nth-child(6){display:none}}
@media (max-width:620px){
  .pt-bulk{flex-wrap:wrap}
  .pt-bulk .fld{flex:1 1 100%}
  .pt-bulk .btn{flex:1 1 100%}
  .pt-tbl td.ell{max-width:120px}
}

/* ---- round 1 (D): live row closes its ring in place before moving to Done ---- */
@property --pt-a{syntax:'<angle>';inherits:false;initial-value:360deg}
.pt-lrow.is-closing{animation:pt-flash 900ms ease-out both}
.pt-lrow.is-closing.to-ok .st::before{background:conic-gradient(currentColor 0 var(--pt-a),transparent 0);animation:pt-close 260ms cubic-bezier(.2,.7,.2,1) both}
@keyframes pt-close{from{--pt-a:180deg}to{--pt-a:360deg}}
@keyframes pt-flash{0%,30%{background:var(--g2)}55%{background:var(--g4)}100%{background:var(--g2)}}
@media (prefers-reduced-motion:reduce){.pt-lrow.is-closing,.pt-lrow.is-closing .st::before{animation:none}}

/* ---- round 1 (D): status steps folded into one strip under the journey scale ---- */
.pt-steps{list-style:none;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:0;margin-top:14px;border-top:1px solid var(--line-2);padding-top:12px}
.pt-steps li{display:flex;flex-direction:column;gap:1px;min-width:0;padding-right:12px}
.pt-steps li + li{padding-left:12px;border-left:1px solid var(--line-2)}
.pt-steps .nm{font-size:12px;color:var(--ink-3)}
.pt-steps b{font-size:15px;font-weight:600;color:var(--ink);letter-spacing:-.01em}
.pt-steps .d{font-size:12px;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pt-steps .s-todo b,.pt-steps .s-todo .d{color:var(--ink-3)}
.pt-steps .s-ok b{color:var(--ok)}
.pt-steps .s-bad b{color:var(--bad)}
.pt-steps .s-late .d{color:var(--late)}
.pj-cond.is-ok{color:var(--ok)}
.pj-cond.is-bad{color:var(--bad)}
@media (max-width:760px){
  .pt-jt{display:none}
  .pt-steps{grid-auto-flow:row;grid-template-columns:1fr 1fr;row-gap:10px}
  .pt-steps li + li{padding-left:0;border-left:0}
  .pt-steps li:nth-child(even){padding-left:12px;border-left:1px solid var(--line-2)}
}
