/* Fulfilment module: customer order status timeline, dispatch details and parcel movement (Section 13.3). */
.fl-steps{list-style:none;padding:0;margin:25px 0}
.fl-step{display:flex;gap:18px;position:relative;padding-bottom:26px}
.fl-step:not(:last-child):before{content:'';position:absolute;width:2px;background:var(--line);top:31px;bottom:2px;left:14px}
.fl-step.is-done:not(:last-child):before{background:var(--green)}
.fl-dot{height:30px;width:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:2px solid var(--line);background:var(--paper);color:var(--green)}
.fl-dot .icon{width:15px;height:15px}
.fl-step.is-done .fl-dot{background:var(--green-light);border-color:var(--green-light)}
.fl-step.is-current .fl-dot{background:var(--green);border-color:var(--green);color:var(--paper);box-shadow:0 0 0 5px var(--green-light)}
.fl-step.is-stopped .fl-dot{background:var(--danger);border-color:var(--danger);box-shadow:0 0 0 5px var(--yellow-light)}
.fl-step h3{font-size:15px;margin:4px 0 4px!important}
.fl-step.is-upcoming h3{color:var(--muted);font-weight:500}
.fl-step.is-current h3{color:var(--green)}
.fl-step.is-stopped h3{color:var(--danger)}
.fl-step small{font-size:11px;color:var(--muted)}
.fl-step p{font-size:13px;margin-top:6px}
.fl-dispatch dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px;margin:0 0 16px}
.fl-dispatch dt{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.fl-dispatch dd{margin:2px 0 0;font-size:14px;font-weight:600;overflow-wrap:anywhere}
.fl-movement{margin-top:26px}
.fl-movement h3{font-size:16px;margin-bottom:12px}
.fl-movement ol{list-style:none;margin:0;padding:0;border-left:2px solid var(--line);margin-left:6px}
.fl-movement li{display:grid;grid-template-columns:120px 1fr;gap:14px;padding:0 0 16px 18px;position:relative;font-size:13px}
.fl-movement li:before{content:'';position:absolute;left:-7px;top:5px;width:12px;height:12px;border-radius:50%;background:var(--paper);border:2px solid var(--line)}
.fl-movement li.is-latest:before{background:var(--gold);border-color:var(--gold)}
.fl-movement time{color:var(--muted);font-size:12px}
.fl-movement strong{display:block}
.fl-movement span{display:block;color:var(--ink)}
.fl-movement small{display:block;color:var(--muted);font-size:12px}
.fl-movement-empty{font-size:13px;margin-top:16px}
@media (max-width:640px){.fl-dispatch dl{grid-template-columns:1fr}.fl-movement li{grid-template-columns:1fr;gap:2px}}
