body.za-nfc-standalone-page{margin:0;background:#0b0e13;overflow-x:hidden;}
body.za-nfc-standalone-page #wpadminbar{display:none!important;}
html:has(body.za-nfc-standalone-page){margin-top:0!important;}
body.za-nfc-standalone-page .za-nfc-app{min-height:100vh;background:#0b0e13;}
body.za-nfc-standalone-page .za-screen{min-height:100vh;border-radius:0;padding-top:max(40px,env(safe-area-inset-top));}
body.za-nfc-standalone-page a{color:inherit;}

.za-nfc-app{
  --za-bg:#0b0e13;--za-surface:#151a21;--za-border:#252b34;
  --za-text:#e2e8f0;--za-muted:#7d8fab;--za-accent:#f59e0b;
  --za-ok:#22c55e;--za-ok-bg:#052e16;--za-ok-border:#14532d;
  --za-danger:#ef4444;--za-danger-bg:#1c0505;--za-danger-border:#7f1d1d;
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;
  color:var(--za-text);
  max-width:100%;
}
.za-nfc-app *{box-sizing:border-box;}
.za-nfc-app input,.za-nfc-app textarea,.za-nfc-app button{font-family:inherit;}

.za-screen{
  min-height:70vh;
  background:var(--za-bg);
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding:40px 16px 80px;
  border-radius:14px;
}
.za-box{
  width:100%;
  max-width:420px;
  margin:0 auto;
}
.za-logo{display:flex;align-items:center;gap:14px;margin-bottom:28px;}
.za-logo-icon{
  width:52px;height:52px;min-width:52px;
  border:2px solid #3b82f6;border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  font-size:24px;color:#3b82f6;
}
.za-logo h1{font-size:28px;font-weight:800;letter-spacing:-.6px;margin:0;line-height:1;}
.za-logo span{
  font-size:11px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;color:var(--za-muted);
  letter-spacing:.12em;text-transform:uppercase;display:block;margin-top:4px;
}

.za-helper{
  margin:-10px 0 20px;
  color:var(--za-muted);
  font-size:14px;
  line-height:1.5;
}

.za-field{margin-bottom:18px;}
.za-field label{
  display:block;font-size:11px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
  color:var(--za-muted);text-transform:uppercase;letter-spacing:.1em;
  margin-bottom:8px;
}
.za-field input{
  width:100%;background:var(--za-surface);border:1px solid var(--za-border);
  border-radius:10px;padding:16px;color:var(--za-text);font-size:17px;
}
.za-field input:focus{outline:none;border-color:var(--za-accent);}

.za-btn-primary{
  width:100%;background:var(--za-accent);color:#000;font-weight:700;
  font-size:16px;letter-spacing:.03em;text-transform:uppercase;
  padding:17px;border:0;border-radius:10px;cursor:pointer;min-height:58px;
}
.za-btn-primary:disabled{opacity:.5;cursor:not-allowed;}

.za-error{
  background:var(--za-danger-bg);border:1px solid var(--za-danger-border);
  color:var(--za-danger);padding:12px 14px;border-radius:10px;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;line-height:1.4;
  margin-bottom:18px;
}

.za-loading{
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;color:var(--za-muted);
  text-align:center;padding:40px 0;
}

.za-confirm-title{font-size:30px;font-weight:800;margin:0 0 6px;line-height:1.05;}
.za-confirm-sub{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;color:var(--za-muted);margin-bottom:20px;}

.za-user-badge{
  display:flex;align-items:center;gap:8px;
  background:var(--za-surface);border:1px solid var(--za-border);
  border-radius:10px;padding:10px 14px;margin-bottom:20px;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;color:var(--za-muted);
}
.za-user-badge .za-user-dot{
  width:7px;height:7px;min-width:7px;border-radius:50%;background:var(--za-ok);
}
.za-user-badge strong{color:var(--za-text);font-weight:600;}
.za-user-badge .za-user-role{
  margin-left:auto;font-size:10px;text-transform:uppercase;letter-spacing:.06em;
  color:var(--za-accent);
}

.za-textarea{
  width:100%;background:var(--za-surface);border:1px solid var(--za-border);
  border-radius:12px;padding:16px;color:var(--za-text);font-size:16px;
  line-height:1.5;resize:none;min-height:130px;
}
.za-textarea:focus{outline:none;border-color:var(--za-accent);}

.za-actions{display:flex;flex-direction:column;gap:12px;margin-top:18px;}
.za-btn-confirm{
  width:100%;background:var(--za-ok-bg);border:1px solid var(--za-ok-border);
  color:var(--za-ok);font-weight:700;font-size:15px;text-transform:uppercase;
  letter-spacing:.04em;padding:16px;border-radius:10px;cursor:pointer;min-height:56px;
}
.za-btn-confirm:disabled{opacity:.5;cursor:not-allowed;}
.za-btn-cancel{
  width:100%;background:transparent;border:1px solid var(--za-border);
  color:var(--za-muted);font-size:13px;text-transform:uppercase;letter-spacing:.05em;
  padding:14px;border-radius:10px;cursor:pointer;min-height:48px;
}

.za-done-box{text-align:center;padding:20px 10px;}
.za-done-icon{
  font-size:52px;color:var(--za-ok);margin-bottom:14px;line-height:1;
}
.za-done-box h1{font-size:26px;margin:0 0 10px;}
.za-done-box p{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;color:#bbf7d0;line-height:1.5;margin:0 0 10px;}
.za-done-sub{color:var(--za-muted) !important;}

@media(max-width:480px){
  .za-screen{padding:28px 14px 60px;}
  .za-logo h1{font-size:24px;}
}

.za-scan-logo{margin-bottom:18px;}
.za-scan-status{
  background:var(--za-surface);border:1px solid var(--za-border);
  border-radius:12px;padding:15px 16px;margin:14px 0 18px;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
  font-size:13px;color:var(--za-muted);line-height:1.5;
}
.za-scan-match{
  background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.35);
  border-radius:12px;padding:15px 16px;margin:14px 0 18px;
}
.za-scan-match-title{
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
  color:var(--za-ok);font-size:11px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px;
}
.za-scan-zone{font-size:19px;font-weight:800;color:var(--za-text);line-height:1.25;}
.za-scan-meta{
  margin-top:6px;color:#bbf7d0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;
}
.za-scan-note{margin-top:16px !important;margin-bottom:0 !important;font-size:12px;}

.za-manual-beacons{
  margin:16px 0 8px;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.za-manual-title{
  font-size:13px;
  color:var(--za-muted);
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
  line-height:1.5;
}
.za-beakon-card{
  width:100%;
  text-align:left;
  background:var(--za-surface);
  color:var(--za-text);
  border:1px solid var(--za-border);
  border-radius:12px;
  padding:14px 15px;
  cursor:pointer;
}
.za-beakon-card:disabled{opacity:.6;cursor:not-allowed;}
.za-beakon-name{display:block;font-weight:800;font-size:16px;margin-bottom:4px;}
.za-beakon-meta{display:block;color:var(--za-muted);font-size:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.45;}

.za-activity-log-wrap{
  margin-top:16px;
  background:var(--za-surface);border:1px solid var(--za-border);
  border-radius:12px;overflow:hidden;
}
.za-activity-log-wrap summary{
  cursor:pointer;padding:12px 14px;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
  font-size:11px;text-transform:uppercase;letter-spacing:.1em;
  color:var(--za-muted);list-style:none;
}
.za-activity-log-wrap summary::-webkit-details-marker{display:none;}
.za-activity-log-wrap summary::before{content:'▸ ';color:var(--za-accent);}
.za-activity-log-wrap[open] summary::before{content:'▾ ';}
.za-activity-log-wrap[open] summary{border-bottom:1px solid var(--za-border);}
.za-activity-log{
  max-height:220px;overflow-y:auto;padding:10px 14px 14px;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
  font-size:11.5px;line-height:1.6;color:var(--za-muted);
}
.za-activity-log .za-log-line{white-space:pre-wrap;word-break:break-word;}
.za-activity-log .za-log-line.za-log-ok{color:var(--za-ok);}
.za-activity-log .za-log-line.za-log-fail{color:var(--za-danger);}

.za-version-footer{
  text-align:center;padding:18px 0 6px;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
  font-size:11px;color:var(--za-muted);opacity:.6;letter-spacing:.04em;
}

/* ---------- Beacon Check: WP Beacon Connect visual system ----------
   Ported 1:1 from wp-beacon-connect/assets/css/app.css. Scoped to this
   screen only via CSS variable overrides, so every existing component
   (buttons, cards, error boxes, log) picks up the new palette for free
   without duplicating rules. */
#zaScanScreen{
  --za-bg:#f6f8fc;--za-surface:#ffffff;--za-border:#e6e9f0;
  --za-text:#1a2233;--za-muted:#6b7280;--za-accent:#3b6df0;
  --za-ok:#1aa06b;--za-ok-bg:#e6f6ee;--za-ok-border:#bfe9d4;
  --za-danger:#d64545;--za-danger-bg:#fbeaea;--za-danger-border:#f3cccc;
  --za-navy:#0b1220;--za-blue-dark:#2c54c4;--za-amber:#c98a13;
}
#zaScanScreen .za-box{max-width:480px;}
#zaScanScreen .za-scan-logo{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
#zaScanScreen .za-scan-logo .za-logo-icon,
#zaScanScreen .za-scan-logo span{display:none;}
#zaScanScreen .za-scan-logo h1{font-size:20px;font-weight:700;color:var(--za-navy);letter-spacing:-.01em;}
#zaScanScreen .za-helper{color:var(--za-muted);}

/* Cards throughout this screen get WPBC's subtle elevation. */
#zaScanScreen .za-scan-status,
#zaScanScreen .za-beakon-card,
#zaScanScreen .za-activity-log-wrap{
  box-shadow:0 1px 2px rgba(16,24,40,.04);
}
#zaScanScreen .za-scan-status{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;font-size:13px;}
#zaScanScreen .za-manual-title{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;font-weight:600;color:var(--za-navy);font-size:13px;}

#zaScanScreen .za-btn-primary{
  color:#fff;text-transform:none;letter-spacing:-.01em;border-radius:12px;
  box-shadow:0 4px 14px rgba(59,109,240,.3);
}
#zaScanScreen .za-btn-primary:hover{background:var(--za-blue-dark);}
#zaScanScreen .za-btn-confirm{text-transform:none;letter-spacing:-.01em;}
#zaScanScreen .za-btn-cancel{text-transform:none;letter-spacing:-.01em;}

/* Beacon cards: label + site + badge + status pill + Connect button,
   matching wpbc-beacon-card exactly. */
#zaScanScreen .za-beakon-card{
  display:flex;align-items:flex-start;justify-content:space-between;gap:14px;
  border-radius:14px;cursor:default;
}
#zaScanScreen .za-beakon-info{flex:1;min-width:0;}
#zaScanScreen .za-beakon-name{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;font-weight:700;font-size:15px;color:var(--za-navy);letter-spacing:-.01em;margin-bottom:0;}
#zaScanScreen .za-beakon-meta{font-family:"SF Mono",Menlo,Consolas,monospace;font-size:11.5px;color:var(--za-blue-dark);background:#eef2fb;border-radius:6px;padding:4px 8px;display:inline-block;margin-top:6px;}
#zaScanScreen .za-beakon-badge{
  display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:700;
  letter-spacing:.03em;text-transform:uppercase;padding:3px 8px;border-radius:999px;
  margin-top:8px;background:var(--za-ok-bg);color:var(--za-ok);
}
#zaScanScreen .za-beakon-actions{display:flex;flex-direction:column;align-items:flex-end;gap:10px;flex-shrink:0;}
#zaScanScreen .za-beakon-connect-btn{
  background:var(--za-accent);color:#fff;border:none;border-radius:9px;
  padding:9px 18px;font-size:13px;font-weight:700;cursor:pointer;
  box-shadow:0 1px 2px rgba(59,109,240,.25);
}
#zaScanScreen .za-beakon-connect-btn:hover{background:var(--za-blue-dark);}
#zaScanScreen .za-beakon-connect-btn:disabled{opacity:.6;cursor:default;box-shadow:none;}
#zaScanScreen .za-status-pill{
  display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;
  letter-spacing:.02em;text-transform:uppercase;padding:4px 10px 4px 8px;
  border-radius:999px;background:#eef0f4;color:var(--za-muted);white-space:nowrap;
}
#zaScanScreen .za-status-dot{width:6px;height:6px;border-radius:50%;background:currentColor;display:inline-block;}
#zaScanScreen .za-status-busy{background:#eef2fb;color:var(--za-blue-dark);}
#zaScanScreen .za-status-busy .za-status-dot{animation:za-wpbc-pulse 1s ease-in-out infinite;}
#zaScanScreen .za-status-ok{background:var(--za-ok-bg);color:var(--za-ok);}
#zaScanScreen .za-status-error{background:var(--za-danger-bg);color:var(--za-danger);}
@keyframes za-wpbc-pulse{0%,100%{opacity:1;}50%{opacity:.3;}}

/* Setup Status checklist, ported from WP Beacon Connect: honestly surfaces
   platform limitations (Web Bluetooth support, live-scan flag, adapter state)
   instead of failing silently. */
#zaSetupWrap{
  font-size:12.5px;margin-bottom:14px;background:var(--za-surface);
  border:1px solid var(--za-border);border-radius:10px;padding:4px 12px;
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
}
#zaSetupWrap summary{cursor:pointer;padding:8px 0;font-weight:700;list-style:none;color:var(--za-navy);}
#zaSetupWrap summary::-webkit-details-marker{display:none;}
#zaSetupSummary.za-setup-summary-ok{color:var(--za-ok);}
#zaSetupSummary.za-setup-summary-warn{color:var(--za-amber);}
#zaSetupList{display:flex;flex-direction:column;gap:8px;padding:2px 0 10px;}
.za-setup-item{display:flex;align-items:flex-start;gap:8px;line-height:1.4;}
.za-setup-dot{width:8px;height:8px;border-radius:50%;margin-top:4px;flex-shrink:0;}
.za-setup-ok .za-setup-dot{background:var(--za-ok);}
.za-setup-warn .za-setup-dot{background:var(--za-danger);}
.za-setup-unknown .za-setup-dot{background:var(--za-muted);}
.za-setup-ok span{color:var(--za-navy);}
.za-setup-warn span{color:var(--za-danger);font-weight:600;}
.za-setup-unknown span{color:var(--za-muted);}

/* Activity log stays dark navy regardless of the light theme above —
   matches WP Beacon Connect's log exactly. */
#zaScanScreen .za-activity-log-wrap{background:#fff;border-radius:10px;}
#zaScanScreen .za-activity-log-wrap summary{color:var(--za-muted);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;text-transform:none;letter-spacing:0;font-weight:600;}
#zaScanScreen .za-activity-log-wrap summary::before{display:none;}
#zaScanScreen .za-activity-log{background:var(--za-navy);color:#cfe0ff;border-radius:8px;margin:0 0 10px;}
#zaScanScreen .za-activity-log .za-log-line.za-log-ok{color:#7fd9ab;}
#zaScanScreen .za-activity-log .za-log-line.za-log-fail{color:#ff9b9b;}

#zaScanScreen .za-version-footer{color:#b8bfcc;opacity:1;}

/* ---------- Find Location -> Connect (ported 1:1 from WP Beacon Connect) ---------- */
#zaScanScreen .za-find-stage{
  text-align:center;padding:32px 12px;background:var(--za-surface);
  border:1px solid var(--za-border);border-radius:14px;
  box-shadow:0 1px 2px rgba(16,24,40,.04);
}
#zaScanScreen .za-find-btn{
  background:var(--za-accent);color:#fff;border:none;border-radius:12px;
  padding:16px 36px;font-size:16px;font-weight:700;letter-spacing:-.01em;
  cursor:pointer;box-shadow:0 4px 14px rgba(59,109,240,.3);
}
#zaScanScreen .za-find-btn:hover{background:var(--za-blue-dark);}
#zaScanScreen .za-find-btn:disabled{opacity:.5;cursor:default;box-shadow:none;}
#zaScanScreen .za-find-hint{
  margin:14px 0 0;font-size:12px;color:var(--za-muted);
  max-width:320px;margin-left:auto;margin-right:auto;
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
}

#zaScanScreen .za-result-stage{display:flex;flex-direction:column;gap:10px;}
#zaScanScreen .za-result-hint{
  font-size:13px;font-weight:600;color:var(--za-navy);margin:0 0 2px;
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
}

#zaScanScreen .za-notfound{
  text-align:center;padding:32px 20px;background:var(--za-surface);
  border:1px solid var(--za-border);border-radius:14px;
  box-shadow:0 1px 2px rgba(16,24,40,.04);
}
#zaScanScreen .za-notfound-icon{
  width:36px;height:36px;border-radius:50%;background:#fdf3e3;color:var(--za-amber);
  font-weight:800;font-size:17px;display:flex;align-items:center;justify-content:center;
  margin:0 auto 14px;
}
#zaScanScreen .za-notfound-title{margin:0;font-size:16px;font-weight:700;color:var(--za-navy);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;}
#zaScanScreen .za-notfound-sub{margin:6px 0 20px;font-size:13px;color:var(--za-muted);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;}
#zaScanScreen .za-notfound-list-btn{
  display:block;width:100%;background:var(--za-accent);color:#fff;border:none;
  border-radius:10px;padding:12px 18px;font-size:14px;font-weight:700;cursor:pointer;margin-bottom:12px;
}
#zaScanScreen .za-notfound-list-btn:hover{background:var(--za-blue-dark);}
#zaScanScreen .za-find-again-btn{
  align-self:center;background:none;border:none;padding:4px;font-size:12.5px;
  color:var(--za-accent);text-decoration:underline;cursor:pointer;
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
}
#zaScanScreen .za-find-again-btn:hover{color:var(--za-blue-dark);}

#zaScanScreen .za-manual-stage{display:flex;flex-direction:column;gap:10px;}
#zaScanScreen .za-manual-hint{font-size:13px;color:var(--za-muted);margin:0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;}
