



.live-wifi-test-dialog{
  border:0;
  padding:0;
  background:transparent;
  width:auto;
  height:auto;
  max-width:none;
  max-height:none;
}
.live-wifi-test-dialog::backdrop{
  background:rgba(21,30,52,.48);
  backdrop-filter:blur(5px);
}
.live-wifi-test-card{
  width:min(620px,calc(100vw - 32px));
  max-height:calc(100dvh - 32px);
  overflow:auto;
  overscroll-behavior:contain;
  background:#fff;
  border:1px solid #e2e6ef;
  border-radius:20px;
  box-shadow:0 24px 70px rgba(15,23,42,.28);
  padding:18px;
  color:#2b2f38;
}
.live-wifi-test-head{
  display:grid;
  grid-template-columns:44px minmax(0,1fr) 34px;
  gap:11px;
  align-items:center;
  margin-bottom:14px;
  cursor:move;
  touch-action:none;
  user-select:none;
}
.live-wifi-test-head-icon{
  width:44px;
  height:44px;
  border-radius:13px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#1E2A78;
  background:linear-gradient(145deg,#eef1fb,#e7f9ff);
  border:1px solid #dce5f5;
  font-size:1.05rem;
}
.live-wifi-test-title{
  color:#1E2A78;
  font-size:1rem;
  line-height:1.2;
  font-weight:800;
}
.live-wifi-test-subtitle{
  margin-top:3px;
  color:#747f92;
  font-size:.7rem;
  line-height:1.35;
}
.live-wifi-test-close{
  width:34px;
  height:34px;
  border:1px solid #e0e4eb;
  border-radius:9px;
  background:#fff;
  color:#667085;
  cursor:pointer;
}
.live-wifi-test-close:hover{color:#1E2A78;border-color:#c9d1e4;background:#f7f9ff;}

.live-wifi-test-hero{
  position:relative;
  min-height:154px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  overflow:hidden;
  border:1px solid #e3e8f2;
  border-radius:16px;
  background:
    radial-gradient(circle at 50% 16%,rgba(75,207,250,.17),transparent 45%),
    linear-gradient(180deg,#fafdff 0%,#f7f9fd 100%);
  padding:20px 16px 18px;
}
.live-wifi-test-hero::before{
  content:'';
  position:absolute;
  left:50%;
  top:-118px;
  width:250px;
  height:250px;
  transform:translateX(-50%);
  border-radius:50%;
  border:1px solid rgba(75,207,250,.28);
  box-shadow:0 0 0 22px rgba(75,207,250,.035),0 0 0 48px rgba(30,42,120,.022);
  pointer-events:none;
}
.live-wifi-test-live-label{
  position:relative;
  z-index:1;
  min-height:17px;
  color:#69758a;
  font-size:.67rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.live-wifi-test-live-value{
  position:relative;
  z-index:1;
  margin-top:4px;
  color:#1E2A78;
  font-size:clamp(2.2rem,8vw,3.3rem);
  line-height:1;
  font-weight:800;
  letter-spacing:-.04em;
  font-variant-numeric:tabular-nums;
}
.live-wifi-test-live-unit{
  position:relative;
  z-index:1;
  margin-top:4px;
  color:#7b8596;
  font-size:.72rem;
  font-weight:700;
}

.live-wifi-test-progress{
  height:5px;
  margin:12px 2px 0;
  overflow:hidden;
  border-radius:999px;
  background:#eef1f5;
}
.live-wifi-test-progress-bar{
  width:0%;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#1E2A78,#4BCFFA);
  transition:width .18s ease;
}
.live-wifi-test-progress-bar.is-indeterminate{
  width:35%;
  animation:liveWifiProgress 1.05s ease-in-out infinite;
}
@keyframes liveWifiProgress{
  0%{transform:translateX(-110%)}
  100%{transform:translateX(320%)}
}

.live-wifi-test-metrics{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin-top:12px;
}
.live-wifi-test-metric{
  min-width:0;
  border:1px solid #e4e8ef;
  border-radius:12px;
  background:#fbfcfe;
  padding:10px 9px;
}
.live-wifi-test-metric-head{
  display:flex;
  align-items:center;
  gap:6px;
  color:#758094;
  font-size:.62rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.045em;
  white-space:nowrap;
}
.live-wifi-test-metric-head i{color:#1E2A78;font-size:.7rem;}
.live-wifi-test-metric-value{
  margin-top:5px;
  color:#27334a;
  font-size:1.03rem;
  line-height:1.15;
  font-weight:800;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.live-wifi-test-metric-value small{font-size:.58rem;color:#7d8799;font-weight:700;}

.live-wifi-test-actions{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  margin-top:12px;
}
.live-wifi-test-start,
.live-wifi-test-secondary{
  min-height:42px;
  border-radius:10px;
  border:1px solid transparent;
  font:inherit;
  font-size:.78rem;
  font-weight:800;
  cursor:pointer;
  transition:background .16s,border-color .16s,box-shadow .16s,color .16s;
}
.live-wifi-test-start{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  background:#1E2A78;
  color:#fff;
  box-shadow:0 6px 16px rgba(30,42,120,.18);
}
.live-wifi-test-start:hover{background:#16205e;}
.live-wifi-test-start.is-running{background:#fff;color:#b42318;border-color:#f0c7c3;box-shadow:none;}
.live-wifi-test-start.is-running:hover{background:#fff6f5;border-color:#eaa29b;}
.live-wifi-test-secondary{
  padding:0 14px;
  background:#fff;
  border-color:#e1e5ec;
  color:#526077;
}
.live-wifi-test-secondary:hover{border-color:#bcc9ee;color:#1E2A78;background:#f8faff;}
.live-wifi-test-secondary[hidden]{display:none!important;}

.live-wifi-test-status{
  display:flex;
  align-items:flex-start;
  gap:8px;
  min-height:34px;
  margin-top:10px;
  padding:8px 10px;
  border-radius:10px;
  background:#f7f8fb;
  color:#677287;
  font-size:.66rem;
  line-height:1.4;
}
.live-wifi-test-status i{color:#1E2A78;margin-top:2px;}
.live-wifi-test-status.is-error{background:#fff5f4;color:#9f2b22;}
.live-wifi-test-status.is-error i{color:#c13b31;}
.live-wifi-test-status.is-success{background:#f2fbf6;color:#27724a;}
.live-wifi-test-status.is-success i{color:#1e9a5c;}
.live-wifi-test-status.is-warning{background:#fff9ec;color:#815d10;}
.live-wifi-test-status.is-warning i{color:#d49216;}

.live-wifi-test-meta{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:9px;
}
.live-wifi-test-chip{
  display:inline-flex;
  align-items:center;
  gap:5px;
  max-width:100%;
  padding:5px 8px;
  border:1px solid #e4e7ed;
  border-radius:999px;
  background:#fff;
  color:#69758a;
  font-size:.61rem;
  font-weight:700;
}
.live-wifi-test-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.live-wifi-test-note{
  display:flex;
  align-items:flex-start;
  gap:7px;
  margin-top:10px;
  color:#7a8496;
  font-size:.61rem;
  line-height:1.45;
}
.live-wifi-test-note i{margin-top:2px;color:#8792a6;}

#liveWifiTestToolbarBtn{
  position:relative;
}
#liveWifiTestToolbarBtn::after{
  content:'';
  position:absolute;
  right:5px;
  top:5px;
  width:6px;
  height:6px;
  border-radius:50%;
  background:#22b573;
  border:1px solid #fff;
}
#liveWifiTestToolbarBtn[hidden]{display:none!important;}

@media(max-width:700px){
  .live-wifi-test-dialog{margin:auto 0 0;width:100%;}
  .live-wifi-test-card{
    width:100%;
    max-height:86dvh;
    border-radius:20px 20px 0 0;
    border-bottom:0;
    padding:14px 12px calc(14px + env(safe-area-inset-bottom));
  }
  .live-wifi-test-head{grid-template-columns:40px minmax(0,1fr) 32px;gap:9px;margin-bottom:10px;}
  .live-wifi-test-head-icon{width:40px;height:40px;border-radius:11px;}
  .live-wifi-test-close{width:32px;height:32px;}
  .live-wifi-test-hero{min-height:132px;padding:17px 12px 15px;}
  .live-wifi-test-metrics{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media(max-width:380px){
  .live-wifi-test-card{padding-left:10px;padding-right:10px;}
  .live-wifi-test-actions{grid-template-columns:1fr;}
  .live-wifi-test-secondary{width:100%;}
}

@media(prefers-reduced-motion:reduce){
  .live-wifi-test-progress-bar{transition:none;}
  .live-wifi-test-progress-bar.is-indeterminate{animation:none;width:100%;opacity:.55;}
}

 
.live-wifi-test-loaded{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin-top:8px;
}
.live-wifi-test-loaded-item{
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:8px 10px;
  border:1px solid #e5e9f0;
  border-radius:11px;
  background:#f9fbfe;
  color:#6d788c;
  font-size:.62rem;
  font-weight:750;
}
.live-wifi-test-loaded-item span{
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0;
}
.live-wifi-test-loaded-item i{color:#1E2A78;}
.live-wifi-test-loaded-item strong{
  color:#27334a;
  font-size:.78rem;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.live-wifi-test-loaded-item strong small{
  font-size:.58rem;
  color:#7d8799;
}
.live-wifi-test-path-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:10px;
}
.live-wifi-test-path-card{
  min-width:0;
  display:grid;
  grid-template-columns:30px minmax(0,1fr);
  gap:8px;
  align-items:start;
  padding:10px;
  border:1px solid #e3e8f0;
  border-radius:12px;
  background:#fff;
}
.live-wifi-test-path-icon{
  width:30px;
  height:30px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:9px;
  background:#f0f4ff;
  color:#1E2A78;
  font-size:.72rem;
}
.live-wifi-test-path-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.live-wifi-test-path-copy>span{
  color:#8a94a6;
  font-size:.56rem;
  line-height:1.2;
  text-transform:uppercase;
  letter-spacing:.055em;
  font-weight:800;
}
.live-wifi-test-path-copy strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#29364e;
  font-size:.69rem;
  line-height:1.35;
  font-weight:800;
}
.live-wifi-test-path-copy small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#798497;
  font-size:.56rem;
  line-height:1.35;
}

@media(max-width:700px){
  .live-wifi-test-path-grid{grid-template-columns:1fr;}
  .live-wifi-test-path-card{grid-template-columns:28px minmax(0,1fr);padding:8px 9px;}
  .live-wifi-test-path-icon{width:28px;height:28px;}
}
@media(max-width:430px){
  .live-wifi-test-loaded{grid-template-columns:1fr;}
}


 
.live-wifi-test-dialog.is-user-positioned{position:fixed;margin:0;right:auto;bottom:auto;}
.live-wifi-test-dialog.is-dragging{user-select:none;}
.live-wifi-test-dialog.is-dragging .live-wifi-test-card{box-shadow:0 30px 80px rgba(15,23,42,.34);}
.live-wifi-test-head button,.live-wifi-test-head input,.live-wifi-test-head a{cursor:pointer;}
@media(max-width:700px){
  .live-wifi-test-head{cursor:default;touch-action:auto;user-select:auto;}
  .live-wifi-test-dialog.is-user-positioned{position:relative;margin:auto 0 0;left:auto!important;top:auto!important;}
}

 
@media(min-width:701px){
  .live-wifi-test-dialog{width:min(620px,calc(100vw - 32px));max-height:calc(100dvh - 32px);position:fixed;inset:0;margin:auto;overflow:visible;}
  .live-wifi-test-dialog:not(.is-user-positioned){left:0;right:0;top:0;bottom:0;margin:auto;}
  .live-wifi-test-dialog.is-user-positioned{inset:auto;position:fixed;margin:0;right:auto;bottom:auto;}
  .live-wifi-test-card{width:100%;max-height:calc(100dvh - 32px);}
}
