/* Tracking display: shared by the public tracker, private links, the buyer portal and the admin preview. */
/* ---------- tracker ---------- */
.track-hero{background-color:var(--navy-900);background-image:url("../img/misc/bg-topographic.jpg");background-image:image-set(url("../img/misc/bg-topographic.webp") type("image/webp"),url("../img/misc/bg-topographic.jpg") type("image/jpeg"));background-size:cover;background-position:center;color:#fff;padding:var(--s5) 0 var(--s6);position:relative;border-bottom:4px solid var(--gold-500)}
.track-hero h1{color:#fff;display:flex;align-items:center;gap:12px}
.track-hero h1 .i{color:var(--gold-500)}
.prefixes{list-style:none;display:flex;flex-wrap:wrap;gap:8px 20px;padding:0;margin:var(--s3) 0 0;color:#B8C2CC;font-size:.875rem}
.prefixes b{color:var(--gold-500);font-family:var(--mono);margin-right:4px}
.link-band{background:var(--gold-500);color:var(--navy-900);font-size:.875rem;font-weight:600}
.link-band p{margin:0;padding:8px 0;display:flex;align-items:center;gap:8px}
.trk-wrap{padding-top:var(--s5);padding-bottom:var(--s6)}
.trk{container-type:inline-size;container-name:trk;background:var(--surface,#fff);border-radius:var(--r3);box-shadow:0 0 0 1px var(--line,#D1D2D4),var(--shadow-sm);overflow:hidden;margin-bottom:var(--s4)}
.trk-head{display:grid;grid-template-columns:auto 1fr auto;gap:var(--s4);align-items:center;padding:var(--s4);border-bottom:1px solid var(--line,#D1D2D4)}
.trk-id{display:flex;flex-direction:column;gap:2px;padding-right:var(--s4);border-right:1px solid var(--line,#D1D2D4);position:relative}
.trk-id small{font-size:.75rem;color:var(--steel-500);text-transform:uppercase;letter-spacing:.05em;font-weight:600}
.trk-id b{font-size:1.375rem;color:var(--text-strong,#0F1A24)}
.trk-id{display:grid;grid-template-columns:auto auto;justify-content:start;align-items:center;column-gap:10px}
.trk-id small{grid-column:1/-1}
.trk-id .iconbtn{width:30px;height:30px}
.trk-title h2{margin:0 0 6px;font-size:1.5rem}
.trk-title p{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--text-2,rgba(15,26,36,.74))}
.trk-headline{font-weight:600;color:var(--text-strong,#162029)}
.trk-eta{text-align:right;padding-left:var(--s4);border-left:1px solid var(--line,#D1D2D4)}
.trk-eta small{display:block;font-size:.75rem;color:var(--steel-500);text-transform:uppercase;letter-spacing:.05em;font-weight:600}
.trk-eta b{display:block;font:700 1.75rem/1.1 var(--display);color:var(--hull-700)}
.trk-eta span{font-size:.875rem;color:var(--text-3,#4F5961)}
.trk-stages{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);margin:0;padding:var(--s4) var(--s4) var(--s3);counter-reset:st;position:relative}
.trk-stages li{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;font-size:.8125rem;font-weight:600;color:var(--steel-500)}
.trk-stages li::before{content:"";position:absolute;top:17px;left:-50%;right:50%;height:4px;background:var(--line,#D1D2D4);z-index:0}
.trk-stages li:first-child::before{display:none}
.trk-stages li.done::before,.trk-stages li.now::before{background:var(--ok)}
.trk-stages i{position:relative;z-index:1;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--surface,#fff);box-shadow:inset 0 0 0 3px var(--line,#D1D2D4);font-style:normal;font-weight:700;color:var(--steel-500)}
.trk-stages li.done i{background:var(--ok);box-shadow:none;color:#fff}
.trk-stages li.now i{background:var(--navy-900);color:var(--gold-500);box-shadow:0 0 0 5px rgba(199,152,77,.35)}
.trk-stages li.done,.trk-stages li.now{color:var(--text-strong,#162029)}
.trk-route{display:grid;grid-template-columns:1fr auto 1fr;gap:var(--s3);align-items:center;margin:0 var(--s4) var(--s4);padding:var(--s3) var(--s4);background:var(--surface-2,#F6F7F8);border-radius:var(--r3)}
.trk-route>div:last-child{text-align:right}
.trk-route small{display:block;font-size:.75rem;color:var(--steel-500);text-transform:uppercase;letter-spacing:.05em;font-weight:600}
.trk-route b{display:block;color:var(--text-strong,#162029)}
.trk-route span{font-size:.8125rem;color:var(--text-3,#4F5961)}
.trk-route-mid{display:flex;align-items:center;gap:8px;color:var(--hull-700)}
.trk-route-mid span{width:60px;height:2px;background:repeating-linear-gradient(90deg,var(--gold-500) 0 8px,transparent 8px 14px)}
.trk-route-mid .i{width:30px;height:30px}
.avl{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:var(--r3);background:var(--surface-2,#F6F7F8);margin:0}
.avl>i{flex:none;width:16px;height:16px;border-radius:50%;background:var(--surface,#fff);box-shadow:inset 0 0 0 2px var(--steel-500)}
.avl b{display:block;font-size:.9375rem;color:var(--text-strong,#162029)}
.avl small{display:block;font-size:.8125rem;color:var(--text-2,rgba(15,26,36,.74))}
.avl.ok{background:#e6f3eb}.avl.ok>i{background:var(--ok);box-shadow:0 0 0 5px rgba(30,125,70,.22);animation:pulse 2.4s infinite}
.avl.warn{background:#fbefe3}.avl.warn>i{background:var(--warn);box-shadow:none}
.avl.info{background:#e5edf5}.avl.info>i{background:var(--info);box-shadow:none}
.avl.mut>i{background:var(--steel-300);box-shadow:none}
.trk .tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
table.avail .avl{display:inline-flex;padding:6px 12px;gap:10px;max-width:260px}
table.avail .avl b{font-size:.875rem}
table.avail td.c-booking{min-width:170px}
table.avail td.c-status{min-width:150px}
table.avail .nowrap{white-space:nowrap}
.avl.big{margin:0 var(--s4) var(--s4);padding:16px 20px}
.avl.big b{font-size:1.0625rem}
td .avl{padding:6px 10px;background:transparent}
td .avl b{font-size:.875rem}
@keyframes pulse{0%,100%{box-shadow:0 0 0 4px rgba(30,125,70,.25)}50%{box-shadow:0 0 0 9px rgba(30,125,70,0)}}
.trk-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);border-top:1px solid var(--line,#D1D2D4)}
.trk-grid.nomap{grid-template-columns:1fr}
.trk-map{min-height:420px;background:#dfe7ee}
.trk-details{padding:var(--s4);border-left:1px solid var(--line,#D1D2D4)}
.trk-details h3,.trk-events h3,.trk-avail h3,.trk-gauge h3{font-size:1.25rem}
.dlist{margin:0;display:grid;gap:0}
.dlist>div{display:grid;grid-template-columns:130px 1fr;gap:10px;padding:9px 0;border-bottom:1px solid var(--surface-2,#F6F7F8);font-size:.9375rem}
.dlist dt{color:var(--text-3,#4F5961);font-size:.8125rem;font-weight:600}
.dlist dd{margin:0;color:var(--text-strong,#162029);white-space:pre-line;word-break:break-word}
.dlist.compact>div{grid-template-columns:150px 1fr}
.conv{display:inline-flex;align-items:center;gap:6px;margin:0 8px 6px 0;padding:3px 10px;border-radius:var(--pill);background:var(--gold-100);font-size:.8125rem;font-weight:600;white-space:nowrap}
.trk-events,.trk-avail,.trk-gauge{padding:var(--s4);border-top:1px solid var(--line,#D1D2D4)}
.tl{list-style:none;margin:0;padding:0;position:relative}
.tl li{position:relative;display:grid;grid-template-columns:44px 1fr;gap:12px;padding-bottom:var(--s4)}
.tl li::before{content:"";position:absolute;left:21px;top:36px;bottom:0;width:2px;background:var(--line,#D1D2D4)}
.tl li:last-child::before{display:none}
.tl-dot{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--ok);color:#fff;font-style:normal}
.tl-dot .i{width:22px;height:22px}
.tl-current .tl-dot{background:var(--navy-900);color:var(--gold-500);box-shadow:0 0 0 5px rgba(199,152,77,.3)}
.tl-planned .tl-dot{background:var(--surface,#fff);color:var(--steel-500);box-shadow:inset 0 0 0 2px var(--steel-300)}
.tl-body{padding-top:4px}
.tl-top{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.tl-top b{color:var(--text-strong,#162029)}
.tl-meta{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:.8125rem;color:var(--text-3,#4F5961);margin:4px 0}
.tl-meta span{display:inline-flex;gap:4px;align-items:center}
.tl-body p{margin:6px 0 0;font-size:.9375rem;color:var(--text-2,rgba(15,26,36,.74))}
.tl-planned .tl-top b{color:var(--text-3,#4F5961)}
.trk-actions{display:flex;flex-wrap:wrap;gap:8px;padding:var(--s3) var(--s4);background:var(--surface-2,#F6F7F8);border-top:1px solid var(--line,#D1D2D4)}
table.avail{width:100%;border-collapse:collapse;font-size:.9375rem}
table.avail th{background:var(--navy-900);color:#fff;text-align:left;padding:10px 12px;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;font-weight:600}
table.avail td{padding:10px 12px;border-bottom:1px solid var(--line,#D1D2D4);vertical-align:middle}
table.avail tr:hover td{background:var(--gold-50)}
.gauge{display:grid;grid-template-columns:140px 1fr;gap:var(--s4);align-items:center}
.gauge-tank{position:relative;height:200px;border-radius:14px 14px 10px 10px;background:linear-gradient(90deg,#c9ced3,#eef0f2 40%,#b9bfc5);box-shadow:inset 0 0 0 2px var(--steel-500);overflow:hidden}
.gauge-tank span{position:absolute;left:0;right:0;bottom:0;height:var(--fill);background:linear-gradient(180deg,var(--hull-600),var(--navy-900));transition:height 1.2s ease}
.gauge-tank span::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--gold-500)}
.gauge-tank em{position:absolute;left:0;right:0;top:46%;text-align:center;font:700 1.25rem var(--display);color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.6);font-style:normal}
.avail-map{height:380px;border-radius:var(--r3);overflow:hidden;margin:var(--s4) 0}
.avail-term{margin:var(--s5) 0;border-radius:var(--r3);box-shadow:0 0 0 1px var(--line,#D1D2D4);overflow:hidden}
.avail-term>header{display:flex;justify-content:space-between;align-items:center;gap:var(--s3);padding:var(--s3) var(--s4);background:var(--surface-2,#F6F7F8);flex-wrap:wrap}
.avail-term h2{font-size:1.375rem;margin:0 0 4px;display:flex;gap:8px;align-items:center}
.avail-term header p{margin:0;color:var(--text-3,#4F5961);display:flex;gap:6px;align-items:center;font-size:.9375rem}
.avail-term .tablewrap{margin:0;border-radius:0;box-shadow:none}
.filters{display:flex;flex-wrap:wrap;gap:var(--s3);margin-top:var(--s4)}
.filters label{display:flex;flex-direction:column;font-size:.8125rem;font-weight:600;color:var(--text-3,#4F5961);gap:4px}
.filters select{height:40px;border:1px solid var(--steel-300);border-radius:var(--r2);padding:0 10px;font:inherit;background:var(--surface,#fff);color:var(--text-strong,#162029);min-width:180px}
.track-help{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s4)}
.track-help>div{padding:var(--s4);background:var(--surface-2,#F6F7F8);border-radius:var(--r3)}
.track-help h2{font-size:1.25rem}
.integrity{display:flex;gap:14px;padding:var(--s4);border-radius:var(--r3);background:var(--navy-900);color:#D9DDE1;margin:var(--s4) 0}
.integrity>.i{width:30px;height:30px;color:var(--gold-500)}
.integrity b{color:#fff;display:block;margin-bottom:4px}
.integrity p{margin:0 0 6px;font-size:.9375rem}
.integrity a{color:var(--gold-500);font-weight:600}
.integrity-mini{display:flex;gap:10px;font-size:.8125rem;color:var(--text-3,#4F5961);padding:12px 14px;border-radius:var(--r3);background:var(--surface-2,#F6F7F8);margin-top:var(--s4)}
.integrity-mini .i{color:var(--hull-700);margin-top:2px}
.leaflet-container{font:inherit}
.cor-pin{display:grid;place-items:center;border-radius:50%;color:#fff;font-weight:700;box-shadow:0 2px 6px rgba(0,0,0,.35)}
.cor-pin.red{background:#D7262B;border:3px solid #fff}
.cor-pin.red::after{content:"";position:absolute;inset:-9px;border-radius:50%;border:2px solid rgba(215,38,43,.5);animation:ring 2s infinite}
@keyframes ring{0%{transform:scale(.6);opacity:1}100%{transform:scale(1.6);opacity:0}}
.cor-pin.node{background:var(--ok);border:2px solid #fff}
.cor-pin.node.cur{background:var(--navy-900);border-color:var(--gold-500)}
.cor-pin.node.plan{background:var(--surface,#fff);border:2px solid var(--steel-500)}
.cor-pin.end{background:var(--gold-500);color:var(--navy-900);border:2px solid var(--navy-900);font-size:11px}
.cor-veh{display:grid;place-items:center;border-radius:50%;background:var(--navy-900);color:var(--gold-500);border:2px solid var(--gold-500);box-shadow:0 0 0 6px rgba(199,152,77,.3)}
.cor-veh svg{width:20px;height:20px}
.cor-hub{width:14px;height:14px;border-radius:50%;background:var(--gold-500);border:2px solid #fff;box-shadow:0 0 0 6px rgba(199,152,77,.25)}
.map-pop b{display:block;color:var(--text-strong,#162029)}
.map-pop span{display:block;font-size:.8125rem;color:var(--text-3,#4F5961)}
.map-pop p{margin:6px 0 0;font-size:.8125rem}


@media(max-width:1023px){.trk-grid{grid-template-columns:1fr}.trk-details{border-left:0;border-top:1px solid var(--line,#D1D2D4)}.track-help{grid-template-columns:1fr}}
@media(max-width:839px){
  .trk-head{grid-template-columns:1fr}.trk-id{border-right:0;padding-right:0}.trk-eta{text-align:left;border-left:0;padding-left:0}
  .trk-stages{padding:16px 6px}.trk-stages span{font-size:.6875rem}.trk-stages i{width:30px;height:30px}.trk-stages li::before{top:13px}
  .trk-route{grid-template-columns:1fr}.trk-route>div:last-child{text-align:left}.trk-route-mid{transform:rotate(90deg);width:40px;justify-self:center}
  .trk-map{min-height:320px}.dlist>div,.dlist.compact>div{grid-template-columns:1fr;gap:2px}
  table.stack thead{display:none}table.stack,table.stack tbody,table.stack tr,table.stack td{display:block;width:100%}
  table.stack tr{padding:10px 12px;border-bottom:2px solid var(--line,#D1D2D4)}
  table.stack td{display:grid;grid-template-columns:120px 1fr;gap:10px;padding:6px 0;border:0}
  table.stack td::before{content:attr(data-label);font-size:.75rem;font-weight:600;color:var(--text-3,#4F5961);text-transform:uppercase}
  .gauge{grid-template-columns:100px 1fr}.gauge-tank{height:160px}
}
.trk-id small{white-space:nowrap}
@container trk (max-width:1100px){
  .trk-head{grid-template-columns:1fr auto;grid-template-areas:"id eta" "title title"}
  .trk-id{grid-area:id;border-right:0}.trk-eta{grid-area:eta}.trk-title{grid-area:title}
  .trk-title h2{font-size:1.3rem}
}
@container trk (max-width:860px){
  .trk-grid{grid-template-columns:1fr}.trk-details{border-left:0;border-top:1px solid var(--line,#D1D2D4)}
}
@container trk (max-width:620px){
  .trk-head{grid-template-columns:1fr;grid-template-areas:"id" "title" "eta"}
  .trk-eta{text-align:left;border-left:0;padding-left:0}
}
@media print{.trk-actions,.no-print{display:none!important}.trk{box-shadow:none;border:1px solid #999}}
.modal-map{position:fixed;inset:0;z-index:3000;background:rgba(15,26,36,.6);display:grid;place-items:center;padding:16px}
.mm-box{background:var(--surface,#fff);border-radius:8px;width:min(900px,100%);overflow:hidden;box-shadow:0 20px 40px rgba(0,0,0,.4)}
.mm-box header,.mm-box footer{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px}
.mm-map{height:min(60vh,520px)}

table.avail a{white-space:nowrap}
table.avail td .avl b{white-space:nowrap}
/* her map markers */
.cor-imgpin{background:none;border:0}
.cor-imgpin img{position:absolute;top:0;max-width:none!important;max-height:none!important;filter:drop-shadow(0 2px 3px rgba(0,0,0,.35))}
.cor-imgpin .cor-dot{position:absolute;left:50%;bottom:-6px;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:#D7262B;border:2px solid #fff;box-shadow:0 1px 3px rgba(0,0,0,.45)}
