
*{box-sizing:border-box}
:root{--text:#fff;--muted:rgba(255,255,255,.62);--line:rgba(255,255,255,.16);--panel:rgba(0,0,0,.42);--blue:#53b8ff}
html,body{margin:0;min-height:100%;background:#000;color:var(--text);font-family:Inter,sans-serif}
body{position:relative;overflow-x:hidden}
.page-bg{position:fixed;inset:0;background:radial-gradient(circle at 50% 100%,rgba(0,140,255,.24),transparent 28%),radial-gradient(circle at 72% 86%,rgba(0,140,255,.12),transparent 12%),linear-gradient(to bottom,#000 0%,#000 64%,#031628 100%);z-index:0}
.particle-glow{position:fixed;left:0;right:0;bottom:0;height:42vh;background:radial-gradient(circle,rgba(0,140,255,.65) 1px,transparent 1.6px);background-size:16px 16px;opacity:.22;filter:blur(1px);z-index:0}
.topbar,.container,.support-widget,.help-menu,.modal-backdrop{position:relative;z-index:2}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:32px 32px 20px}
.brand-logo{height:56px}.brand-link{display:inline-flex}
.nav-pills,.analytics-tabs,.range-tabs{display:flex;gap:12px;flex-wrap:wrap}
.nav-pill,.analytics-pill,.ghost-btn,.primary-btn,.range-pill,.tiny-link-btn{
border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--text);
padding:12px 18px;font-size:12px;letter-spacing:.22em;text-transform:uppercase;text-decoration:none;cursor:pointer;
display:inline-flex;align-items:center;justify-content:center}
.analytics-pill.project-tab{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.analytics-pill.active,.nav-pill.active,.primary-btn,.range-pill.active{background:#fff;color:#000;border-color:#fff}
.tiny-link-btn{padding:0;background:none;border:none;color:var(--blue);text-transform:none;letter-spacing:0;font-size:14px}
.container{width:min(1280px,calc(100% - 48px));margin:0 auto;padding:8px 0 120px}
.section-head{margin-bottom:28px}.eyebrow{margin:0 0 10px;color:var(--muted);font-size:11px;letter-spacing:.35em;text-transform:uppercase}
h1{margin:0;font-size:clamp(34px,5vw,56px);line-height:.98;letter-spacing:-.04em;font-weight:600}
h2{margin:0 0 20px;font-size:24px;font-weight:600} h3{margin:0 0 12px;font-size:20px;font-weight:500}
.subtext{margin:14px 0 0;max-width:760px;color:var(--muted);line-height:1.65}
.glass-card,.project-card{background:rgba(0,0,0,.42);backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:30px;overflow:hidden}
.project-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px}
.project-card{min-height:356px;cursor:pointer}
.project-image{width:100%;height:220px;object-fit:cover;display:block}
.project-image.wide{width:130%;margin-left:-15%}
.project-image.dashed{display:flex;align-items:center;justify-content:center;border:1px dashed var(--line);background:rgba(255,255,255,.03)}
.plus-circle{font-size:64px;color:rgba(255,255,255,.82)}
.project-body{padding:22px}.project-body p{margin:0;color:var(--muted)}
.status-text{display:inline-block;margin-top:10px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--blue)}
.two-col{display:grid;grid-template-columns:1.15fr .85fr;gap:24px}
.glass-card{padding:28px}
.form-grid{display:grid;gap:18px;margin-bottom:20px}
label span{display:block;margin-bottom:10px;color:var(--muted);font-size:12px;letter-spacing:.14em;text-transform:uppercase}
input[type=text],input[type=email],input[type=file]{width:100%;border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--text);border-radius:18px;padding:14px 16px;outline:none}
.upload-box{border:1px dashed var(--line);border-radius:24px;min-height:280px;display:grid;place-items:center;text-align:center;padding:24px;background:rgba(255,255,255,.02)}
#logoPreview{max-height:110px;max-width:100%;object-fit:contain;margin-top:16px}
.subscription-row{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}
.subscription-left{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.subscription-row p{margin:8px 0 0;color:var(--muted)}
.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}
.stats-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.stat-box,.chart-box,.heatmap-box,.top-products,.engagement-box{border:1px solid var(--line);border-radius:24px;padding:20px;background:rgba(255,255,255,.03)}
.stat-box span{display:block;color:var(--muted);margin-bottom:10px;font-size:13px}.stat-box strong{font-size:30px}
.chart{height:260px;position:relative;overflow:hidden;background:linear-gradient(to top,rgba(255,255,255,.06) 1px,transparent 1px) 0 0/100% 20%,linear-gradient(to right,rgba(255,255,255,.04) 1px,transparent 1px) 0 0/12.5% 100%;border-radius:18px}
.chart svg{width:100%;height:100%}
.chart-labels{display:flex;justify-content:space-between;margin-top:12px;color:var(--muted);font-size:12px}
.square-wrap,.triple-wrap{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch}
.heatmap-box{aspect-ratio:1/1;min-height:520px;height:100%}.top-products{height:100%}
.floorplan{
position:relative;width:100%;height:100%;overflow:hidden;border-radius:18px;background:
radial-gradient(circle at 18% 24%,rgba(83,184,255,.06),transparent 18%),
radial-gradient(circle at 78% 16%,rgba(83,184,255,.04),transparent 15%),
radial-gradient(circle at 68% 72%,rgba(83,184,255,.05),transparent 16%)
}
.heat-core{position:absolute;border-radius:50%;background:radial-gradient(circle,rgba(83,184,255,.96) 0%,rgba(83,184,255,.55) 42%,rgba(83,184,255,.16) 72%,transparent 86%);filter:blur(5px)}
.core-1{width:180px;height:180px;left:8%;top:28%}.core-2{width:210px;height:210px;left:40%;top:16%}.core-3{width:170px;height:170px;left:58%;top:52%}.core-4{width:160px;height:160px;left:24%;top:60%}
.path{position:absolute;border-radius:999px;background:linear-gradient(90deg,rgba(83,184,255,.12),rgba(83,184,255,.72),rgba(83,184,255,.14))}
.path-a{width:50%;height:22px;left:8%;top:32%;transform:rotate(11deg)}.path-b{width:40%;height:20px;left:34%;top:43%;transform:rotate(-15deg)}.path-c{width:42%;height:18px;left:18%;top:58%;transform:rotate(22deg)}.path-d{width:32%;height:18px;left:56%;top:63%;transform:rotate(-8deg)}.path-e{width:24%;height:16px;left:62%;top:26%;transform:rotate(-34deg)}.path-f{width:16%;height:14px;left:46%;top:51%;transform:rotate(36deg)}
.point{position:absolute;width:12px;height:12px;border-radius:50%;background:#7fd0ff;box-shadow:0 0 14px rgba(83,184,255,.95)}
.pt-1{left:22%;top:32%}.pt-2{left:37%;top:41%}.pt-3{left:49%;top:51%}.pt-4{left:66%;top:62%}.pt-5{left:74%;top:28%}.pt-6{left:30%;top:68%}
.top-products table,.engagement-box table,table{width:100%;border-collapse:collapse}
.top-products th,.top-products td,.engagement-box th,.engagement-box td,th,td{text-align:left;padding:14px 8px;border-bottom:1px solid var(--line)}
th,.top-products th,.engagement-box th{color:var(--muted);font-weight:500;font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.table-wrap{overflow-x:auto}
.status-pill{color:var(--blue);cursor:pointer;text-transform:uppercase;letter-spacing:.12em;font-size:11px;text-decoration:none}
.status-pill.hovered::after{content:'Deactivate?'} .status-pill.hovered{font-size:0}
.role-select-wrap{display:inline-flex;align-items:center;color:var(--blue);font-size:14px;cursor:pointer}
.role-select-wrap select{appearance:none;background:none;border:none;color:var(--blue);padding:0;font-size:14px;text-transform:none;cursor:pointer}
.role-select-wrap select option{color:#000;background:#fff}
.analytics-panel{display:none}.analytics-panel.active{display:block}
.support-widget{position:fixed;right:24px;bottom:24px;display:inline-flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.25);background:#fff;color:#000;border-radius:999px;padding:10px 16px 10px 12px;text-decoration:none;font-size:12px;letter-spacing:.18em;text-transform:uppercase;box-shadow:0 8px 24px rgba(0,0,0,.28)}
.support-widget img{width:18px;height:18px}
.help-menu{position:fixed;right:24px;bottom:78px;width:220px;background:rgba(0,0,0,.92);border:1px solid var(--line);border-radius:20px;padding:12px;display:none}
.help-menu.open{display:block}.help-menu a{display:block;color:#fff;text-decoration:none;padding:12px 10px;border-radius:12px;text-transform:uppercase;letter-spacing:.14em;font-size:12px}
.help-menu a:hover{background:rgba(255,255,255,.06)}
.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.58);display:none;align-items:center;justify-content:center}
.modal-backdrop.open{display:flex}
.modal{width:min(480px,calc(100% - 32px));background:rgba(0,0,0,.95);border:1px solid var(--line);border-radius:26px;padding:28px}
.modal p{color:var(--muted);line-height:1.6}.modal-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.text-link{color:var(--blue);text-decoration:none;cursor:pointer}
.faq-item{padding:18px 0;border-bottom:1px solid var(--line)}.faq-item h3{font-size:18px;margin-bottom:10px}.faq-item p{margin:0;color:var(--muted);line-height:1.7;white-space:pre-line}
@media (max-width:1200px){.project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:980px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.square-wrap,.two-col,.triple-wrap{grid-template-columns:1fr}}
@media (max-width:900px){.topbar{flex-direction:column;align-items:flex-start}.project-grid{grid-template-columns:1fr}.container{width:min(100% - 32px,1280px)}}
@media (max-width:640px){.topbar{padding:24px 16px 12px}.container{width:calc(100% - 24px);padding-bottom:100px}.glass-card,.project-card{border-radius:22px}.support-widget{right:14px;bottom:14px}.help-menu{right:14px;bottom:66px}.stats-grid,.stats-grid.three{grid-template-columns:1fr}}


.path{position:absolute;border-radius:999px;background:linear-gradient(90deg,rgba(83,184,255,.10),rgba(83,184,255,.78),rgba(83,184,255,.16))}
.path-a{width:52%;height:24px;left:8%;top:31%;transform:rotate(9deg)}
.path-b{width:38%;height:24px;left:34%;top:42%;transform:rotate(-12deg)}
.path-c{width:46%;height:22px;left:18%;top:57%;transform:rotate(18deg)}
.path-d{width:35%;height:22px;left:54%;top:61%;transform:rotate(-6deg)}
.path-e{width:26%;height:18px;left:61%;top:26%;transform:rotate(-30deg)}
.path-f{width:18%;height:16px;left:44%;top:50%;transform:rotate(34deg)}
.dwell{position:absolute;border-radius:50%;background:radial-gradient(circle,rgba(83,184,255,.98) 0%,rgba(83,184,255,.7) 38%,rgba(83,184,255,.18) 74%,transparent 88%);filter:blur(3px)}
.dwell-1{width:130px;height:130px;left:16%;top:26%}
.dwell-2{width:160px;height:160px;left:40%;top:20%}
.dwell-3{width:110px;height:110px;left:62%;top:56%}
.dwell-4{width:120px;height:120px;left:25%;top:61%}
.status-pill{color:#fff !important}
.user-remove{color:#fff;text-decoration:none;cursor:pointer;font-size:16px;line-height:1}
.owner-fixed{color:rgba(255,255,255,.45)}


.role-select-wrap{
  display:inline-flex;
  align-items:center;
  min-width:140px;
}
.role-select-wrap select{
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
  background:rgba(83,184,255,0.12);
  border:1px solid rgba(83,184,255,0.35);
  color:#8fd4ff;
  border-radius:12px;
  padding:10px 34px 10px 14px;
  font-size:14px;
  line-height:1;
  cursor:pointer;
  background-image:linear-gradient(45deg, transparent 50%, #8fd4ff 50%), linear-gradient(135deg, #8fd4ff 50%, transparent 50%);
  background-position:calc(100% - 18px) calc(50% - 3px), calc(100% - 12px) calc(50% - 3px);
  background-size:6px 6px, 6px 6px;
  background-repeat:no-repeat;
}
.role-select-wrap select option{color:#000;background:#fff}
.role-select-wrap.owner-fixed{color:rgba(255,255,255,0.42);cursor:default}
.status-pill{color:#fff !important;cursor:pointer;transition:color .15s ease;text-decoration:none}
.status-pill.hovered{color:#53b8ff !important}
.status-pill.hovered::after{content:'Remove'}
.floorplan{
  background:
    linear-gradient(0deg, rgba(255,255,255,0.06), rgba(255,255,255,0.06)),
    linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px);
  background-size:auto, 24px 24px, 24px 24px;
}
.heat-core{filter:blur(12px)}
.path{filter:blur(10px)}
.point{opacity:.65}
.hotspot{
  position:absolute;
  border-radius:50%;
  filter:blur(4px);
  background:radial-gradient(circle, rgba(83,184,255,.98) 0%, rgba(83,184,255,.72) 28%, rgba(83,184,255,.18) 62%, transparent 78%);
}
.hs-1{width:84px;height:84px;left:18%;top:27%}
.hs-2{width:96px;height:96px;left:42%;top:20%}
.hs-3{width:76px;height:76px;left:49%;top:34%}
.hs-4{width:88px;height:88px;left:61%;top:55%}
.hs-5{width:72px;height:72px;left:28%;top:61%}
.hs-6{width:62px;height:62px;left:72%;top:25%}
.wash{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 24% 36%, rgba(83,184,255,.18), transparent 14%),
    radial-gradient(circle at 47% 26%, rgba(83,184,255,.20), transparent 16%),
    radial-gradient(circle at 55% 44%, rgba(83,184,255,.14), transparent 18%),
    radial-gradient(circle at 66% 62%, rgba(83,184,255,.18), transparent 16%),
    radial-gradient(circle at 32% 67%, rgba(83,184,255,.16), transparent 18%);
  filter:blur(18px);
  opacity:.9;
}


/* v8 additions */
.axis-label{
  position:absolute;
  left:10px;
  color:rgba(255,255,255,.58);
  font-size:11px;
}
.axis-1000{top:10px}
.axis-750{top:68px}
.axis-500{top:128px}
.axis-250{top:188px}
.axis-0{bottom:8px}
.chart{
  padding-left:36px;
}
.chart svg{
  width:calc(100% - 36px);
  margin-left:36px;
}
.chart-labels{display:none}

.user-toolbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  margin-bottom:18px;
  flex-wrap:wrap;
}
.add-user-link{
  color:var(--blue);
  text-decoration:none;
  font-size:14px;
  cursor:pointer;
}

.notification{
  position:fixed;
  top:24px;
  right:24px;
  background:rgba(0,0,0,.94);
  color:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  padding:14px 18px;
  z-index:5;
  display:none;
}
.notification.show{display:block}

.heatmap-box.grid{
  padding:14px;
}
.heatmap-grid{
  display:grid;
  grid-template-columns:repeat(14,1fr);
  grid-template-rows:repeat(14,1fr);
  gap:6px;
  width:100%;
  height:100%;
  min-height:480px;
}
.cell{
  border-radius:4px;
  background:rgba(83,184,255,.03);
}
.c00{background:transparent}.c10{background:rgba(83,184,255,.08)}.c20{background:rgba(83,184,255,.14)}.c30{background:rgba(83,184,255,.22)}
.c40{background:rgba(83,184,255,.32)}.c50{background:rgba(83,184,255,.44)}.c60{background:rgba(83,184,255,.58)}.c70{background:rgba(83,184,255,.74)}
.c80{background:rgba(83,184,255,.92)}
@media (max-width:640px){
  .heatmap-grid{gap:4px;min-height:360px}
}


/* 2026-03-24 amendments */
.status-pill.hovered,.status-pill.hovered::after{color:#fff !important;content:none !important}
.pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:24px}
.pricing-card{background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:28px;padding:24px;display:flex;flex-direction:column;gap:14px}
.pricing-card.featured{border-color:rgba(255,255,255,.38);box-shadow:0 12px 38px rgba(0,0,0,.24)}
.plan-kicker{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--muted)}
.plan-price{font-size:40px;line-height:1;font-weight:600}.plan-price small{font-size:14px;color:var(--muted)}
.plan-meta{color:var(--muted);line-height:1.65;margin:0}
.plan-list{margin:0;padding-left:18px;color:#fff;line-height:1.75}
.plan-list li{margin-bottom:4px}
.center-cta{display:flex;justify-content:center;margin-top:18px}
@media (max-width:980px){.pricing-grid{grid-template-columns:1fr}}


.analytics-lower-grid{margin-top:28px}
.heatmap-box.grid{overflow:hidden}
.heatmap-grid{
  min-height:0;
  height:auto;
  aspect-ratio:1 / 1;
  max-height:520px;
}
.top-products{overflow:hidden}

.hidden-by-role{display:none !important}


/* pricing toggle + 2026-04 updates */
.pricing-head{display:flex;flex-direction:column;align-items:center;text-align:center}
.pricing-subtext{max-width:620px;text-align:center}
.billing-toggle{display:inline-flex;gap:8px;padding:6px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(255,255,255,.04);margin-top:22px}
.billing-pill{border:none;background:transparent;color:var(--muted);padding:10px 20px;border-radius:999px;cursor:pointer;font-size:12px;letter-spacing:.18em;text-transform:uppercase}
.billing-pill.active{background:#fff;color:#000}
.plan-price-talk{font-size:32px}
@media (max-width:640px){.billing-toggle{width:100%;justify-content:center}.billing-pill{flex:1}}

.upgrade-note{min-height:38px;margin:12px 0 0;color:var(--muted);font-size:13px;line-height:1.45}.upgrade-note.is-current{color:#fff;font-weight:500}
.profile-account-links{display:flex;justify-content:flex-end;gap:18px;align-items:center;flex-wrap:wrap}
.profile-text-link{color:#fff;text-decoration:none;font-size:14px}
.profile-text-link:hover{text-decoration:underline;opacity:.9}


/* 2026-04-12 quality-of-life updates */
.viewer-scale-reference{position:fixed;left:28px;bottom:28px;z-index:54;display:none;pointer-events:none;opacity:.85}.viewer-scale-reference img{height:180px;width:auto;display:block;filter:drop-shadow(0 6px 18px rgba(0,0,0,.35));}.viewer-scale-reference.is-visible{display:block}.toolbar-image-icon-publish{width:30px;height:30px}.custom-icon-upload input[type=file]{height:auto;padding:12px 14px}.media-preview-row{display:flex;align-items:center;justify-content:flex-start;min-height:52px}.media-preview-row img{width:56px;height:56px;object-fit:contain;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.03);padding:6px}.overlay-panel.info-tag-panel,.overlay-panel.video-tag-panel{border:1px solid rgba(255,255,255,.12);box-shadow:0 18px 34px rgba(0,0,0,.28)}#closeInfoTagActionBtn{display:none !important}.center-cta{margin-top:auto}.pricing-card .ghost-btn,.pricing-card .primary-btn{min-width:200px;justify-content:center}.eula-copy{max-height:420px}.eula-copy h2{margin:0 0 14px;font-size:20px;color:#fff}.eula-copy ul{margin:0 0 14px 18px;color:var(--muted);line-height:1.6}.eula-copy li{margin:0 0 6px}.fly-mode-plane-icon{filter:brightness(0) invert(1)}

.media-upload-btn{width:100%;justify-content:center;}
.media-inline-toggle.media-inline-toggle-switch{display:flex;align-items:center;justify-content:flex-start;gap:14px;margin-top:4px;}
.media-inline-toggle.media-inline-toggle-switch > span:first-child{min-width:auto;color:rgba(255,255,255,.78);text-transform:none;letter-spacing:0;font-size:14px;margin:0;}
.media-switch{margin-left:0;}
.toolbar-image-icon-mediaadd,.toolbar-image-icon-modeladd{width:22px;height:22px;object-fit:contain;}

@media (min-width:981px){.pricing-grid{grid-template-columns:repeat(4,minmax(0,1fr));}}


/* --- v11 dashboard mobile refinements --- */
@media (max-width:768px){
  .topbar{padding:18px 14px 10px}
  .container{width:calc(100% - 24px);padding-bottom:88px}
  .topbar-actions{width:100%;justify-content:flex-start;flex-wrap:wrap}
  .glass-card,.project-card{padding:18px;border-radius:20px}
  .card-grid,.stats-grid,.stats-grid.three,.project-grid,.two-col,.triple-wrap{grid-template-columns:1fr !important}
  .table-wrap{overflow-x:auto}
}
@media (max-width:480px){
  .container{width:calc(100% - 16px)}
  .glass-card,.project-card{padding:16px;border-radius:18px}
  .support-widget{right:12px;bottom:12px;padding:10px 12px 10px 10px;font-size:11px;letter-spacing:.14em}
  .support-widget span{display:none}
  .help-menu{right:12px;bottom:62px;width:200px}
}


/* analytics dropdown only */
.analytics-project-controls--dropdown-only{display:flex;justify-content:flex-end;align-items:center;margin-bottom:22px;}
.analytics-project-select-wrap--desktop{position:relative;min-width:min(340px,100%);width:min(340px,100%);}
.analytics-project-select-wrap--desktop::after{content:"";position:absolute;right:18px;top:50%;width:10px;height:10px;border-right:2px solid rgba(255,255,255,.72);border-bottom:2px solid rgba(255,255,255,.72);transform:translateY(-50%) rotate(45deg);pointer-events:none;}
.analytics-project-select{width:100%;appearance:none;-webkit-appearance:none;border-radius:16px;border:1px solid var(--line);background:rgba(255,255,255,.05);color:#fff;padding:14px 46px 14px 16px;font-size:14px;line-height:1.2;min-height:50px;}
.analytics-project-select option{color:#000;}
.analytics-tabs[hidden]{display:none !important;}
@media (max-width:768px){
  .analytics-project-controls--dropdown-only{justify-content:stretch;}
  .analytics-project-select-wrap--desktop{width:100%;min-width:0;}
}


/* final dashboard header + analytics selector fixes */
.topbar.dashboard-topbar{position:relative;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:32px 32px 20px;z-index:12;}
.dashboard-desktop-nav{margin-left:auto;display:flex;gap:12px;flex-wrap:wrap;}
.dashboard-mobile-toggle{display:none;width:44px;height:44px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.04);color:#fff;align-items:center;justify-content:center;cursor:pointer;}
.dashboard-mobile-toggle .bar{display:block;width:16px;height:2px;background:currentColor;border-radius:999px;margin:2px 0;}
.dashboard-mobile-menu{display:none;position:absolute;top:88px;left:20px;right:20px;z-index:50;padding:16px;border:1px solid var(--line);border-radius:22px;background:rgba(0,0,0,.9);backdrop-filter:blur(12px);box-shadow:0 18px 32px rgba(0,0,0,.28);}
.dashboard-mobile-menu[hidden]{display:none !important;}
.dashboard-mobile-menu .nav-pill{width:100%;justify-content:center;}
.analytics-project-controls{display:flex;justify-content:flex-start;margin-bottom:22px;}
.analytics-project-controls--dropdown-only{display:flex;justify-content:flex-start;}
.analytics-project-select-wrap--desktop{position:relative;min-width:min(360px,100%);width:min(360px,100%);}
.analytics-project-select-wrap--desktop::after{content:"";position:absolute;right:18px;top:50%;width:10px;height:10px;border-right:2px solid rgba(255,255,255,.72);border-bottom:2px solid rgba(255,255,255,.72);transform:translateY(-50%) rotate(45deg);pointer-events:none;}
.analytics-project-select{width:100%;appearance:none;-webkit-appearance:none;border-radius:16px;border:1px solid var(--line);background:rgba(255,255,255,.05);color:#fff;padding:14px 46px 14px 16px;font-size:14px;line-height:1.2;min-height:50px;}
.analytics-project-select option{color:#000;}
.analytics-tabs.is-hidden-tabs,[hidden].analytics-tabs{display:none !important;}
.sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0,0,0,0) !important;border:0 !important;white-space:nowrap !important;}
@media (max-width:768px){
  .topbar.dashboard-topbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:24px 20px 18px;}
  .topbar.dashboard-topbar .brand-link{grid-column:2;justify-self:center;}
  .topbar.dashboard-topbar .dashboard-mobile-toggle{display:inline-flex;grid-column:3;justify-self:end;}
  .topbar.dashboard-topbar .dashboard-desktop-nav{display:none;}
  .dashboard-mobile-menu{display:grid;gap:12px;}
  .analytics-project-controls--dropdown-only{margin-bottom:18px;}
  .analytics-project-select-wrap--desktop{width:100%;min-width:100%;}
}

body.mobile-menu-open{overflow:hidden;}



/* final dashboard mobile nav + analytics mobile layout fix */
body.mobile-menu-open{
  overflow:hidden;
}

.topbar.dashboard-topbar{
  position:relative;
  z-index:80 !important;
}

.dashboard-mobile-toggle{
  position:relative;
  z-index:82 !important;
}

.dashboard-mobile-menu{
  position:fixed !important;
  top:86px !important;
  left:20px !important;
  right:20px !important;
  z-index:120 !important;
  display:grid;
  gap:12px;
  box-shadow:0 18px 40px rgba(0,0,0,.34);
}

.dashboard-mobile-menu[hidden]{
  display:none !important;
}

@media (min-width: 769px){
  .dashboard-mobile-toggle{
    display:none !important;
  }
  .dashboard-mobile-menu{
    display:none !important;
  }
}

@media (max-width: 768px){
  .dashboard-desktop-nav{
    display:none !important;
  }
  .dashboard-mobile-toggle{
    display:inline-flex !important;
  }
  .analytics-project-controls{
    width:100%;
    margin-bottom:18px;
  }
  .analytics-project-select-wrap--desktop{
    width:100%;
    min-width:0;
  }
  .square-wrap,
  .triple-wrap{
    grid-template-columns:1fr !important;
    gap:16px !important;
  }
  .heatmap-box{
    min-height:320px !important;
    aspect-ratio:auto !important;
  }
  .floorplan{
    min-height:320px;
  }
}

.analytics-project-select-wrap--desktop{
  position:relative;
}

.analytics-project-select-wrap--desktop::after{
  top:50% !important;
  transform:translateY(-52%) rotate(45deg) !important;
}

.analytics-tabs[hidden],
.analytics-tabs.is-hidden-tabs{
  display:none !important;
}



/* final dashboard mobile burger parity with site index */
.dashboard-mobile-toggle{
  gap:5px;
  flex-direction:column;
  padding:0;
}

.dashboard-mobile-toggle .bar{
  display:block;
  width:18px;
  height:2px;
  background:#fff;
  border-radius:999px;
  transition:transform .2s ease, opacity .2s ease;
}

body.mobile-menu-open .dashboard-mobile-toggle .bar:nth-child(1){
  transform:translateY(6px) rotate(45deg);
}
body.mobile-menu-open .dashboard-mobile-toggle .bar:nth-child(2){
  opacity:0;
}
body.mobile-menu-open .dashboard-mobile-toggle .bar:nth-child(3){
  transform:translateY(-6px) rotate(-45deg);
}



/* dashboard burger icon wrapper parity fix */
.dashboard-mobile-toggle > span{
  display:inline-flex;
  flex-direction:column;
  gap:5px;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
}
.dashboard-mobile-toggle .bar{
  display:block;
  width:18px;
  height:2px;
  background:#fff;
  border-radius:999px;
  transform-origin:center;
  transition:transform .2s ease, opacity .2s ease;
}
body.mobile-menu-open .dashboard-mobile-toggle .bar:nth-child(1){
  transform:translateY(7px) rotate(45deg);
}
body.mobile-menu-open .dashboard-mobile-toggle .bar:nth-child(2){
  opacity:0;
}
body.mobile-menu-open .dashboard-mobile-toggle .bar:nth-child(3){
  transform:translateY(-7px) rotate(-45deg);
}



/* 2026-04-24 final dashboard burger parity */
@media (max-width: 768px){
  .dashboard-mobile-toggle{
    display:inline-flex !important;
    width:48px !important;
    height:48px !important;
    border-radius:14px !important;
    border:1px solid rgba(255,255,255,.16) !important;
    background:rgba(255,255,255,.04) !important;
    color:#fff !important;
    align-items:center !important;
    justify-content:center !important;
    flex-direction:column !important;
    gap:5px !important;
    padding:0 !important;
    cursor:pointer !important;
    z-index:140 !important;
  }

  .dashboard-mobile-toggle > .bar{
    display:block !important;
    width:18px !important;
    height:2px !important;
    background:#fff !important;
    border-radius:999px !important;
    transform-origin:center !important;
    transition:transform .2s ease, opacity .2s ease !important;
  }

  body.mobile-menu-open .dashboard-mobile-toggle > .bar:nth-child(1){
    transform:translateY(7px) rotate(45deg) !important;
  }
  body.mobile-menu-open .dashboard-mobile-toggle > .bar:nth-child(2){
    opacity:0 !important;
  }
  body.mobile-menu-open .dashboard-mobile-toggle > .bar:nth-child(3){
    transform:translateY(-7px) rotate(-45deg) !important;
  }

  .dashboard-mobile-menu{
    position:fixed !important;
    top:84px !important;
    left:20px !important;
    right:20px !important;
    z-index:135 !important;
  }
}


/* 2026-05 mobile dashboard header fix: centred logo + burger menu across platform pages */
.topbar.dashboard-topbar{
  position:relative;
}
.dashboard-mobile-menu a[href="analytics.html"]{
  display:inline-flex !important;
}
@media (min-width: 769px){
  .dashboard-desktop-nav{display:flex !important;}
  .dashboard-mobile-toggle{display:none !important;}
  .dashboard-mobile-menu{display:none !important;}
}
@media (max-width: 768px){
  .topbar.dashboard-topbar,
  header.topbar.dashboard-topbar{
    display:grid !important;
    grid-template-columns:48px 1fr 48px !important;
    align-items:center !important;
    min-height:72px !important;
    padding:14px 18px !important;
    position:sticky !important;
    top:0 !important;
    z-index:150 !important;
  }
  .topbar.dashboard-topbar .brand-link{
    grid-column:2 !important;
    justify-self:center !important;
    align-self:center !important;
    margin:0 !important;
  }
  .topbar.dashboard-topbar .brand-logo{
    display:block !important;
    height:38px !important;
    width:auto !important;
    margin:0 auto !important;
  }
  .topbar.dashboard-topbar .dashboard-desktop-nav,
  .topbar.dashboard-topbar .nav-pills:not(.dashboard-mobile-menu .nav-pills){
    display:none !important;
  }
  .topbar.dashboard-topbar .dashboard-mobile-toggle{
    grid-column:3 !important;
    justify-self:end !important;
    display:inline-flex !important;
    width:44px !important;
    height:44px !important;
    border-radius:14px !important;
    border:1px solid rgba(255,255,255,.16) !important;
    background:rgba(255,255,255,.05) !important;
    color:#fff !important;
    align-items:center !important;
    justify-content:center !important;
    flex-direction:column !important;
    gap:5px !important;
    padding:0 !important;
    cursor:pointer !important;
    z-index:170 !important;
    -webkit-tap-highlight-color:transparent !important;
  }
  .topbar.dashboard-topbar .dashboard-mobile-toggle .bar{
    display:block !important;
    width:18px !important;
    height:2px !important;
    background:#fff !important;
    border-radius:999px !important;
    transform-origin:center !important;
    transition:transform .2s ease, opacity .2s ease !important;
  }
  body.mobile-menu-open .dashboard-mobile-toggle .bar:nth-child(1){
    transform:translateY(7px) rotate(45deg) !important;
  }
  body.mobile-menu-open .dashboard-mobile-toggle .bar:nth-child(2){
    opacity:0 !important;
  }
  body.mobile-menu-open .dashboard-mobile-toggle .bar:nth-child(3){
    transform:translateY(-7px) rotate(-45deg) !important;
  }
  .dashboard-mobile-menu{
    position:fixed !important;
    top:78px !important;
    left:16px !important;
    right:16px !important;
    z-index:160 !important;
    display:grid !important;
    gap:10px !important;
    padding:16px !important;
    border-radius:22px !important;
    border:1px solid rgba(255,255,255,.14) !important;
    background:rgba(0,0,0,.92) !important;
    box-shadow:0 22px 50px rgba(0,0,0,.38) !important;
    backdrop-filter:blur(18px) !important;
  }
  .dashboard-mobile-menu[hidden]{
    display:none !important;
  }
  .dashboard-mobile-menu .nav-pill{
    width:100% !important;
    min-height:44px !important;
    justify-content:center !important;
    text-align:center !important;
    display:inline-flex !important;
  }
  body.mobile-menu-open{
    overflow:hidden !important;
  }
}

/* 2026-05-02 stable mobile dashboard navigation override */
@media (min-width: 769px){
  .dashboard-mobile-toggle,
  .dashboard-mobile-menu{display:none!important;}
}
@media (max-width: 768px){
  html, body, button, a, .nav-pill, .project-card, .glass-card{
    -webkit-tap-highlight-color: transparent;
  }
  button, a, .nav-pill, .project-card, .dashboard-mobile-toggle{
    -webkit-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
  }
  input, textarea, select{
    -webkit-user-select: text;
    user-select: text;
    -webkit-touch-callout: default;
  }
  .topbar.dashboard-topbar{
    display:grid!important;
    grid-template-columns:44px 1fr 44px!important;
    align-items:center!important;
    padding:18px 16px 12px!important;
    gap:8px!important;
  }
  .topbar.dashboard-topbar .brand-link{
    grid-column:2!important;
    justify-self:center!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
  .topbar.dashboard-topbar .brand-logo{
    height:44px!important;
    max-width:180px!important;
    object-fit:contain!important;
  }
  .topbar.dashboard-topbar .dashboard-desktop-nav,
  .topbar.dashboard-topbar > .nav-pills{
    display:none!important;
  }
  .topbar.dashboard-topbar .dashboard-mobile-toggle{
    grid-column:3!important;
    justify-self:end!important;
    display:inline-flex!important;
    width:44px!important;
    height:44px!important;
    border-radius:999px!important;
    border:1px solid rgba(255,255,255,.18)!important;
    background:rgba(255,255,255,.05)!important;
    color:#fff!important;
    align-items:center!important;
    justify-content:center!important;
    flex-direction:column!important;
    gap:4px!important;
    padding:0!important;
  }
  .dashboard-mobile-toggle .bar,
  .dashboard-mobile-toggle > span{
    display:block!important;
    width:17px!important;
    height:2px!important;
    background:currentColor!important;
    border-radius:999px!important;
    margin:0!important;
    transition:transform .2s ease, opacity .2s ease!important;
  }
  body.mobile-menu-open .dashboard-mobile-toggle .bar:nth-child(1){transform:translateY(6px) rotate(45deg)!important;}
  body.mobile-menu-open .dashboard-mobile-toggle .bar:nth-child(2){opacity:0!important;}
  body.mobile-menu-open .dashboard-mobile-toggle .bar:nth-child(3){transform:translateY(-6px) rotate(-45deg)!important;}
  .dashboard-mobile-menu{
    position:fixed!important;
    top:72px!important;
    left:14px!important;
    right:14px!important;
    z-index:1000!important;
    display:grid!important;
    gap:10px!important;
    padding:14px!important;
    border:1px solid rgba(255,255,255,.16)!important;
    border-radius:22px!important;
    background:rgba(0,0,0,.94)!important;
    backdrop-filter:blur(14px)!important;
    box-shadow:0 20px 44px rgba(0,0,0,.38)!important;
  }
  .dashboard-mobile-menu[hidden]{display:none!important;}
  .dashboard-mobile-menu .nav-pill{
    width:100%!important;
    justify-content:center!important;
  }
  body.mobile-menu-open{overflow:hidden!important;}
}

/* Test branch 20/05: dashboard help widget */
.support-widget{position:fixed;right:20px;bottom:20px;z-index:260;display:inline-flex;align-items:center;gap:8px;padding:12px 16px;border-radius:999px;background:rgba(8,14,22,.92);border:1px solid rgba(255,255,255,.14);box-shadow:0 18px 34px rgba(0,0,0,.28);color:#fff;text-decoration:none;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;backdrop-filter:blur(12px)}
.support-widget img{width:18px;height:18px;object-fit:contain}.help-menu{position:fixed;right:20px;bottom:78px;z-index:261;display:none;min-width:180px;padding:10px;border-radius:18px;background:rgba(8,14,22,.96);border:1px solid rgba(255,255,255,.12);box-shadow:0 20px 44px rgba(0,0,0,.34);backdrop-filter:blur(18px)}.help-menu.open{display:grid;gap:6px}.help-menu a{display:block;padding:10px 12px;border-radius:12px;color:#fff;text-decoration:none;font-size:13px}.help-menu a:hover{background:rgba(83,184,255,.14)}
@media(max-width:768px){.support-widget{right:12px;bottom:12px;padding:10px 12px}.support-widget span{display:none}.help-menu{right:12px;bottom:64px}}

/* Test branch quick fix: keep help/question icon white on all dashboard pages */
.support-widget,
.support-widget:visited,
.support-widget:hover,
.support-widget:focus {
  color: #fff !important;
}
.support-widget img {
  filter: brightness(0) invert(1) !important;
}
.support-widget svg,
.support-widget svg * {
  fill: #fff !important;
  stroke: #fff !important;
}

/* Stage 9 superseded: help question icon must remain white */
.support-widget img,
.help-btn img,
.help-toggle img,
#helpToggle img{
  filter:brightness(0) invert(1) !important;
}
.support-widget svg,
.support-widget svg *,
.help-btn svg,
.help-btn svg *,
.help-toggle svg,
.help-toggle svg *,
#helpToggle svg,
#helpToggle svg *{
  fill:#fff !important;
  stroke:#fff !important;
}


/* Stage 10: do not revert help/question icon - force white on all pages */
.support-widget,
.support-widget:visited,
.support-widget:hover,
.support-widget:focus,
.help-btn,
.help-toggle,
#helpToggle {
  color: #fff !important;
}
.support-widget img,
.help-btn img,
.help-toggle img,
#helpToggle img {
  filter: brightness(0) invert(1) !important;
}
.support-widget svg,
.support-widget svg *,
.help-btn svg,
.help-btn svg *,
.help-toggle svg,
.help-toggle svg *,
#helpToggle svg,
#helpToggle svg * {
  fill: #fff !important;
  stroke: #fff !important;
}

/* Stage 17: help button should be black with white icon/text */
.support-widget,
.help-btn,
.help-toggle,
#helpToggle{
  background:#000 !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.18) !important;
}
.support-widget *,
.help-btn *,
.help-toggle *,
#helpToggle *{ color:#fff !important; }
.support-widget svg,
.support-widget svg *,
.help-btn svg,
.help-btn svg *,
.help-toggle svg,
.help-toggle svg *,
#helpToggle svg,
#helpToggle svg *{ fill:#fff !important; stroke:#fff !important; }
.support-widget img,
.help-btn img,
.help-toggle img,
#helpToggle img{ filter:brightness(0) invert(1) !important; }


/* Stage 19: profile logo upload choose-file styling */
#logoUploadCard .upload-box input[type="file"],
.profile-logo-upload input[type="file"]{
  font-size:12px !important;
  color:rgba(255,255,255,.68) !important;
}
#logoUploadCard .upload-box input[type="file"]::file-selector-button,
.profile-logo-upload input[type="file"]::file-selector-button{
  min-height:38px !important;
  padding:0 18px !important;
  margin-right:12px !important;
  border:1px solid rgba(127,226,255,.34) !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.06) !important;
  color:#fff !important;
  font-family:inherit !important;
  font-size:11px !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
  cursor:pointer !important;
}
#logoUploadCard .upload-box input[type="file"]::file-selector-button:hover,
.profile-logo-upload input[type="file"]::file-selector-button:hover{
  background:rgba(127,226,255,.13) !important;
  border-color:rgba(127,226,255,.5) !important;
}

/* 2026-05-24 platform burger visual parity fix
   Scope: platform/dashboard mobile burger appearance only. Keeps the existing working JS/menu behaviour. */
@media (max-width:768px){
  .topbar.dashboard-topbar .dashboard-mobile-toggle,
  .dashboard-mobile-toggle{
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    min-height:42px !important;
    border-radius:14px !important;
    border:1px solid rgba(255,255,255,.16) !important;
    background:rgba(255,255,255,.04) !important;
    color:#fff !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    flex-direction:column !important;
    gap:5px !important;
    padding:0 !important;
    margin:0 !important;
    box-shadow:none !important;
    appearance:none !important;
    -webkit-appearance:none !important;
    -webkit-tap-highlight-color:transparent !important;
  }

  .topbar.dashboard-topbar .dashboard-mobile-toggle .bar,
  .dashboard-mobile-toggle .bar{
    display:block !important;
    width:18px !important;
    height:2px !important;
    margin:0 !important;
    border-radius:999px !important;
    background:#fff !important;
    transform-origin:center !important;
    transition:transform .2s ease, opacity .2s ease !important;
  }

  body.mobile-menu-open .dashboard-mobile-toggle .bar:nth-child(1){
    transform:translateY(7px) rotate(45deg) !important;
  }
  body.mobile-menu-open .dashboard-mobile-toggle .bar:nth-child(2){
    opacity:0 !important;
  }
  body.mobile-menu-open .dashboard-mobile-toggle .bar:nth-child(3){
    transform:translateY(-7px) rotate(-45deg) !important;
  }
}
