/* ============================================================
   USA Client Viewer — read-only chrome.
   The page reuses the full Pole Survey DOM (poles.js/audit.js bind to those
   ids at boot), so client builds HIDE the editing surfaces instead of
   removing them. Writes are no-ops in client-stubs.js regardless — this
   layer is presentation, the stub layer is the guarantee.
   ============================================================ */

/* editing / staff chrome */
.nav-links,
#btn-export-toggle,
#btn-pdf-report,
#btn-logout,
#mode-bar,
#obs-panel,
#cand-panel,
#export-panel,
#measure-apply,
#crosshair,
.audit-modes,
#nearmiss-section,
#btn-import-cands { display: none !important; }

/* the brand block is not a link off this page */
.nav-brand { pointer-events: none; }

/* audit body: hide edit/measure affordances that render inside rows */
#audit-body .ai-act,
#audit-body button.btn-danger-hover,
#audit-body .audit-mount-row,
#audit-body .audit-x,
#audit-body .audit-cat,
#audit-body .feas-settings,
#btn-ai-accept-all,
#btn-net-build,
#btn-pole-setup,
#btn-feas-run,
#btn-feas-all { display: none !important; }

/* pole list rows: no edit / delete / double-wood toggles for clients */
.pole-row-edit,
.pole-row-del,
.pole-row-dw { display: none !important; }

/* AR ladder: read-only — no drag toolbar (ar-line.js also gates on VIEWER_MODE) */
#ar-toolbar,
#ar-edit { display: none !important; }

/* premium shell injects a Workspace sidebar cloned from .nav-links — its
   targets (dashboard.html, survey.html, ...) don't exist on this subdomain.
   Zeroing --usa-side-w collapses EVERY offset premium-skin derives from it
   (body padding, #layout/#map-wrap/.full-layout left) so the map + poles
   column sits flush left and the pano viewer gets the reclaimed width. */
:root { --usa-side-w: 0px !important; }
#usa-side,
#usa-theme-btn { display: none !important; }
body { padding-left: 0 !important; }

/* staff-only tabs: Candidates panel is hidden, and the Audit tab is
   deliberately not part of the client deliverable — poles + AR ladder
   carry the client-facing measurements */
#left-tabs .ltab[data-panel="cand-panel"],
#left-tabs .ltab[data-panel="audit-panel"] { display: none !important; }
#audit-panel { display: none !important; }

/* give the pano more room now that the observation panel is gone */
#right-col { grid-template-rows: auto 1fr auto; }

/* ── import gate ─────────────────────────────────────────── */
#usa-gate {
  position: fixed; inset: 0; z-index: 400;
  display: flex; align-items: center; justify-content: center;
  background:
    radial-gradient(1200px 600px at 70% -10%, rgba(190, 30, 30, 0.16), transparent 60%),
    radial-gradient(900px 500px at 10% 110%, rgba(56, 189, 248, 0.10), transparent 60%),
    #0b1220;
  opacity: 1; transition: opacity 0.5s ease;
}
#usa-gate.gone { opacity: 0; pointer-events: none; }

.gate-card {
  width: min(560px, calc(100vw - 48px));
  background: rgba(15, 23, 42, 0.92);
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 16px;
  padding: 36px 40px 28px;
  text-align: center;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.55);
}
.gate-logo { height: 64px; margin-bottom: 14px; }
.gate-card h1 {
  font-size: 24px; color: #f1f5f9; margin: 0 0 10px;
  letter-spacing: 0.2px;
}
.gate-sub { font-size: 13px; color: #94a3b8; line-height: 1.6; margin: 0 0 22px; }
.gate-sub b, .gate-card b { color: #e2e8f0; }

#gate-drop {
  display: flex; flex-direction: column; align-items: center; gap: 10px;
  border: 1.5px dashed rgba(148, 163, 184, 0.35);
  border-radius: 12px; padding: 26px 18px;
  color: #cbd5e1; font-size: 13px;
  transition: border-color 0.15s ease, background 0.15s ease;
}
#gate-drop.over {
  border-color: #22c55e;
  background: rgba(34, 197, 94, 0.07);
}
.gate-drop-icon { width: 34px; height: 34px; color: #38bdf8; }
.gate-or { font-size: 11px; color: #64748b; }

#gate-status { min-height: 22px; margin-top: 14px; font-size: 12.5px; }
#gate-status.err  { color: #fca5a5; }
#gate-status.ok   { color: #4ade80; }
#gate-status.busy { color: #93c5fd; }

.gate-foot { margin-top: 18px; font-size: 10.5px; color: #475569; }
