:root{
  --bg:#05080b;
  --panel:rgba(5,8,11,0.46);
  --panel-strong:rgba(5,8,11,0.56);
  --glass:rgba(255,255,255,0.045);
  --glass-strong:rgba(255,255,255,0.075);
  --header-glass-bg:var(--panel);
  --line:rgba(218,231,241,0.17);
  --line-strong:rgba(218,231,241,0.31);
  --muted:#9a9a9a;
  --muted-soft:#8d9399;
  --muted-dim:#6f7479;
  --text:#cccccc;
  --accent:#9fd0ff;
  --severity-info:#9fd0ff;
  --severity-notice:#aebf9c;
  --severity-warning:#c9785d;
  --severity-critical:#d95b4b;
  /* Legacy aliases retained for non-event quality/status components. */
  --severity-low:var(--severity-info);
  --severity-medium:var(--severity-notice);
  --severity-high:var(--severity-warning);
  --bad:#ff9b9b;
  --ok:#a7ffbc;
  --warn:#ffe28a;
  --radius:12px;
  --space:14px;
  --font-ui:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,Inter,Arial,sans-serif;
  --font-mono:"SF Mono","Cascadia Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --button-glow-rest-border:rgba(159,208,255,0.075);
  --button-glow-rest-soft:rgba(159,208,255,0.026);
  --button-glow-border:rgba(159,208,255,0.28);
  --button-glow-soft:rgba(159,208,255,0.105);
  --button-glow-wide:rgba(159,208,255,0.046);
  --button-glow-inset:rgba(220,240,255,0.052);
  --glow-blue-border:rgba(159,208,255,0.74);
  --glow-blue-bg:rgba(159,208,255,0.070);
  --glow-blue-ring:rgba(159,208,255,0.30);
  --glow-blue-soft:rgba(159,208,255,0.210);
  --glow-blue-wide:rgba(159,208,255,0.092);
  --glow-blue-inset:rgba(220,240,255,0.068);
  --glow-green-border:rgba(174,191,156,0.72);
  --glow-green-bg:rgba(174,191,156,0.064);
  --glow-green-ring:rgba(174,191,156,0.28);
  --glow-green-soft:rgba(174,191,156,0.180);
  --glow-green-wide:rgba(174,191,156,0.082);
  --glow-green-inset:rgba(224,238,210,0.062);
  --glow-orange-border:rgba(201,120,93,0.76);
  --glow-orange-bg:rgba(201,120,93,0.072);
  --glow-orange-ring:rgba(201,120,93,0.30);
  --glow-orange-soft:rgba(201,120,93,0.195);
  --glow-orange-wide:rgba(201,120,93,0.092);
  --glow-orange-inset:rgba(255,205,180,0.068);
  --glow-red-border:rgba(217,91,75,0.80);
  --glow-red-bg:rgba(217,91,75,0.072);
  --glow-red-ring:rgba(217,91,75,0.31);
  --glow-red-soft:rgba(217,91,75,0.200);
  --glow-red-wide:rgba(217,91,75,0.096);
  --glow-red-inset:rgba(255,198,188,0.070);
}
*,*::before,*::after{
  box-sizing:border-box;
}
body{
  margin:0;
  font-family:var(--font-ui);
  font-size:13px;
  line-height:1.45;
  background:var(--bg);
  color:var(--text);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
html,body{
  color:var(--text);
}
html.overlay-open{
  overflow:hidden;
  overscroll-behavior:none;
}
body.overlay-open{
  position:fixed;
  left:0;
  right:0;
  width:100%;
  overflow:hidden;
  overscroll-behavior:none;
}
body :where(div,span,b,strong,em,small,p,li,td,th,summary){
  color:inherit;
}
a{
  color:var(--accent);
}
.header{
  position:sticky;
  top:0;
  padding:18px 18px 13px;
  border-bottom:1px solid var(--line);
  border-radius:0 0 20px 20px;
  backdrop-filter:blur(24px) saturate(112%) contrast(1.06) brightness(.86);
  -webkit-backdrop-filter:blur(24px) saturate(112%) contrast(1.06) brightness(.86);
  background:var(--header-glass-bg);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.080),
    inset 0 -1px 0 rgba(255,255,255,0.050),
    inset 0 0 0 1px rgba(255,255,255,0.035),
    0 18px 54px rgba(0,0,0,0.36);
  text-transform:uppercase;
  z-index:7000;
  isolation:isolate;
}
.title,.section,.boot-kicker,.setup-kicker{
  font-family:var(--font-ui);
  font-size:10px;
  line-height:1.2;
  letter-spacing:0.38em;
  color:var(--muted);
  font-weight:500;
  text-transform:uppercase;
}
.title{
  margin-bottom:0;
}
.header::before,.header::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
}
.header::before,.header::after{
  display:none;
}
.header > *{
  position:relative;
  z-index:1;
}
.header-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:12px;
}
.freeze-btn{
  flex:0 0 auto;
}
.freeze-btn.active{
  border-color:rgba(159,208,255,0.50);
  color:var(--accent);
  background:rgba(159,208,255,0.052);
  box-shadow:0 0 0 1px var(--button-glow-border),0 0 12px var(--button-glow-soft),0 0 22px var(--button-glow-wide),inset 0 0 0 1px var(--button-glow-inset);
}
.nav,.subnav,.setup-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.nav,.subnav{
  padding:11px 12px;
  margin-left:-12px;
  margin-right:-12px;
}
.subnav{
  margin-top:6px;
}
.header-divider{
  margin:6px 0 0;
  border-top:1px solid var(--line);
}
.header .subnav{
  display:none;
}
.header .subnav.active{
  display:flex;
}
button,.btn,.subbtn{
  background:var(--glass);
  border:1px solid var(--line);
  color:var(--text);
  padding:6px 10px;
  border-radius:var(--radius);
  font-size:10px;
  line-height:1.2;
  letter-spacing:0.16em;
  min-height:28px;
  transition:border-color .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease;
  cursor:pointer;
  font-family:inherit;
  font-weight:500;
  box-shadow:0 0 0 1px var(--button-glow-rest-border),0 0 9px var(--button-glow-rest-soft),inset 0 0 0 1px rgba(220,240,255,0.018);
}
button:hover,.btn:hover,.subbtn:hover{
  transform:translateY(-1px);
  border-color:rgba(159,208,255,0.26);
  background:var(--glass-strong);
  box-shadow:0 0 0 1px rgba(159,208,255,0.12),0 0 11px rgba(159,208,255,0.040),inset 0 0 0 1px rgba(220,240,255,0.024);
}
button.active,.subbtn.active{
  border-color:rgba(159,208,255,0.50);
  color:var(--accent);
  background:rgba(159,208,255,0.052);
  box-shadow:0 0 0 1px var(--button-glow-border),0 0 12px var(--button-glow-soft),0 0 22px var(--button-glow-wide),inset 0 0 0 1px var(--button-glow-inset);
}
button.subbtn,.subbtn{
  min-height:26px;
  font-size:9px;
  letter-spacing:0.14em;
  color:var(--muted);
}
button.subbtn.active,.subbtn.active{
  color:var(--accent);
}
button:focus,.btn:focus,.subbtn:focus{
  outline:none;
  border-color:rgba(159,208,255,0.70);
  box-shadow:0 0 0 1px rgba(159,208,255,0.34),0 0 12px rgba(159,208,255,0.08),0 0 0 3px rgba(159,208,255,0.075);
}
button:active,.btn:active,.subbtn:active{
  transform:translateY(0px);
  border-color:rgba(159,208,255,0.64);
  color:var(--accent);
  background:rgba(159,208,255,0.060);
  box-shadow:0 0 0 1px rgba(159,208,255,0.28),0 0 12px rgba(159,208,255,0.070),0 0 20px rgba(159,208,255,0.028),inset 0 0 0 1px rgba(220,240,255,0.036);
}
.container{
  padding:18px;
  max-width:980px;
  margin:0 auto;
}
.section{
  margin-top:26px;
  margin-bottom:12px;
  color:rgba(163,163,163,0.88);
}
.section-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:34px;
}
.section-row > span{
  min-width:0;
}
.section-row .view-toggle{
  flex:0 0 auto;
}
.section-row .subbtn{
  margin:0;
}
.channel-button-row{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.channel-button-row .subbtn{
  text-align:center;
}
.alias-row{
  display:flex;
  gap:8px;
  margin-top:12px;
  align-items:center;
}
.alias-row input{
  min-width:0;
  flex:1;
  margin:0;
}
.card,.empty{
  margin-top:13px;
  padding:16px;
  border:1px solid var(--line);
  background:var(--glass);
  border-radius:var(--radius);
  transition:0.2s ease;
  line-height:1.5;
}
.card:hover{
  border-color:rgba(159,208,255,0.18);
  background:rgba(255,255,255,0.075);
}

.card.selectable-card{
  cursor:pointer;
  position:relative;
}
.card.selectable-card:focus{
  outline:none;
}
.card.selectable-card:focus-visible{
  border-color:rgba(159,208,255,0.85);
  box-shadow:0 0 0 3px rgba(159,208,255,0.20);
}
.card.selectable-card.selected-card{
  border-color:rgba(159,208,255,0.96);
  background:rgba(159,208,255,0.075);
  box-shadow:0 0 24px rgba(159,208,255,0.16),inset 0 0 18px rgba(159,208,255,0.035);
}
.card.selectable-card.selected-card:hover{
  border-color:rgba(159,208,255,1);
  background:rgba(159,208,255,0.09);
  box-shadow:0 0 28px rgba(159,208,255,0.20),inset 0 0 20px rgba(159,208,255,0.045);
}
.card.selectable-card details summary{
  cursor:pointer;
}
.card > b,.mode-summary b{
  display:block;
  color:var(--text);
  font-family:inherit;
  font-size:12.5px;
  line-height:1.35;
  letter-spacing:.025em;
  font-weight:600;
}
.meta{
  font-size:11px;
  color:var(--muted-soft);
  letter-spacing:.02em;
  line-height:1.55;
  margin-top:4px;
}
.empty{
  border-style:solid;
  color:var(--muted);
  text-align:center;
  padding:18px 16px;
}
.signal,.blocks,.health-bar,.channel-bar{
  letter-spacing:1px;
  font-size:12px;
  margin-top:9px;
  margin-bottom:12px;
  color:var(--accent);
  font-family:var(--font-mono);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:clip;
}
.bssid{
  margin-top:4px;
  font-size:10px;
  color:var(--muted-dim);
  font-family:var(--font-mono);
}
.statusbar{
  font-family:var(--font-ui);
  margin-top:6px;
  padding-top:10px;
  border-top:1px solid var(--line);
  font-size:10px;
  letter-spacing:0.16em;
  color:var(--muted);
  line-height:1.75;
}
#uptime,#statusline1,#statusline2,#statusline3{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
#wifiList .card:first-child,#pview .card:first-child,#apview .card:first-child,#clientView .card:first-child,#cview .card:first-child,#wifistatsView .card:first-child,#aview .card:first-child,#eventsHistoryView .card:first-child,#explainView .card:first-child{
  margin-top:0;
}
.page,.subpage{
  display:none;
}
.page.active,.subpage.active{
  display:block;
}
.hidden{
  display:none!important;
}
.grid{
  display:grid;
  gap:16px;
}
.grid > .card,.grid > .empty{
  margin-top:0;
}
.twocol{
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
}
.row{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:center;
  border-top:1px solid var(--line);
  padding:10px 0;
}
.row:first-child{
  border-top:0;
  padding-top:0;
}
.row span:first-child{
  color:var(--muted);
}
.row b{
  color:var(--text);
  font-family:inherit;
  font-size:11px;
  line-height:1.45;
  letter-spacing:.02em;
  font-weight:500;
  text-align:right;
}
.pill,.quality-pill,.anomaly-level{
  font-family:var(--font-ui);
  border:1px solid var(--line);
  border-radius:999px;
  padding:3px 8px;
  font-size:9px;
  line-height:1.2;
  letter-spacing:0.14em;
  color:var(--muted);
  white-space:nowrap;
}

.event-card-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.event-card-title b{
  display:block;
  color:var(--text);
  font-size:12.5px;
  line-height:1.35;
  letter-spacing:.025em;
  font-weight:600;
}
.event-card-title .event-level{
  margin-bottom:0;
  flex:0 0 auto;
}

.event-level{
  display:inline-block;
  margin-bottom:10px;
}
.event-level.info,.event-level.low,.quality-pill.low{
  border-color:rgba(159,208,255,0.85);
  color:var(--severity-info);
  box-shadow:0 0 0 2px rgba(159,208,255,0.12),inset 0 0 0 1px rgba(159,208,255,0.06);
}
.event-level.notice,.event-level.medium,.quality-pill.medium{
  border-color:rgba(174,191,156,0.86);
  color:var(--severity-notice);
  box-shadow:0 0 0 2px rgba(174,191,156,0.12),inset 0 0 0 1px rgba(174,191,156,0.06);
}
.event-level.warning,.quality-pill.high{
  border-color:rgba(201,120,93,0.88);
  color:var(--severity-warning);
  box-shadow:0 0 0 2px rgba(201,120,93,0.14),inset 0 0 0 1px rgba(201,120,93,0.07);
}
.event-level.critical,.event-level.high,.event-level.bad{
  border-color:rgba(217,91,75,0.90);
  color:var(--severity-critical);
  box-shadow:0 0 0 2px rgba(217,91,75,0.16),inset 0 0 0 1px rgba(217,91,75,0.08);
}

.blocks,
.row .blocks,
.row span.blocks,
.row span.blocks:first-child,
#cview .blocks,
#wifistatsView .blocks,
.meta .blocks{
  color:var(--accent)!important;
}
#wifiList .card > b,
#pview .card > b{
  font-size:14px;
}
.quality-pill{
  border-color:var(--line);
  color:var(--muted);
}
.quality-pill.good{
  border-color:rgba(159,208,255,0.85);
  color:var(--accent);
  box-shadow:0 0 0 2px rgba(159,208,255,0.12),inset 0 0 0 1px rgba(159,208,255,0.06);
}
.quality-pill.bad{
  border-color:rgba(217,91,75,0.92);
  color:#d95b4b;
  box-shadow:0 0 0 2px rgba(217,91,75,0.17),inset 0 0 0 1px rgba(217,91,75,0.08);
}
.mode-summary .pill{
  border-color:rgba(159,208,255,0.56);
  color:var(--accent);
  background:rgba(159,208,255,0.038);
  box-shadow:0 0 0 1px rgba(159,208,255,0.10),0 0 9px rgba(159,208,255,0.032),inset 0 0 0 1px rgba(159,208,255,0.030);
}

.health-pill.health-optimal{
  border-color:rgba(159,208,255,0.85)!important;
  color:var(--accent)!important;
  box-shadow:0 0 0 2px rgba(159,208,255,0.12),inset 0 0 0 1px rgba(159,208,255,0.06)!important;
}
.health-pill.health-stable{
  border-color:rgba(174,191,156,0.82)!important;
  color:var(--severity-medium)!important;
  box-shadow:0 0 0 2px rgba(174,191,156,0.12),inset 0 0 0 1px rgba(174,191,156,0.06)!important;
}
.health-pill.health-unstable{
  border-color:rgba(201,120,93,0.92)!important;
  color:var(--severity-high)!important;
  box-shadow:0 0 0 2px rgba(201,120,93,0.17),inset 0 0 0 1px rgba(201,120,93,0.08)!important;
}
#cview .pill:not(.quality-pill),
#wifiList .pill,
#pview .pill,
#apview .pill,
.watched-pill{
  border-color:rgba(159,208,255,0.85);
  color:var(--accent);
  box-shadow:0 0 0 2px rgba(159,208,255,0.12),inset 0 0 0 1px rgba(159,208,255,0.06);
}
.suspect-pill{
  border-color:rgba(201,120,93,0.88)!important;
  color:var(--severity-high)!important;
  box-shadow:0 0 0 2px rgba(201,120,93,0.14),inset 0 0 0 1px rgba(201,120,93,0.07)!important;
}
.card-pill-row{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  justify-content:flex-end;
  flex:0 0 auto;
}
.network-card-title,
.wifi-card-title{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.network-card-title b,
.wifi-card-title b{
  display:block;
  color:var(--text);
  font-size:14px;
  line-height:1.35;
  letter-spacing:.025em;
  font-weight:600;
}
.network-card-title .watched-pill,
.wifi-card-title .watched-pill,
.network-card-title .suspect-pill,
.wifi-card-title .suspect-pill{
  margin-top:1px;
}
.form-help{
  margin:10px 0 18px;
}
.help-list{
  margin:10px 0 18px;
  padding-left:18px;
  color:var(--muted-soft);
}
.help-list li{
  margin:4px 0;
  color:var(--muted-soft);
}
.quality-pill.busy{
  border-color:rgba(201,120,93,0.88);
  color:var(--severity-high);
  box-shadow:0 0 0 2px rgba(201,120,93,0.14),inset 0 0 0 1px rgba(201,120,93,0.07);
}
.quality-pill.poor{
  border-color:rgba(217,91,75,0.92);
  color:#d95b4b;
  box-shadow:0 0 0 2px rgba(217,91,75,0.17),inset 0 0 0 1px rgba(217,91,75,0.08);
}
.channel-name{
  display:inline-flex;
  align-items:center;
  gap:12px;
}
.row.activity-row{
  align-items:flex-start;
  flex-direction:row;
  gap:14px;
}
.activity-main{
  flex:1 1 auto;
  min-width:0;
}
.activity-meter{
  display:flex;
  align-items:center;
  gap:7px;
  margin:5px 0 2px;
}
.activity-meter .blocks{
  margin:0;
}
.activity-row > .quality-pill{
  flex:0 0 auto;
  margin-top:1px;
}
.big{
  font-size:34px;
  line-height:1;
  color:var(--accent);
  letter-spacing:0.04em;
  font-weight:400;
  font-family:inherit;
}
.bad{
  color:var(--bad)}
.ok{
  color:var(--ok)}
.warn{
  color:var(--warn)}
input,select,textarea{
  width:100%;
  height:42px;
  margin:6px 0 12px;
  padding:10px 12px;
  border-radius:var(--radius);
  border:1px solid var(--line);
  background:var(--glass);
  color:var(--text);
  font-family:inherit;
  font-size:13px;
  line-height:1.2;
  transition:0.2s ease;
}
select{
  appearance:none;
  -webkit-appearance:none;
  background-color:var(--glass);
}
option{
  background:var(--bg);
  color:var(--text);
}
::placeholder{
  color:var(--muted-dim);
  opacity:1;
}
input:hover,select:hover,textarea:hover{
  border-color:rgba(159,208,255,0.22);
  background:var(--glass-strong);
}
input:focus,select:focus,textarea:focus{
  outline:none;
  border-color:var(--accent);
  box-shadow:0 0 0 3px rgba(159,208,255,0.18);
}
.password-wrap{
  position:relative;
  width:100%;
  margin:6px 0 12px;
}
.password-wrap input{
  margin:0;
  padding-right:44px;
}
.password-toggle{
  position:absolute;
  right:6px;
  top:50%;
  width:30px;
  height:30px;
  min-height:0;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  transform:translateY(-50%);
  border-color:transparent;
  background:transparent;
  color:var(--muted-soft);
  letter-spacing:0;
}
.password-toggle:hover{
  transform:translateY(-50%);
  border-color:rgba(159,208,255,0.28);
  color:var(--accent);
  background:rgba(159,208,255,0.07);
}
.password-toggle.active{
  color:var(--accent);
}
.password-toggle svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
label,.aplabel{
  font-family:var(--font-ui);
  font-size:10px;
  line-height:1.25;
  letter-spacing:0.24em;
  color:var(--muted);
  margin-bottom:6px;
  display:block;
  font-weight:500;
  text-transform:uppercase;
}
.required-tag{
  margin-left:6px;
  color:var(--accent);
  letter-spacing:0.14em;
}
.justification-list{
  margin:7px 0 0 0;
  padding-left:17px;
}
.justification-list li{
  margin:3px 0;
  color:var(--muted-soft);
}
.inline-options{
  display:flex;
  gap:14px;
  align-items:center;
  flex-wrap:wrap;
  margin:10px 0 12px}
.inline-options label{
  letter-spacing:.08em;
  margin:0;
  display:flex;
  align-items:center;
  gap:6px;
  text-transform:none}
.inline-options input{
  width:auto;
  margin:0}
.pill-toggle-row{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin:10px 0 12px}
.pill-toggle{
  border:1px solid var(--line);
  border-radius:999px;
  padding:6px 10px;
  background:var(--glass);
  color:var(--muted);
  font-family:var(--font-ui);
  font-size:9px;
  line-height:1.2;
  letter-spacing:.14em;
  text-transform:uppercase}
.pill-toggle:hover{
  border-color:rgba(159,208,255,0.22);
  background:var(--glass-strong);
  transform:translateY(-1px);
}
.pill-toggle.active{
  border-color:rgba(159,208,255,0.50);
  color:var(--accent);
  background:rgba(159,208,255,0.046);
  box-shadow:0 0 0 1px var(--button-glow-border),0 0 10px var(--button-glow-soft),inset 0 0 0 1px var(--button-glow-inset)}
.pill-toggle input{
  display:none}
.scan-promiscuous-toggle{
  margin-top:7px;
}
input:disabled,select:disabled,textarea:disabled{
  opacity:.45;
  cursor:not-allowed}
input:disabled:hover,select:disabled:hover,textarea:disabled:hover{
  border-color:var(--line);
  background:var(--glass);
}

textarea{
  min-height:96px;
  resize:vertical;
}
.tech-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:13px;
}
.tech-cell{
  padding:10px;
  border:1px solid var(--line);
  border-radius:10px;
  background:rgba(255,255,255,0.035);
}
.tech-label{
  font-size:9px;
  letter-spacing:0.14em;
  color:var(--muted-dim);
  margin-bottom:4px;
}
.tech-value{
  font-size:12px;
  color:var(--text);
  font-family:var(--font-mono);
}
#bootScreen{
  position:fixed;
  inset:0;
  width:100vw;
  min-height:100dvh;
  display:grid;
  place-items:center;
  align-items:center;
  justify-content:center;
  padding:22px;
  overflow:hidden;
  z-index:10050;
  isolation:isolate;
  background:#020202;
}
#bootScreen::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:#020202;
}
#setupWizard::before,#loginScreen::before,#profilePromptScreen::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:var(--panel-strong);
  backdrop-filter:blur(24px) saturate(112%) contrast(1.06) brightness(.84);
  -webkit-backdrop-filter:blur(24px) saturate(112%) contrast(1.06) brightness(.84);
}
#bootScreen::after,#setupWizard::after,#loginScreen::after,#profilePromptScreen::after{
  display:none;
}
.bootbox{
  position:relative;
  z-index:1;
  width:100%;
  max-width:560px;
  transform:translateY(-2vh);
  padding:24px 22px 22px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  text-align:center;
}
.svg-defs{
  position:absolute;
  width:0;
  height:0;
  overflow:hidden;
}
.brand-logo{
  display:block;
  width:74px;
  height:74px;
  margin:0 auto 18px;
  color:var(--accent);
  filter:drop-shadow(0 0 22px rgba(159,208,255,0.18));
}
.brand-logo use,.header-logo use{
  fill:currentColor;
}
.header-brand{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
.header-brand-link{
  color:inherit;
  text-decoration:none;
}
.header-brand-link:hover .header-logo,
.header-brand-link:focus-visible .header-logo{
  opacity:1;
}
.header-brand-link:focus-visible{
  outline:1px solid var(--line-strong);
  outline-offset:5px;
  border-radius:6px;
}
.header-logo{
  flex:0 0 auto;
  width:60px;
  height:60px;
  color:var(--accent);
  opacity:.94;
  filter:drop-shadow(0 0 16px rgba(159,208,255,0.14));
}
.brand-subtitle{
  margin-top:3px;
  color:var(--muted-dim);
  font-size:9px;
  line-height:1.2;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.bootbox{
  width:100%;
  max-width:560px;
}
.boot-kicker{
  margin-bottom:12px;
}
.boot-title,.setup-title{
  color:var(--text);
  font-size:19px;
  line-height:1.3;
  font-weight:500;
  letter-spacing:.01em;
}
.boot-title{
  margin-bottom:12px;
}
.loader{
  display:inline-block;
  width:13ch;
  text-align:left;
  font-family:var(--font-mono);
  color:var(--accent);
  letter-spacing:.12em;
  margin-top:18px;
}
.loader span[aria-hidden="true"]{
  opacity:.10;
}

#bootMsg{
  max-width:48ch;
  margin-left:auto;
  margin-right:auto;
  overflow-wrap:break-word;
  word-break:normal;
}
.boot-acronym{
  max-width:46ch;
  margin:0 auto 12px;
  color:var(--accent);
}
.setup-brand{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:14px;
}
.setup-logo{
  width:60px;
  height:60px;
  margin:0;
  filter:drop-shadow(0 0 16px rgba(159,208,255,0.14));
  flex:0 0 auto;
}
.setup-brand .setup-kicker{
  margin-bottom:5px;
}
.copy-popup{
  position:fixed;
  z-index:99998;
  min-width:150px;
  padding:10px 13px;
  border:1px solid rgba(159,208,255,0.45);
  border-radius:var(--radius);
  background:rgba(12,12,12,.94);
  color:var(--accent);
  box-shadow:0 16px 48px rgba(0,0,0,.40),0 0 0 2px rgba(159,208,255,0.10);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  font-size:10px;
  line-height:1.2;
  letter-spacing:.14em;
  text-transform:uppercase;
  cursor:pointer;
  text-align:center;
}
.copy-popup:focus-visible{
  outline:none;
  border-color:rgba(159,208,255,0.90);
  box-shadow:0 0 0 3px rgba(159,208,255,0.20);
}
.mode-summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:10px;
}
.mode-card,
.mode-card *{
  font-family:inherit;
}
.mode-name{
  font-size:22px;
  line-height:1.15;
  color:var(--accent);
  letter-spacing:.01em;
  font-weight:400;
  margin-top:3px;
}
.mode-explain{
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid var(--line);
}
body.action-busy .btn{
  opacity:.55;
  pointer-events:none;
}

#setupWizard,#loginScreen,#profilePromptScreen{
  position:fixed;
  inset:0;
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  overflow:hidden;
  overscroll-behavior:contain;
  background:transparent;
}
.setupbox{
  position:relative;
  z-index:1;
  width:100%;
  max-width:620px;
  max-height:92vh;
  overflow:auto;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--panel-strong);
  box-shadow:0 20px 80px rgba(0,0,0,.50);
  backdrop-filter:blur(24px) saturate(112%) contrast(1.04) brightness(.84);
  -webkit-backdrop-filter:blur(24px) saturate(112%) contrast(1.04) brightness(.84);
  padding:20px;
}
.setup-kicker{
  margin-bottom:14px;
}
.setup-title{
  margin-bottom:8px;
}
.setupbox .section{
  margin-top:18px;
}
.setup-actions,.tool-actions{
  margin-top:8px;
}
.auth-error{
  min-height:18px;
  margin:10px 0 0;
  color:var(--accent);
  font-size:11px;
  line-height:1.35;
}
.authbox .setup-actions{
  align-items:center;
}

.profile-prompt-box{
  max-width:920px;
}
.profile-prompt-box #watchedProfileCard{
  margin-top:10px;
  background:rgba(255,255,255,0.045);
}
.profile-prompt-box #watchedProfileCard .mode-summary{
  margin-bottom:12px;
}
.profile-prompt-actions{
  justify-content:space-between;
  align-items:center;
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid var(--line);
}
.profile-prompt-actions .subbtn{
  margin-left:auto;
}
.scan-toolbar{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  align-items:flex-end;
  margin:8px 0 10px;
}
.scan-toolbar label{
  margin:0;
}
.scan-toolbar input,.scan-toolbar select{
  width:auto;
  min-width:110px;
  height:34px;
  margin:0;
  padding:7px 9px;
  font-size:11px;
}
.scan-toolbar .filter-text{
  min-width:180px;
  flex:1 1 180px;
}
#scanAccessPoints .section-row{
  align-items:center;
  flex-direction:row;
}
#scanAccessPoints .view-toggle{
  margin-left:auto;
}

.view-toggle{
  display:flex;
  gap:7px;
  align-items:center;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.table-wrap{
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;
  border-radius:var(--radius);
}
.scan-table{
  width:100%;
  min-width:620px;
  border-collapse:collapse;
  margin-top:13px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
  background:var(--glass);
  display:table;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.025);
}
.scan-table th,.scan-table td{
  border-top:1px solid var(--line);
  padding:8px 9px;
  text-align:left;
  font-family:var(--font-ui);
  font-size:10.5px;
  line-height:1.45;
  vertical-align:top;
  overflow-wrap:anywhere;
}
.scan-table th{
  white-space:nowrap;
}
.scan-table th{
  border-top:0;
  color:var(--muted);
  font-family:var(--font-ui);
  font-size:9px;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:500;
}
.sortable-th{
  cursor:pointer;
  user-select:none;
  transition:color .18s ease,background .18s ease;
}
.sortable-th:hover,
.sortable-th:focus-visible{
  color:var(--text);
  background:rgba(159,208,255,0.055);
  outline:none;
}
.sortable-th.sorted-asc,
.sortable-th.sorted-desc{
  color:var(--brand);
}
.sort-arrow{
  display:inline-block;
  min-width:11px;
  margin-left:6px;
  font-size:9px;
  letter-spacing:0;
  color:var(--brand);
}
.scan-table tbody tr{
  transition:background .18s ease,box-shadow .18s ease;
  cursor:pointer;
}
.scan-table tbody tr:hover,
.scan-table tbody tr.selected-table-row{
  background:rgba(159,208,255,0.055);
  box-shadow:inset 2px 0 0 rgba(159,208,255,0.30);
}
.scan-table tbody tr.selected-table-row{
  background:rgba(159,208,255,0.082);
  box-shadow:inset 2px 0 0 rgba(159,208,255,0.62),0 0 18px rgba(159,208,255,0.10);
}
.scan-table tbody tr:focus-visible{
  outline:none;
  box-shadow:inset 2px 0 0 rgba(159,208,255,0.80),0 0 0 2px rgba(159,208,255,0.18);
}
.scan-table td{
  color:var(--text);
}
.wifi-card{
  overflow:visible;
}
.wifi-card:before{
  display:none;
}
.wifi-compact-summary{
  margin-top:10px;
}
.detail-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:8px;
  margin-top:10px;
}
.detail-grid .tech-cell{
  padding:8px;
}
.survey-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
  margin-bottom:2px;
}
.action-block{
  margin-top:12px;
}
.action-header{
  display:block;
  margin:0 0 6px;
  color:var(--muted);
  font-size:10px;
  font-weight:500;
  letter-spacing:.16em;
  line-height:1.35;
  text-transform:uppercase;
}
.inline-toggle-row{
  margin:0;
}
.survey-alias-block{
  margin-top:16px;
  padding-top:12px;
  border-top:1px solid var(--line);
}
.survey-alias-block input{
  margin-top:0;
}
.survey-actions .btn,.survey-actions .pill-toggle{
  margin-bottom:0;
}
.btn.recording{
  border-color:#ff9d45!important;
  color:#ffb36a!important;
  background:rgba(255,157,69,.10)!important;
  box-shadow:0 0 0 1px rgba(255,157,69,.34),0 0 14px rgba(255,157,69,.20),0 0 26px rgba(255,157,69,.08),inset 0 0 0 1px rgba(255,210,160,.06);
}
.wizard-card{
  overflow:visible;
}
.profile-builder{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(280px,.85fr);
  gap:var(--space);
  align-items:start;
}
.profile-form,.profile-side-card{
  min-width:0;
}
.profile-side{
  display:grid;
  gap:var(--space);
  align-content:start;
}
.builder-step{
  border-top:1px solid var(--line);
  padding-top:14px;
  margin-top:14px;
}
.builder-step:first-child{
  border-top:0;
  padding-top:0;
  margin-top:0;
}
.builder-step-title{
  display:flex;
  align-items:center;
  gap:9px;
  margin-bottom:8px;
  color:var(--text);
  font-size:12px;
  line-height:1.35;
  font-weight:600;
}
.step-dot{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:22px;
  height:22px;
  border:1px solid var(--line);
  border-radius:999px;
  color:var(--muted);
  background:var(--glass);
  font-size:10px;
  line-height:1;
  box-shadow:none;
}
.builder-inline{
  display:flex;
  gap:8px;
  align-items:center;
  margin-bottom:10px;
}
.builder-inline input,
.builder-inline textarea{
  margin:0;
  min-width:0;
  flex:1 1 auto;
}
.builder-inline .subbtn{
  flex:0 0 auto;
}
.profile-chip-row,.suggestion-list{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin:8px 0 12px;
}
.profile-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 10px;
  border:1px solid var(--line);
  border-radius:11px;
  background:var(--glass);
  color:var(--muted-soft);
  font-size:10.5px;
  line-height:1.2;
}
.profile-chip code{
  font-family:var(--font-mono);
  font-size:10.5px;
  color:inherit;
}
.profile-chip button{
  width:16px;
  height:16px;
  min-height:0;
  padding:0;
  border:0;
  border-radius:999px;
  background:transparent;
  color:var(--muted-soft);
  line-height:1;
  letter-spacing:0;
  box-shadow:none;
}
.profile-chip button:hover{
  color:var(--accent);
  background:rgba(159,208,255,0.08);
  transform:none;
}
.profile-empty{
  color:var(--muted-dim);
  font-size:11px;
  line-height:1.5;
}
.suggestion-list{
  display:grid;
  gap:8px;
}
.suggestion-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 11px;
  border:1px solid var(--line);
  border-radius:12px;
  background:rgba(255,255,255,0.025);
}
.suggestion-item b{
  color:var(--text);
  font-size:11px;
  line-height:1.35;
}
.suggestion-item .meta{
  margin:2px 0 0;
}
.suggestion-item.selected{
  border-color:rgba(159,208,255,0.48);
  background:rgba(159,208,255,0.045);
  box-shadow:0 0 0 1px rgba(159,208,255,0.10),0 0 10px rgba(159,208,255,0.035),inset 0 0 0 1px rgba(159,208,255,0.030);
}
.profile-mode-row{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin:8px 0 12px;
}
.profile-mode-card{
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:rgba(255,255,255,0.03);
  padding:11px 12px;
  cursor:pointer;
  transition:.18s ease;
}
.profile-mode-card:hover{
  border-color:rgba(159,208,255,0.24);
  background:rgba(159,208,255,0.04);
}
.profile-mode-card.active{
  border-color:rgba(159,208,255,0.58);
  background:rgba(159,208,255,0.036);
  box-shadow:0 0 0 1px rgba(159,208,255,0.12),0 0 10px rgba(159,208,255,0.035),inset 0 0 0 1px rgba(159,208,255,0.032);
}
.profile-mode-card.label-active{
  border-color:rgba(174,191,156,0.50);
  background:rgba(174,191,156,0.030);
  box-shadow:0 0 0 1px rgba(174,191,156,0.10),0 0 10px rgba(174,191,156,0.030),inset 0 0 0 1px rgba(174,191,156,0.030);
}
.profile-mode-card b{
  display:block;
  color:var(--text);
  font-size:11px;
  line-height:1.35;
  margin-bottom:3px;
}
.profile-action-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  margin-top:16px;
}
.profile-action-group{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}
.profile-action-group.apply{
  margin-left:auto;
}
.profile-action-group.apply .btn{
  min-width:160px;
}
.profile-side-card{
  padding:14px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:rgba(255,255,255,0.03);
}
.profile-list{
  display:grid;
  gap:8px;
  margin-top:10px;
}
.profile-list-item{
  border:1px solid var(--line);
  border-radius:12px;
  background:rgba(255,255,255,0.025);
  padding:10px 11px;
  cursor:pointer;
  transition:.18s ease;
}
.profile-list-item:hover{
  border-color:rgba(159,208,255,0.24);
  background:rgba(159,208,255,0.04);
}
.profile-list-item.active{
  border-color:rgba(159,208,255,0.58);
  background:rgba(159,208,255,0.036);
  box-shadow:0 0 0 1px rgba(159,208,255,0.12),0 0 10px rgba(159,208,255,0.035),inset 0 0 0 1px rgba(159,208,255,0.032);
}
.profile-list-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.profile-list-name{
  color:var(--text);
  font-size:12px;
  line-height:1.35;
  font-weight:600;
}
.profile-list-meta{
  margin-top:5px;
  color:var(--muted-soft);
  font-size:10px;
  line-height:1.5;
}
.profile-preview-grid{
  display:grid;
  grid-template-columns:82px 1fr;
  gap:7px 10px;
  margin-top:10px;
}
.profile-preview-grid .label{
  color:var(--muted);
  font-size:9px;
  line-height:1.4;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.profile-preview-grid .value{
  color:var(--text);
  font-size:11px;
  line-height:1.5;
}
#wizardRawMeta{
  display:none;
}
.profile-side-title{
  margin:0 0 4px;
  color:var(--muted);
  font-size:10px;
  font-weight:500;
  letter-spacing:.16em;
  line-height:1.35;
  text-transform:uppercase;
}
.profile-side-card .wizard-meta{
  color:var(--muted-soft);
  font-family:inherit;
}
.profile-pill-protected{
  border-color:rgba(159,208,255,0.54)!important;
  color:var(--accent)!important;
  background:rgba(159,208,255,0.040);
  box-shadow:0 0 0 1px rgba(159,208,255,0.10),0 0 9px rgba(159,208,255,0.032),inset 0 0 0 1px rgba(159,208,255,0.030)!important;
}
.profile-pill-label{
  border-color:rgba(174,191,156,0.50)!important;
  color:var(--severity-medium)!important;
  background:rgba(174,191,156,0.032);
  box-shadow:0 0 0 1px rgba(174,191,156,0.085),0 0 9px rgba(174,191,156,0.028),inset 0 0 0 1px rgba(174,191,156,0.028)!important;
}
.profile-builder label,
.profile-builder .aplabel{
  color:var(--muted);
}
.profile-builder .meta,
.profile-builder .form-help,
.profile-builder .wizard-meta,
.profile-list-meta,
.profile-preview-grid .value,
.profile-empty{
  color:var(--muted-soft);
}
.profile-side-card,
.profile-mode-card,
.profile-list-item,
.suggestion-item{
  background:rgba(255,255,255,0.028);
}
.profile-side-title,
.profile-preview-grid .label{
  color:var(--muted);
}
.profile-list-name,
.suggestion-item b,
.profile-mode-card b{
  color:var(--text);
}
.profile-chip code{
  color:var(--text);
}

/* Uniform selected/colored glow language across buttons, pill bars, state pills and profile cards. */
button.active,.subbtn.active,.pill-toggle.active,.freeze-btn.active{
  border-color:var(--glow-blue-border)!important;
  color:var(--accent)!important;
  background:var(--glow-blue-bg)!important;
  box-shadow:0 0 0 1px var(--glow-blue-ring),0 0 12px var(--glow-blue-soft),0 0 24px var(--glow-blue-wide),inset 0 0 0 1px var(--glow-blue-inset)!important;
}
.profile-mode-card.active,.profile-list-item.active,.suggestion-item.selected{
  border-color:var(--glow-blue-border)!important;
  background:var(--glow-blue-bg)!important;
  box-shadow:0 0 0 1px var(--glow-blue-ring),0 0 12px var(--glow-blue-soft),0 0 24px var(--glow-blue-wide),inset 0 0 0 1px var(--glow-blue-inset)!important;
}
.event-level.info,.event-level.low,.quality-pill.low,.quality-pill.good,.health-pill.health-optimal,
#cview .pill:not(.quality-pill):not(.suspect-pill),#wifiList .pill:not(.quality-pill):not(.suspect-pill),#pview .pill:not(.quality-pill):not(.suspect-pill),#apview .pill:not(.quality-pill):not(.suspect-pill),
.watched-pill,.profile-pill-protected,.mode-summary .pill:not(.quality-pill):not(.suspect-pill):not(.profile-pill-label){
  border-color:var(--glow-blue-border)!important;
  color:var(--accent)!important;
  background:var(--glow-blue-bg)!important;
  box-shadow:0 0 0 1px var(--glow-blue-ring),0 0 12px var(--glow-blue-soft),0 0 24px var(--glow-blue-wide),inset 0 0 0 1px var(--glow-blue-inset)!important;
}
.event-level.notice,.event-level.medium,.quality-pill.medium,.health-pill.health-stable,.profile-pill-label{
  border-color:var(--glow-green-border)!important;
  color:var(--severity-medium)!important;
  background:var(--glow-green-bg)!important;
  box-shadow:0 0 0 1px var(--glow-green-ring),0 0 12px var(--glow-green-soft),0 0 24px var(--glow-green-wide),inset 0 0 0 1px var(--glow-green-inset)!important;
}

.profile-mode-card.label-active{
  border-color:var(--glow-green-border)!important;
  background:var(--glow-green-bg)!important;
  box-shadow:0 0 0 1px var(--glow-green-ring),0 0 12px var(--glow-green-soft),0 0 24px var(--glow-green-wide),inset 0 0 0 1px var(--glow-green-inset)!important;
}
.event-level.warning,.quality-pill.high,.quality-pill.busy,.mode-summary .quality-pill.high,.mode-summary .quality-pill.busy,.health-pill.health-unstable,.btn.recording,
.suspect-pill,#cview .pill.suspect-pill,#wifiList .pill.suspect-pill,#pview .pill.suspect-pill,#apview .pill.suspect-pill,.mode-summary .pill.suspect-pill{
  border-color:var(--glow-orange-border)!important;
  color:var(--severity-high)!important;
  background:var(--glow-orange-bg)!important;
  box-shadow:0 0 0 1px var(--glow-orange-ring),0 0 12px var(--glow-orange-soft),0 0 24px var(--glow-orange-wide),inset 0 0 0 1px var(--glow-orange-inset)!important;
}
.event-level.critical,.event-level.high,.event-level.bad,.quality-pill.bad,.quality-pill.poor{
  border-color:var(--glow-red-border)!important;
  color:var(--severity-critical)!important;
  background:var(--glow-red-bg)!important;
  box-shadow:0 0 0 1px var(--glow-red-ring),0 0 12px var(--glow-red-soft),0 0 24px var(--glow-red-wide),inset 0 0 0 1px var(--glow-red-inset)!important;
}
#currentModeView + .grid{
  margin-top:18px;
}

.explain-copyright{
  display:block;
  width:60%;
  max-width:760px;
  margin:28px auto 8px;
  color:var(--accent);
  opacity:.82;
  line-height:0;
  text-decoration:none;
  cursor:pointer;
  transition:opacity .18s ease;
}
.explain-copyright:hover,
.explain-copyright:focus-visible{
  opacity:1;
}
.explain-copyright:focus-visible{
  outline:1px solid var(--line-strong);
  outline-offset:6px;
  border-radius:6px;
}
.explain-copyright-svg{
  display:block;
  width:100%;
  height:auto;
}
@media(max-width:720px){
  .explain-copyright{
    width:66%;
  }
}

/* Final active-control glow guard: keeps nav and Cards/Table toggles in the same neon family even when nested in header or section rows. */
.header .nav button.active,
.header .subnav .subbtn.active,
.view-toggle .subbtn.active{
  border-color:var(--glow-blue-border)!important;
  color:var(--accent)!important;
  background:var(--glow-blue-bg)!important;
  box-shadow:0 0 0 1px var(--glow-blue-ring),0 0 12px var(--glow-blue-soft),0 0 24px var(--glow-blue-wide),inset 0 0 0 1px var(--glow-blue-inset)!important;
}
@media(max-width:720px){
  .profile-prompt-box{
    max-height:94vh;
  }
  .profile-prompt-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .profile-prompt-actions .subbtn{
    margin-left:0;
  }

  .profile-builder{
    grid-template-columns:1fr;
  }
  .builder-inline{
    align-items:stretch;
    flex-direction:column;
  }
  .builder-inline .subbtn{
    width:100%;
  }
  .profile-mode-row{
    grid-template-columns:1fr;
  }
  .profile-action-row{
    display:grid;
    grid-template-columns:1fr;
  }
  .profile-action-group{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .profile-action-group.primary-edit,
  .profile-action-group.apply{
    grid-template-columns:1fr;
  }
  .profile-action-group.apply{
    margin-left:0;
  }
  .profile-action-group.apply .btn{
    width:100%;
  }
  .header{
    position:sticky;
    top:0;
    padding:16px 14px 14px;
  }
  .header-top{
    align-items:center;
  }
  .header-logo{
    width:58px;
    height:58px;
  }
  .nav,.subnav{
    flex-wrap:nowrap;
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    padding:12px 11px;
    margin-left:-11px;
    margin-right:-11px;
    scroll-padding:12px;
  }
  .nav button,.subnav .subbtn{
    flex:0 0 auto;
  }
  .container{
    padding:12px;
  }
  .grid{
    grid-template-columns:1fr;
  }
  .card,.empty{
    padding:13px;
  }
  .scan-toolbar{
    flex-direction:column;
    align-items:stretch;
  }
  .scan-toolbar input,.scan-toolbar select,.scan-toolbar .filter-text{
    width:100%;
    min-width:0;
    flex:1 1 auto;
  }
  .survey-actions,.tool-actions,.setup-actions{
    align-items:stretch;
  }
  .survey-actions .btn,.setup-actions .btn,.tool-actions .btn{
    flex:1 1 auto;
  }
  .mode-summary{
    align-items:flex-start;
  }
  .mode-name{
    font-size:19px;
  }
}
@media(max-width:480px){
  #bootScreen{
    min-height:100dvh;
    padding:18px 14px;
  }
  .bootbox{
    max-width:92vw;
    transform:translateY(-1vh);
    padding:22px 18px 20px;
  }
  .boot-kicker{
    letter-spacing:.24em;
    margin-bottom:14px;
  }
  .boot-title{
    font-size:17px;
  }
  #bootMsg{
    max-width:30ch;
    font-size:10px;
  }
  .loader{
    margin-top:14px;
  }
  .header{
    padding:16px 13px 12px;
  }
  .container{
    padding:13px;
  }
  .nav,.subnav{
    gap:6px;
    padding-top:12px;
    padding-bottom:12px;
  }
  button,.btn,.subbtn{
    font-size:9px;
    padding:7px 9px;
  }
  .big{
    font-size:31px;
  }
  .row{
    align-items:flex-start;
    flex-direction:column;
    gap:3px;
  }
  .row b{
    text-align:left;
  }
  .tech-grid{
    grid-template-columns:1fr;
  }
}


/* Shared Advanced-card rhythm and typography. */
.advanced-card{
  --advanced-gap:12px;
}
.advanced-card .mode-summary{
  margin-bottom:10px;
}
.advanced-card .mode-name{
  font-size:21px;
  line-height:1.14;
}
.advanced-card .meta,
.advanced-card .form-help{
  font-size:11px;
  line-height:1.45;
}
.advanced-card .form-help{
  margin:8px 0 14px;
}
.advanced-card label,
.advanced-card .action-header{
  font-size:10px;
  line-height:1.28;
  letter-spacing:.18em;
}
.advanced-card input,
.advanced-card select,
.advanced-card textarea{
  font-size:13px;
  line-height:1.2;
}
.advanced-card .action-block{
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid var(--line);
}
.advanced-card .action-block:first-of-type{
  margin-top:12px;
}

.relay-app-panel{
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid var(--line);
}
.advanced-card .builder-step{
  margin-top:14px;
  padding-top:14px;
}
.advanced-card .builder-step-title{
  font-size:12px;
  line-height:1.35;
}
.advanced-card .builder-inline,
.advanced-card .survey-actions,
.advanced-card .profile-action-row{
  gap:10px;
}
.integration-card .token-actions{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
}
.integration-card .token-actions input{
  margin:0;
}
.integration-card #apiTokenStatusView,
.integration-card #integrationStatusView{
  margin-top:4px;
}
.integration-card #integrationStatusView{
  margin-bottom:10px;
}
@media(max-width:640px){
  .integration-card .token-actions{
    grid-template-columns:1fr;
  }
  .integration-card .token-actions .subbtn{
    width:100%;
  }
}


/* First-run setup WiFi picker polish. */
.setup-wifi-actions{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  margin:6px 0 8px;
}
.setup-wifi-actions select{
  margin:0;
}
.setup-wifi-actions .subbtn{
  margin:0;
  min-height:42px;
}
#setupWiFiStatus{
  margin:4px 0 12px;
}
#setupWiFiStatus.busy{
  color:var(--accent);
}
#setupWiFiStatus.error{
  color:var(--bad);
}
@media(max-width:640px){
  .setup-wifi-actions{
    grid-template-columns:1fr;
  }
  .setup-wifi-actions .subbtn{
    width:100%;
  }
}


/* UI tuning 0.5.2 */
.profile-action-row.simplified-actions{
  align-items:center;
}
.profile-action-row.simplified-actions .edit-flow{
  flex:1 1 auto;
}
.profile-action-row.simplified-actions .edit-flow .btn{
  min-width:142px;
}
.mode-summary .pill.inactive-pill{
  border-color:var(--line)!important;
  color:var(--muted)!important;
  background:var(--glass)!important;
  box-shadow:none!important;
}
.integration-card .token-regenerate-actions{
  margin-top:10px;
}


/* Mobile form stability: iOS zooms focused controls rendered below 16px. */
@media(max-width:720px), (hover:none) and (pointer:coarse){
  input,select,textarea,
  .advanced-card input,.advanced-card select,.advanced-card textarea{
    font-size:16px;
  }
  .profile-action-group.edit-flow{
    grid-template-columns:1fr;
  }
  .profile-action-group.edit-flow .btn,
  .profile-action-group.edit-flow .subbtn{
    width:100%;
  }
}

/* ==========================================================================\n   ANUBIS Mobile relay adaptation\n   Base visual system above is copied directly from the firmware web/style.css.\n   ========================================================================== */
html { scroll-behavior:smooth; background:var(--bg); }
body { min-height:100dvh; }

.header { padding-bottom:13px; }

.status-pill{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:26px;
  padding:6px 10px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--glass);
  color:var(--muted);
  font-family:var(--font-ui);
  font-size:9px;
  line-height:1.2;
  letter-spacing:.14em;
  font-weight:500;
  text-transform:uppercase;
  white-space:nowrap;
  box-shadow:0 0 0 1px var(--button-glow-rest-border),0 0 9px var(--button-glow-rest-soft),inset 0 0 0 1px rgba(220,240,255,0.018);
}
.status-pill i{ width:6px;height:6px;border-radius:50%;background:var(--muted-dim);box-shadow:0 0 10px rgba(154,154,154,.18); }
.status-pill.live{ border-color:rgba(159,208,255,.50);color:var(--accent);background:rgba(159,208,255,.052);box-shadow:0 0 0 1px var(--button-glow-border),0 0 12px var(--button-glow-soft),0 0 22px var(--button-glow-wide),inset 0 0 0 1px var(--button-glow-inset); }
.status-pill.live i{ background:var(--accent);box-shadow:0 0 10px rgba(159,208,255,.35); }
.status-pill.error{ border-color:rgba(217,91,75,.72);color:var(--severity-critical);background:rgba(217,91,75,.055); }
.status-pill.error i{ background:var(--severity-critical); }

.container { max-width:980px; padding-bottom:calc(32px + env(safe-area-inset-bottom)); }
.mode-card { margin-top:0; }
.mode-name { overflow-wrap:anywhere; }
.relay-actions { display:flex; gap:8px; flex-wrap:wrap; margin-top:12px; }
.relay-main-action { min-width:190px; }
.relay-main-action.enabled { color:var(--muted); border-color:var(--line); background:var(--glass); box-shadow:0 0 0 1px var(--button-glow-rest-border),0 0 9px var(--button-glow-rest-soft),inset 0 0 0 1px rgba(220,240,255,0.018); }
button:disabled,.btn:disabled,.subbtn:disabled{ opacity:.42;cursor:not-allowed;transform:none; }

.copy-row{ display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:stretch; }
.code-field{
  min-width:0;
  min-height:42px;
  display:flex;
  align-items:center;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--glass);
  color:var(--text);
  font-family:var(--font-mono);
  font-size:11px;
  line-height:1.45;
  overflow-wrap:anywhere;
  transition:.2s ease;
}
.code-field.secret{ white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.04em; }
.relay-copy{ min-width:62px; }
.secret-field-wrap{ position:relative;min-width:0; }
.secret-field-wrap .code-field{ width:100%;padding-right:44px; }
.secret-field-wrap .password-toggle{ right:6px;top:50%; }

.event-list{ list-style:none;margin:8px 0 0;padding:0; }
.event-item{ border-top:1px solid var(--line); }
.event-item:first-child{ border-top:0; }
.event-summary{ width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start;padding:12px 0;border:0;border-radius:0;background:transparent;box-shadow:none;text-align:left;color:var(--text); }
.event-summary:hover{ transform:none;background:transparent;box-shadow:none; }
.event-title{ display:block;color:var(--text);font-size:12.5px;line-height:1.35;letter-spacing:.025em;font-weight:600; }
.event-body{ display:block;margin-top:4px;color:var(--muted-soft);font-size:11px;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.event-time{ color:var(--muted-dim);font-family:var(--font-mono);font-size:10px;line-height:1.4;white-space:nowrap; }
.event-payload{ display:none;margin:0 0 12px;padding:10px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.025);color:var(--muted-soft);font:10.5px/1.55 var(--font-mono);white-space:pre-wrap;overflow-wrap:anywhere;overflow-x:auto; }
.event-item.open .event-payload{ display:block; }
.severity-badge,.test-badge{ display:inline-block;margin-left:7px;padding:3px 7px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:8px;line-height:1.2;letter-spacing:.12em;font-weight:500;vertical-align:1px; }
.severity-info{ border-color:rgba(159,208,255,.85);color:var(--severity-info); }
.severity-notice{ border-color:rgba(174,191,156,.86);color:var(--severity-notice); }
.severity-warning{ border-color:rgba(201,120,93,.88);color:var(--severity-warning); }
.severity-critical{ border-color:rgba(217,91,75,.90);color:var(--severity-critical); }

.relay-footer{ display:flex;align-items:center;justify-content:center;gap:9px;margin:28px 0 8px;color:var(--muted-dim);font-size:9px;line-height:1.2;letter-spacing:.16em;text-transform:uppercase; }
.footer-separator{ opacity:.6; }
.footer-anubis,.footer-link{ color:var(--muted);font:inherit;letter-spacing:inherit;text-decoration:none;background:transparent;border:0;box-shadow:none;padding:5px 2px;min-height:0; }
.footer-anubis:hover,.footer-anubis:focus-visible,.footer-link:hover,.footer-link:focus-visible{ color:var(--accent);outline:none;transform:none;background:transparent;box-shadow:none; }

/* Native dialog receives the same setup glass language as the firmware setup/login screens. */
dialog{ width:min(calc(100% - 28px),620px);max-width:620px;padding:0;border:0;background:transparent;color:var(--text);overflow:visible; }
dialog[open]{ display:block; }
dialog::backdrop{ background:rgba(2,2,2,.72);backdrop-filter:blur(18px) saturate(112%) contrast(1.04) brightness(.84);-webkit-backdrop-filter:blur(18px) saturate(112%) contrast(1.04) brightness(.84); }
.relay-dialog{ max-height:min(92vh,720px); }
.relay-steps{ color:var(--muted-soft);font-size:11px;line-height:1.65; }


.install-gate{
  text-align:center;
  padding-top:28px;
  padding-bottom:28px;
}
.install-logo{
  display:block;
  width:74px;
  height:74px;
  margin:0 auto 20px;
  color:var(--accent);
  filter:drop-shadow(0 0 22px rgba(159,208,255,0.18));
}
.install-title{
  margin:0;
  letter-spacing:.30em;
}
.install-copy{
  margin:18px auto 0;
  max-width:360px;
  color:var(--muted-soft);
  font-size:12px;
  line-height:1.7;
}
.install-actions{
  justify-content:center;
  margin-top:22px;
}
.install-primary{
  min-width:190px;
}
.install-manual{
  margin:18px auto 0;
  max-width:420px;
  padding:11px 12px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--glass);
  color:var(--muted-soft);
  font-size:10.5px;
  line-height:1.55;
  text-align:left;
}
.pair-code-input{
  font-family:var(--font-mono);
  font-size:18px;
  letter-spacing:.18em;
  text-transform:uppercase;
  text-align:center;
}

.toast{ position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom));z-index:99998;max-width:calc(100% - 28px);padding:10px 13px;border:1px solid rgba(159,208,255,.45);border-radius:var(--radius);background:rgba(12,12,12,.94);color:var(--accent);box-shadow:0 16px 48px rgba(0,0,0,.40),0 0 0 2px rgba(159,208,255,.10);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);font-size:10px;line-height:1.2;letter-spacing:.08em;text-transform:uppercase;text-align:center;opacity:0;pointer-events:none;transform:translate(-50%,10px);transition:opacity .18s ease,transform .18s ease; }
.toast.visible{ opacity:1;transform:translate(-50%,0); }
.toast.error{ color:var(--severity-critical);border-color:rgba(217,91,75,.55); }

@media(max-width:720px){
  .header-top{ gap:9px; }
  .status-pill{ max-width:132px;overflow:hidden;text-overflow:ellipsis; }
  .relay-main-action{ width:100%; }
  .copy-row{ grid-template-columns:minmax(0,1fr) 64px; }
  .event-summary{ grid-template-columns:1fr;gap:4px; }
  .event-time{ grid-row:2; }
}
@media(max-width:480px){
  .header-logo{ width:58px;height:58px; }
  .title{ letter-spacing:.25em; }
  .brand-subtitle{ letter-spacing:.10em; }
  .status-pill{ font-size:8px;padding:6px 8px;max-width:112px; }
  .relay-footer{ flex-wrap:wrap; }
}
