/* Vessel tracking test — aligned with the existing ADG operational UI. */
.tracking-shell{min-height:100vh}
.tracking-main{background:var(--gray)}
.tracking-sidebar{display:flex}
.tracking-menu{display:none;font-size:20px;color:var(--navy);line-height:1}
.tracking-toolbar{min-height:48px;background:var(--white);border-bottom:1px solid var(--sidebar-border);display:flex;align-items:center;gap:10px;padding:8px 28px}
.tracking-toolbar label{font-size:12px;font-weight:600;color:var(--slate)}
.tracking-toolbar select{min-width:270px;border:1px solid #D1D5DB;border-radius:var(--rs);background:#fff;color:var(--navy);padding:7px 32px 7px 10px;font:inherit;font-size:13px}
.tracking-toolbar select:focus{outline:2px solid var(--blue-22);border-color:var(--blue)}
.tracking-note{margin-left:auto;color:var(--slate);font-size:11px}
.tracking-content{padding-top:20px}
.tracking-alert{border:1px solid #FCD34D;background:#FFFBEB;color:#92400E;border-radius:var(--r);padding:10px 14px;margin-bottom:16px;font-size:12px}
.tracking-alert.error{border-color:#FCA5A5;background:#FEF2F2;color:#991B1B}
.hidden{display:none!important}
.tracking-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}
.tracking-metrics .mc{padding:18px 20px;cursor:default}
.tracking-metrics .mc:hover{box-shadow:0 1px 3px rgba(0,0,0,.08)}
.tracking-metrics .mval{font-size:21px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tracking-time{font-size:16px!important;line-height:1.25!important}
.tracking-speed{font-size:20px!important}
.tracking-destination{font-family:var(--font)!important;font-size:17px!important}
.tracking-state.live{color:var(--green)}
.tracking-state.delayed{color:#D97706}
.tracking-state.stale,.tracking-state.none{color:var(--slate)}
.tracking-layout{display:grid;grid-template-columns:minmax(0,2.3fr) minmax(280px,.7fr);gap:18px;align-items:start}
.tracking-map-card{position:relative;margin-bottom:18px}
.tracking-card-head{min-height:50px;padding:13px 18px;border-bottom:1px solid var(--sidebar-border);display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff}
.tracking-card-sub{font-size:11px;color:var(--slate);margin-top:2px}
.tracking-legend{display:flex;gap:14px;font-size:10px;color:var(--slate)}
.tracking-legend span{display:flex;align-items:center;gap:5px}
.legend-line{width:18px;height:2px;background:var(--blue);display:inline-block}
.legend-dot{width:8px;height:8px;border-radius:50%;background:var(--orange);display:inline-block}
#tracking-map{height:520px;width:100%;background:#F8FAFC}
.tracking-map-empty{position:absolute;left:50%;top:55%;transform:translate(-50%,-50%);max-width:360px;text-align:center;color:var(--slate);font-size:12px;padding:12px 16px;background:rgba(255,255,255,.88);border:1px solid var(--sidebar-border);border-radius:var(--rs);pointer-events:none}
.tracking-side{display:grid;gap:18px}
.tracking-status-card,.tracking-vessel-card{margin-bottom:0}
.tracking-source-row{display:flex;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid var(--s09)}
.tracking-source-row:last-child{border-bottom:0}
.tracking-source-row strong{display:block;font-size:12px;color:var(--navy)}
.tracking-source-row small{display:block;font-size:11px;color:var(--slate);margin-top:1px;line-height:1.35}
.source-dot{width:9px;height:9px;border-radius:50%;background:#CBD5E1;box-shadow:0 0 0 3px rgba(148,163,184,.12);flex:none}
.source-dot.ok{background:var(--green);box-shadow:0 0 0 3px rgba(22,163,74,.12)}
.source-dot.warn{background:#D97706;box-shadow:0 0 0 3px rgba(217,119,6,.12)}
.source-dot.error{background:var(--red);box-shadow:0 0 0 3px rgba(220,38,38,.12)}
.tracking-details{padding:5px 16px 10px}
.tracking-details>div{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid var(--s09)}
.tracking-details>div:last-child{border-bottom:0}
.tracking-details dt{font-size:11px;color:var(--slate)}
.tracking-details dd{font-size:12px;font-weight:500;color:var(--navy);text-align:right;word-break:break-word}
.tracking-table-card{margin-top:0}
.tracking-table-wrap{overflow:auto}
.tracking-table{width:100%;border-collapse:collapse;min-width:520px}
.tracking-table th{font-size:10px;letter-spacing:.3px;color:var(--slate);font-weight:600;text-align:left;background:#F8FAFC;padding:9px 14px;border-bottom:1px solid var(--sidebar-border)}
.tracking-table td{font-size:12px;color:var(--navy);padding:9px 14px;border-bottom:1px solid var(--s09);font-family:var(--mono)}
.tracking-table tbody tr:last-child td{border-bottom:0}
.tracking-empty-cell{text-align:center!important;color:var(--slate)!important;font-family:var(--font)!important;padding:28px!important}
.tracking-overlay{display:none}
#header-dot.warn{background:#D97706}
#header-dot.error{background:var(--red)}

@media(max-width:1050px){
  .tracking-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tracking-layout{grid-template-columns:1fr}
  .tracking-side{grid-template-columns:repeat(2,minmax(0,1fr))}
  #tracking-map{height:460px}
}
@media(max-width:700px){
  .tracking-sidebar{transform:translateX(-220px)}
  .tracking-sidebar.open{transform:translateX(0)}
  .tracking-main{margin-left:0}
  .tracking-menu{display:block}
  .tracking-toolbar{align-items:flex-start;flex-wrap:wrap;padding:10px 16px}
  .tracking-toolbar select{min-width:0;width:calc(100% - 90px)}
  .tracking-note{width:100%;margin-left:0}
  .tracking-content{padding:16px}
  .tracking-metrics{grid-template-columns:1fr 1fr;gap:10px}
  .tracking-metrics .mc{padding:14px}
  .tracking-metrics .mval{font-size:18px}
  .tracking-side{grid-template-columns:1fr}
  #tracking-map{height:380px}
  .tracking-legend{display:none}
  .tracking-overlay.show{display:block;position:fixed;inset:0;background:rgba(15,23,42,.35);z-index:90}
}
@media(max-width:470px){
  .tracking-metrics{grid-template-columns:1fr}
  .hdr{padding:0 14px}
  .hmeta,.hdiv{display:none}
}

/* Main-system integrated voyage track module */
.vt-page{min-width:0;width:100%}
.vt-toolbar{margin:-24px -28px 18px;padding-left:28px;padding-right:28px}
.vt-map{height:520px;width:100%;background:#F8FAFC}
@media(max-width:700px){
  .vt-toolbar{margin:-16px -16px 16px;padding-left:16px;padding-right:16px}
  .vt-map{height:400px}
}
