/* TCSL customer portal */
.pt-dash{padding:30px 0 70px}
.pt-hello{display:flex;flex-wrap:wrap;gap:18px;align-items:flex-end;justify-content:space-between;margin-bottom:18px}
.pt-hello h1{font-size:clamp(26px,3.2vw,38px);font-weight:900;margin:8px 0 0}
.pt-kpis{display:flex;gap:10px;flex-wrap:wrap}
.pt-kpis div{min-width:120px;padding:14px 16px;border-radius:16px;background:linear-gradient(120deg,var(--navy),var(--navy-3));color:#c9d6ee}
.pt-kpis b{display:block;font:900 28px/1 var(--head);color:var(--gold)}
.pt-kpis span{font-size:12.5px}
.pt-list{display:grid;gap:14px}
.pt-ship{display:grid;gap:10px;padding:18px 20px;border-radius:18px;background:#fff;border:1px solid var(--line);color:inherit;transition:.25s}
.pt-ship:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:transparent}
.pt-ship-h{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center}
.pt-ship-h b{font:800 17px/1.2 var(--head);color:var(--navy)}
.pt-st{padding:5px 11px;border-radius:999px;font:800 12px/1 var(--head);background:#eef3fb;color:var(--blue)}
.pt-st-lg{font-size:14px;padding:9px 16px}
.st-delivered{background:#e5f8ee;color:#1d6b44}.st-customs{background:#fff8e1;color:#8a6d12}.st-transit,.st-departed{background:#e0ecff;color:#1e4fa0}
.pt-route{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;font:700 15px/1.2 var(--head);color:var(--navy)}
.pt-route i{height:2px;background:repeating-linear-gradient(90deg,var(--gold) 0 6px,transparent 6px 11px)}
.pt-route-lg{font-size:18px;margin-top:8px;max-width:640px}
.pt-meta{display:flex;flex-wrap:wrap;gap:6px}
.pt-meta span{padding:5px 10px;border-radius:999px;background:var(--bg);font:600 12.5px/1.2 var(--body);color:var(--navy)}
.pt-steps{list-style:none;margin:10px 0;padding:0;display:grid;grid-template-columns:repeat(7,1fr);gap:4px;counter-reset:s}
.pt-steps li{position:relative;display:grid;justify-items:center;gap:6px;text-align:center;font:600 11.5px/1.25 var(--body);color:var(--muted)}
.pt-steps li::before{content:"";position:absolute;top:9px;left:-50%;right:50%;height:3px;background:#e1e8f3;z-index:0}
.pt-steps li:first-child::before{display:none}
.pt-steps i{position:relative;z-index:1;width:20px;height:20px;border-radius:50%;background:#fff;border:3px solid #d5dfee}
.pt-steps li.done i{background:var(--navy);border-color:var(--navy)}
.pt-steps li.done::before,.pt-steps li.now::before{background:var(--navy)}
.pt-steps li.now i{background:var(--gold);border-color:var(--gold);box-shadow:0 0 0 6px rgba(245,184,0,.25);animation:selpulse 2s infinite}
.pt-steps li.now,.pt-steps li.done{color:var(--navy)}
@media (max-width:640px){.pt-steps span{font-size:0}.pt-steps li.now span{font-size:11px;position:absolute;top:26px;white-space:nowrap}}
.pt-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start;margin-top:16px}
@media (max-width:900px){.pt-two{grid-template-columns:1fr}}
.pt-h3{font-size:16px;margin:18px 0 8px}
.pt-docs{display:grid;gap:8px}
.pt-doc{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:10px 12px;border-radius:12px;background:var(--bg);color:inherit}
.pt-doc i{font-style:normal;font-size:20px}
.pt-doc b{display:block;font:700 14px/1.2 var(--head);color:var(--navy)}
.pt-doc small{color:var(--muted);font-size:12px}
.pt-doc em,.pt-doc a{font-style:normal;font:800 12.5px/1 var(--head);color:var(--blue)}
.pt-events{list-style:none;margin:10px 0 0;padding:0 0 0 18px;border-left:2px solid var(--line);display:grid;gap:12px}
.pt-events li{position:relative}
.pt-events li::before{content:"";position:absolute;left:-25px;top:4px;width:12px;height:12px;border-radius:50%;background:var(--gold);border:2px solid #fff;box-shadow:0 0 0 2px var(--gold)}
.pt-events b{display:block;font:700 14px/1.3 var(--head);color:var(--navy)}
.pt-events small{color:var(--muted);font-size:12.5px}
.pt-dl{font:800 12.5px/1 var(--head);color:var(--blue)}
.pt-quotes{display:grid;gap:10px}
.pt-quotes h2{margin:0}
.pt-q{padding:14px 16px;border-radius:16px;background:#fff;border:1px solid var(--line)}
.pt-q p{margin:6px 0 2px;color:var(--navy);font-weight:600}
.pt-q small{color:var(--muted)}
.pt-reply{margin-top:10px;padding:12px;border-radius:12px;background:#e5f8ee}
.pt-reply b{color:#1d6b44;font:800 12.5px/1 var(--head)}
.pt-reply p{color:#234;font-weight:500}
