.tracking-panel{
  position:relative;
  width:min(96vw,1020px);
  max-height:min(94vh,980px);
  overflow:auto;
  padding:28px 30px 24px;
  background:rgba(255,255,255,.98);
  border:1px solid #d9e7f7;
  border-radius:26px;
  box-shadow:0 32px 90px rgba(7,29,89,.28);
  color:#0b245c;
}
.tracking-close{
  position:absolute;
  top:18px;
  right:22px;
  z-index:8;
  width:42px;
  height:42px;
  border:0;
  background:transparent;
  color:#53627a;
  font:300 42px/1 'Outfit',sans-serif;
  cursor:pointer;
}
.tracking-topbar{
  display:grid;
  grid-template-columns:250px minmax(0,1fr);
  gap:26px;
  align-items:start;
  padding-right:56px;
}
.tracking-brand{
  min-height:118px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:2px 8px;
}
.tracking-logo{
  width:min(100%,230px);
  height:112px;
  object-fit:contain;
}
.tracking-title-block h3{
  margin:4px 0 14px;
  font:700 clamp(2.2rem,4vw,3.25rem)/.98 'Outfit',sans-serif;
  letter-spacing:-.045em;
  color:#092467;
}
.tracking-search{margin:0}
.tracking-search-row{
  display:grid;
  grid-template-columns:minmax(220px,1fr) 185px;
  gap:12px;
  align-items:center;
}
.tracking-search .field{
  height:60px;
  padding:0 20px;
  border:2px solid #d5e4f4;
  border-radius:12px;
  font-size:16px;
  letter-spacing:.02em;
  background:#fff;
}
.tracking-search .field:focus{border-color:#1d86d7;box-shadow:0 0 0 4px rgba(29,134,215,.09)}
.tracking-search .btn{
  height:60px;
  border-radius:12px;
  background:linear-gradient(180deg,#1593e7,#0868bd);
  border-color:#0c75c8;
  box-shadow:0 10px 24px rgba(14,120,203,.2);
  font-size:16px;
  font-weight:700;
}
.tracking-result{margin-top:16px}
.tracking-dashboard{
  position:relative;
  overflow:hidden;
  border-radius:22px;
  padding:12px 12px 18px;
  background:
    radial-gradient(circle at 50% 38%,rgba(72,174,238,.16),rgba(72,174,238,0) 36%),
    linear-gradient(180deg,#fff 0%,#fbfdff 55%,#eef8ff 100%);
  border:1px solid #e0ecf7;
}
.tracking-dashboard:before{
  content:"";
  position:absolute;
  width:82%;
  height:38%;
  left:9%;
  top:16%;
  border-radius:50%;
  background:radial-gradient(ellipse at center,rgba(111,194,244,.16),rgba(111,194,244,0) 70%);
  pointer-events:none;
}
.tracking-visual{
  position:relative;
  width:min(100%,760px);
  height:470px;
  margin:0 auto;
}
.tracking-stage-node{
  position:absolute;
  z-index:5;
  width:110px;
  text-align:center;
  color:#0b255f;
  font-size:13px;
  font-weight:700;
  line-height:1.05;
  transform:translate(-50%,-50%);
}
.tracking-stage-node .stage-icon{
  width:64px;
  height:64px;
  margin:0 auto 7px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#f8fcff;
  border:4px solid #c9e7fb;
  box-shadow:0 7px 20px rgba(22,111,180,.08);
  color:#0b3279;
  transition:.2s ease;
}
.tracking-stage-node .stage-icon svg{width:34px;height:34px}
.tracking-stage-node.done .stage-icon{
  background:#e9f7ff;
  border-color:#67b9ec;
}
.tracking-stage-node.current .stage-icon{
  background:linear-gradient(180deg,#1899eb,#0a73c8);
  border-color:#8bd0f6;
  color:white;
  box-shadow:0 0 0 6px rgba(21,146,228,.10),0 9px 24px rgba(18,116,190,.24);
}
.tracking-stage-node.current .stage-label{color:#0871c5}
.stage-received{left:8%;top:63%}
.stage-processing{left:20%;top:25%}
.stage-washing{left:50%;top:8%}
.stage-drying{left:80%;top:25%}
.stage-ready{left:92%;top:63%}
.tracking-stage-connector{
  position:absolute;
  z-index:2;
  width:10px;
  height:10px;
  border-radius:50%;
  background:#70bbea;
  box-shadow:0 0 0 5px rgba(112,187,234,.12);
}
.connector-one{left:14%;top:49%}.connector-two{left:33%;top:18%}.connector-three{right:33%;top:18%}.connector-four{right:14%;top:49%}
.tracking-arc-wrap{
  position:absolute;
  z-index:3;
  left:50%;
  top:105px;
  width:620px;
  height:355px;
  transform:translateX(-50%);
}
.tracking-arc-wrap svg{width:100%;height:100%;overflow:visible}
.tracking-arc-track{
  fill:none;
  stroke:#d9e8f4;
  stroke-width:34;
  stroke-linecap:butt;
}
.tracking-arc-progress{
  fill:none;
  stroke:url(#trackingProgressGradient);
  stroke-width:34;
  stroke-linecap:butt;
  transition:stroke-dasharray .7s ease;
}
.tracking-arc-inner{
  fill:none;
  stroke:#eff7fc;
  stroke-width:7;
}
.tracking-pointer-bubble{
  fill:#fff;
  stroke:#0a347d;
  stroke-width:3;
  filter:drop-shadow(0 5px 7px rgba(5,53,112,.18));
}
.tracking-pointer-hanger{
  fill:none;
  stroke:#0a347d;
  stroke-width:3;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.tracking-gauge-center{
  position:absolute;
  z-index:4;
  left:50%;
  top:220px;
  width:250px;
  transform:translateX(-50%);
  text-align:center;
}
.tracking-infinity{
  width:88px;
  height:88px;
  margin:0 auto 4px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(180deg,#fff,#edf8ff);
  box-shadow:0 8px 30px rgba(7,77,142,.13),inset 0 0 0 1px #d6ebf9;
  font:700 58px/1 'Outfit',sans-serif;
  color:#0a4a99;
}
.tracking-gauge-center strong{
  display:block;
  margin-top:4px;
  font:800 58px/.95 'Outfit',sans-serif;
  letter-spacing:-.05em;
  color:#0a2767;
}
.tracking-gauge-center span{
  display:block;
  margin-top:5px;
  font:800 18px/1.05 'Outfit',sans-serif;
  letter-spacing:.02em;
  text-transform:uppercase;
  color:#0877c9;
}
.tracking-current-status{
  width:min(94%,760px);
  margin:-4px auto 16px;
  padding:16px 24px;
  border-radius:18px;
  text-align:center;
  background:linear-gradient(180deg,rgba(232,247,255,.96),rgba(218,240,253,.96));
  border:1px solid #cfe8f8;
  position:relative;
  z-index:4;
}
.tracking-current-status h4{
  margin:0;
  font:800 20px/1.15 'Outfit',sans-serif;
  color:#08255f;
}
.tracking-current-status p{
  margin:7px auto 0;
  max-width:650px;
  color:#56657b;
  font-size:14px;
  line-height:1.45;
}
.tracking-confirmed{
  display:inline-flex;
  margin-top:10px;
  padding:5px 9px;
  border-radius:999px;
  background:#fff;
  border:1px solid #cfe8f8;
  color:#58708a;
  font:600 10px/1 'IBM Plex Mono',monospace;
  letter-spacing:.02em;
}
.tracking-info-row{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
  width:min(94%,820px);
  margin:0 auto 16px;
  position:relative;
  z-index:4;
}
.tracking-info{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:10px;
  align-items:center;
  min-height:70px;
  padding:7px 18px;
  border-right:1px solid #c8dced;
}
.tracking-info:last-child{border-right:0}
.tracking-info-icon{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#e7f5ff;
  color:#0d5da9;
  border:1px solid #c8e7fa;
}
.tracking-info-icon svg{width:22px;height:22px}
.tracking-info small{
  display:block;
  margin-bottom:3px;
  color:#617087;
  font-size:11px;
  line-height:1.2;
}
.tracking-info strong{
  display:block;
  color:#09265f;
  font-size:14px;
  line-height:1.2;
}
.tracking-note{
  width:min(94%,860px);
  margin:0 auto;
  display:grid;
  grid-template-columns:48px 1fr;
  gap:12px;
  align-items:center;
  padding:14px 18px;
  border-radius:16px;
  background:rgba(227,245,255,.92);
  border:1px solid #d4ebf9;
  color:#53657e;
  font-size:12px;
  line-height:1.45;
  position:relative;
  z-index:4;
}
.tracking-note-icon{
  width:42px;
  height:42px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#0c6fbd;
  background:white;
  border:1px solid #c8e7fa;
}
.tracking-note-icon svg{width:24px;height:24px}
.tracking-wave{
  position:absolute;
  height:74px;
  bottom:126px;
  border-radius:50%;
  pointer-events:none;
  opacity:.75;
  z-index:1;
}
.tracking-wave-left{
  width:270px;
  left:-120px;
  transform:rotate(7deg);
  border-top:14px solid #19a2ee;
  box-shadow:0 -12px 0 -6px #73d0f7;
}
.tracking-wave-right{
  width:300px;
  right:-135px;
  transform:rotate(-8deg);
  border-top:14px solid #167bd7;
  box-shadow:0 -12px 0 -6px #59bff1;
}
.tracking-error{
  margin:18px 0 4px;
  padding:12px 14px;
  border-radius:10px;
  border:1px solid #f2cccc;
  background:#fff7f7;
  color:#9b3131;
  font-size:13px;
}
@media(max-width:820px){
  .tracking-panel{width:min(96vw,720px);padding:22px 20px}
  .tracking-topbar{grid-template-columns:170px minmax(0,1fr);gap:14px;padding-right:42px}
  .tracking-brand{min-height:96px}.tracking-logo{height:88px}
  .tracking-title-block h3{font-size:34px}
  .tracking-search-row{grid-template-columns:1fr 145px}
  .tracking-visual{height:420px}
  .tracking-arc-wrap{width:560px;top:96px}
  .tracking-gauge-center{top:205px}
  .tracking-stage-node{width:95px;font-size:12px}
  .stage-received{left:7%;top:64%}.stage-ready{left:93%;top:64%}
}
@media(max-width:600px){
  .tracking-panel{width:100%;max-height:94vh;padding:18px 14px 16px;border-radius:20px}
  .tracking-close{top:10px;right:12px;width:36px;height:36px;font-size:34px}
  .tracking-topbar{display:block;padding-right:36px}
  .tracking-brand{justify-content:flex-start;min-height:62px}
  .tracking-logo{width:138px;height:58px}
  .tracking-title-block h3{font-size:31px;margin:4px 0 12px}
  .tracking-search-row{grid-template-columns:1fr}
  .tracking-search .field,.tracking-search .btn{height:52px}
  .tracking-dashboard{margin-top:14px;padding:8px 6px 14px;border-radius:18px}
  .tracking-visual{height:365px;width:100%}
  .tracking-stage-node{width:72px;font-size:10px}
  .tracking-stage-node .stage-icon{width:46px;height:46px;border-width:3px;margin-bottom:4px}
  .tracking-stage-node .stage-icon svg{width:25px;height:25px}
  .stage-received{left:8%;top:65%}
  .stage-processing{left:22%;top:25%}
  .stage-washing{left:50%;top:8%}
  .stage-drying{left:78%;top:25%}
  .stage-ready{left:92%;top:65%}
  .connector-one{left:15%;top:49%}.connector-two{left:34%;top:18%}.connector-three{right:34%;top:18%}.connector-four{right:15%;top:49%}
  .tracking-arc-wrap{width:430px;height:290px;top:84px}
  .tracking-arc-track,.tracking-arc-progress{stroke-width:28}
  .tracking-gauge-center{top:172px;width:185px}
  .tracking-infinity{width:64px;height:64px;font-size:42px}
  .tracking-gauge-center strong{font-size:44px}
  .tracking-gauge-center span{font-size:14px}
  .tracking-current-status{margin-top:-12px;padding:14px 13px}
  .tracking-current-status h4{font-size:18px}
  .tracking-info-row{grid-template-columns:1fr;margin-top:4px}
  .tracking-info{border-right:0;border-bottom:1px solid #d6e5f1;padding:9px 10px}
  .tracking-info:last-child{border-bottom:0}
  .tracking-info strong{font-size:13px}
  .tracking-note{grid-template-columns:38px 1fr;padding:12px;font-size:11px}
  .tracking-note-icon{width:36px;height:36px}
  .tracking-wave{display:none}
}
@media(max-width:410px){
  .tracking-visual{height:335px}
  .tracking-arc-wrap{width:390px;top:80px}
  .tracking-gauge-center{top:164px}
  .tracking-stage-node{font-size:9px}
}
@media(prefers-reduced-motion:reduce){
  .tracking-arc-progress,.tracking-stage-node .stage-icon{transition:none}
}

/* 2026-09-29 mobile tracker geometry polish */
@media(max-width:600px){
  .tracking-panel{padding-top:14px}
  .tracking-brand{min-height:54px}
  .tracking-logo{height:52px}
  .tracking-title-block h3{margin:2px 0 10px}
  .tracking-search-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
  .tracking-search .field{flex:1 1 100%;width:100%}
  .tracking-search .btn{width:auto;min-width:0;padding-left:24px;padding-right:24px;margin:0 auto}
  .tracking-dashboard{margin-top:10px}
  .tracking-visual{height:330px}
  .tracking-arc-wrap{width:390px;height:270px;top:72px}
  .tracking-gauge-center{top:153px}
  .stage-received{left:14%;top:61%}
  .stage-processing{left:24%;top:25%}
  .stage-washing{left:50%;top:7%}
  .stage-drying{left:76%;top:25%}
  .stage-ready{left:86%;top:61%}
  .connector-one{left:18%;top:47%}
  .connector-two{left:35%;top:17%}
  .connector-three{right:35%;top:17%}
  .connector-four{right:18%;top:47%}
  .tracking-current-status{margin-top:-8px}
}
@media(max-width:410px){
  .tracking-visual{height:315px}
  .tracking-arc-wrap{width:365px;height:255px;top:70px}
  .tracking-gauge-center{top:148px}
  .stage-received{left:15%;top:61%}
  .stage-ready{left:85%;top:61%}
}

/* Tracking dialog: keep the milestones outside the progress dial. */
.tracking-panel{
  width:min(94vw,880px);
  padding:24px;
  border-radius:18px;
}
.tracking-topbar{
  display:grid;
  grid-template-columns:84px minmax(0,1fr);
  grid-template-rows:auto auto;
  align-items:center;
  gap:14px 20px;
  padding-right:48px;
}
.tracking-brand{min-height:0;padding:0;justify-content:flex-start}
.tracking-logo{width:84px;height:72px;object-fit:contain}
.tracking-title-block{display:contents}
.tracking-title-block h3{
  grid-column:2;
  margin:0;
  font:600 clamp(2.25rem,5vw,3.4rem)/1 'Cormorant Garamond',Georgia,serif;
  letter-spacing:-.025em;
}
.tracking-search{grid-column:1/-1;width:min(100%,600px);margin:0 auto}
.tracking-search-row{grid-template-columns:minmax(0,1fr) 155px;gap:10px}
.tracking-search .field,.tracking-search .btn{height:52px}
.tracking-search .field{font:500 15px/1.2 'IBM Plex Mono',monospace;letter-spacing:.015em}
.tracking-search .btn{width:100%;font:600 15px/1 'Outfit',sans-serif;background:#071d59;border-color:#071d59;box-shadow:0 6px 16px rgba(7,29,89,.18)}
.tracking-search .btn:hover:not(:disabled){background:#0b2d7a;border-color:#0b2d7a}
.tracking-result{margin-top:14px}
.tracking-dashboard{
  background:radial-gradient(circle at 50% 59%,rgba(111,194,244,.18),transparent 43%),linear-gradient(180deg,#fff 0%,#fbfdff 60%,#edf8ff 100%);
  padding:18px 12px 20px;
}
.tracking-dashboard:before{display:block}
.tracking-visual{
  width:min(100%,650px);
  height:390px;
}
.tracking-stage-node{
  position:absolute;
  width:110px;
  transform:translate(-50%,-50%);
  font:600 12px/1.15 'Outfit',sans-serif;
}
.stage-received{left:13%;top:79%}
.stage-processing{left:22%;top:32%}
.stage-washing{left:50%;top:19%}
.stage-drying{left:78%;top:32%}
.stage-ready{left:87%;top:79%}
.tracking-stage-node .stage-icon{width:54px;height:54px;margin:0 auto 7px;border-width:2px;box-shadow:none}
.tracking-stage-node .stage-icon svg{width:29px;height:29px}
.tracking-stage-node.current .stage-icon{box-shadow:0 0 0 4px rgba(21,146,228,.12)}
.tracking-stage-connector{display:none}
.tracking-arc-wrap{
  width:min(100%,520px);
  height:auto;
  aspect-ratio:620/355;
  top:90px;
}
.tracking-pointer-bubble{r:27;stroke-width:3}
.tracking-pointer-hanger{display:block}
.tracking-gauge-center{top:184px}
.tracking-infinity{width:68px;height:68px;font-size:45px;box-shadow:none}
.tracking-gauge-center strong{font-size:52px}
.tracking-gauge-center span{font-size:15px;letter-spacing:.06em}
.tracking-current-status{margin:0 auto 16px}
.tracking-current-status h4{font:600 27px/1 'Cormorant Garamond',Georgia,serif}
.tracking-wave{display:none}
@media(max-width:600px){
  .tracking-panel{width:calc(100vw - 24px);max-height:calc(100dvh - 36px);padding:16px;border-radius:16px}
  .tracking-close{top:9px;right:10px}
  .tracking-topbar{grid-template-columns:60px minmax(0,1fr);grid-template-rows:auto auto;gap:8px 12px;padding-right:30px}
  .tracking-logo{width:60px;height:60px}
  .tracking-title-block h3{font-size:clamp(1.9rem,9vw,2.5rem);line-height:.95}
  .tracking-search-row{grid-template-columns:minmax(0,1fr);gap:8px}
  .tracking-search{width:min(100%,290px)}
  .tracking-search .field,.tracking-search .btn{height:48px}
  .tracking-search .btn{width:180px;justify-self:center}
  .tracking-dashboard{margin-top:10px;padding:14px 8px 16px}
  .tracking-visual{height:345px}
  .tracking-stage-node{width:66px;font-size:10px;line-height:1.1}
  .tracking-stage-node .stage-icon{width:40px;height:40px;margin-bottom:5px;border-width:2px}
  .tracking-stage-node .stage-icon svg{width:22px;height:22px}
  .stage-received{left:12%;top:78%}
  .stage-processing{left:19%;top:34%}
  .stage-washing{left:50%;top:17%}
  .stage-drying{left:81%;top:34%}
  .stage-ready{left:88%;top:78%}
  .tracking-arc-wrap{width:calc(100% - 48px);height:auto;top:96px}
  .tracking-arc-track,.tracking-arc-progress{stroke-width:28}
  .tracking-gauge-center{top:165px;width:170px}
  .tracking-infinity{display:none}
  .tracking-gauge-center strong{font-size:42px}
  .tracking-gauge-center span{font-size:12px;margin-top:4px}
  .tracking-current-status{margin:0 auto 14px;padding:13px}
  .tracking-current-status h4{font-size:25px}
}
@media(max-width:390px){
  .tracking-stage-node{font-size:9px}
  .tracking-stage-node .stage-icon{width:36px;height:36px}
  .tracking-visual{height:330px}
  .tracking-gauge-center{top:159px}
}
