/* CellHub Pro — commercial and account pages (v5, 2026-10-09). Same selectors as commerce.v4.css, restyled in the
   homepage's look (home.v3.css, 2026-09-25 redesign): the desktop app's slate/indigo surfaces, the #667eea→#764ba2
   wordmark gradient, Nunito display + Inter body + JetBrains Mono, the violet POINT OF SALE button. nav.v2.css still
   lays out the shared nav/footer; the overrides at the end re-skin them exactly as the homepage does.
   Text colours clear WCAG AA on every surface in use. */
*{margin:0;padding:0;box-sizing:border-box}
:root{
  color-scheme:dark;
  --bg:#0E1024;--s1:#12142A;--s2:#161829;--s3:#1C1F33;--s4:#23264A;
  --bd:#262A45;--bd2:#353B68;--m3:#2a3050;
  --cyan:#22D3EE;--green:#22C55E;--yellow:#FBBF24;--orange:#FB923C;--red:#F87171;
  --txt:#F1F3FF;--m1:#A3AAC2;--m2:#8C93BA;--dim:#7E86AD;
  --pos1:#6D28D9;--pos2:#9333EA;
  --display:'Nunito','Segoe UI',system-ui,sans-serif;
  --body:'Inter','Segoe UI',system-ui,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,Consolas,monospace;
}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--txt);font-family:var(--body);font-size:16px;line-height:1.55;overflow-x:hidden;min-height:100vh;display:flex;flex-direction:column}
a{color:#A5B4FC}
a:hover{color:#C7D2FE}
img{max-width:100%}
main{flex:1}
:focus-visible{outline:3px solid var(--cyan);outline-offset:3px;border-radius:8px}

/* PAGE */
.page{width:100%;max-width:1000px;margin:0 auto;padding:7.5rem 24px 4rem;position:relative}
.page.narrow{max-width:600px}
.page::before{content:"";position:absolute;left:50%;top:-260px;width:min(1000px,100vw);height:760px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(closest-side,rgba(124,58,237,.30),rgba(102,126,234,.10) 55%,transparent);pointer-events:none;z-index:-1}
.eyebrow{font-family:var(--mono);font-size:.8rem;font-weight:600;letter-spacing:.1em;color:#C4B5FD;text-transform:uppercase;margin-bottom:1rem}
h1.title{font-family:var(--display);font-size:clamp(2.3rem,5.4vw,4rem);font-weight:900;line-height:1;letter-spacing:-.02em;margin-bottom:.9rem;text-wrap:balance}
h2{font-family:var(--display);font-size:1.5rem;font-weight:900;letter-spacing:-.02em;margin:2.25rem 0 .75rem}
h3{font-family:var(--display);font-size:1.05rem;font-weight:900;margin:1.25rem 0 .4rem}
.grad{background:linear-gradient(90deg,#22D3EE,#818CF8 45%,#C084FC);-webkit-background-clip:text;background-clip:text;color:transparent}
p.lead{font-size:1.1rem;color:var(--m1);line-height:1.55;max-width:64ch}
p,li{line-height:1.6;color:#D5DAEE}
.muted{color:var(--m1)}.small{font-size:.82rem}.mono{font-family:var(--mono)}
ul.plain{list-style:none}ul.plain li{padding:.3rem 0}ul.plain li::before{content:'✓ ';color:#4ADE80;font-weight:900}

/* CARDS / GRID */
.card{background:var(--s2);border:1px solid var(--bd);border-radius:22px;padding:1.6rem}
.card.lift{background:linear-gradient(155deg,#1A1C38,#141630);border-color:var(--bd2);box-shadow:0 40px 80px -40px rgba(124,58,237,.45)}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;align-items:stretch}
.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem;margin:2rem 0}
.plan{display:flex;flex-direction:column;gap:.75rem}
.plan .price{font-family:var(--display);font-size:2.8rem;font-weight:900;letter-spacing:-.03em;display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem;font-variant-numeric:tabular-nums}
.plan .price small{font-size:.9rem;color:var(--m1);font-family:var(--body);font-weight:500;letter-spacing:0}
.plan .per{font-size:.82rem;color:var(--m1)}
.badge{display:inline-block;font-family:var(--mono);font-size:.62rem;font-weight:800;letter-spacing:.08em;padding:4px 9px;border-radius:20px;background:rgba(168,85,247,.16);border:1px solid rgba(192,132,252,.35);color:#E9D5FF;text-transform:uppercase}
.badge.green{background:rgba(34,197,94,.14);border-color:rgba(34,197,94,.4);color:#86EFAC}
.badge.yellow{background:rgba(251,191,36,.14);border-color:rgba(251,191,36,.4);color:#FDE68A}
.badge.red{background:rgba(248,113,113,.14);border-color:rgba(248,113,113,.4);color:#FCA5A5}
.badge.grey{background:rgba(163,170,194,.12);border-color:rgba(163,170,194,.3);color:var(--m1)}

/* pilot / hero cards (pricing, login, download) */
.chips{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:1rem 0}
.chip{padding:9px 14px;border-radius:10px;background:var(--s3);border:1px solid var(--bd);font-size:.88rem;font-weight:600;color:var(--txt)}
.chip::before{content:none}
.pilot{position:relative;border-radius:30px;padding:clamp(28px,5vw,56px);background:linear-gradient(135deg,#1E1650,#2E1257 55%,#161829);border:1px solid rgba(192,132,252,.3);overflow:hidden;margin-top:2rem}
.pilot::before{content:"";position:absolute;left:30%;top:-240px;width:640px;height:640px;border-radius:50%;background:radial-gradient(closest-side,rgba(192,132,252,.3),transparent);pointer-events:none}
.pilot>*{position:relative}
.pilot h2{margin-top:0;font-size:clamp(1.6rem,3.6vw,2.4rem)}
.pilot p{color:#D4CDEB}
.pilot .eyebrow{color:#D8B4FE}
.pilot ul.plain li{color:#EDE9FE;font-size:1.02rem}
.pilot ul.plain li::before{color:#C4B5FD}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:1.4rem}
.steps{counter-reset:s;list-style:none;display:grid;gap:.6rem}
.steps li{counter-increment:s;display:flex;gap:.9rem;align-items:flex-start}
.steps li::before{content:counter(s);flex-shrink:0;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(90deg,var(--pos1),var(--pos2));color:#fff;font-family:var(--display);font-weight:900;font-size:.9rem}

/* BUTTONS / FORMS — the app's POINT OF SALE button */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:50px;padding:0 22px;border-radius:14px;font-family:var(--display);font-size:.95rem;font-weight:900;letter-spacing:.03em;text-transform:uppercase;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:transform .2s ease,filter .2s ease;white-space:nowrap;color:#fff}
.btn:hover{transform:translateY(-2px);filter:brightness(1.12);color:#fff}
.btn.p{background:linear-gradient(90deg,var(--pos1),var(--pos2));border-color:rgba(216,180,254,.55);box-shadow:0 14px 40px -12px rgba(147,51,234,.85)}
.btn.s{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.18);color:#fff}
.btn.s:hover{border-color:rgba(255,255,255,.4)}
.btn.danger{background:transparent;border-color:rgba(248,113,113,.5);color:#FCA5A5}
.btn.sm{min-height:38px;padding:0 14px;font-size:.78rem;border-radius:10px}
.btn:disabled,.btn[aria-disabled="true"]{opacity:.5;cursor:not-allowed;transform:none;filter:none}
.btn.block{width:100%}
a.btn[aria-disabled="true"]{pointer-events:none}
label.f{display:block;font-size:.78rem;color:var(--m1);margin:.9rem 0 .4rem;font-weight:700;letter-spacing:.02em}
input.f,select.f{width:100%;background:var(--s3);border:1.5px solid var(--bd2);color:var(--txt);border-radius:12px;padding:.8rem 1rem;font-size:1rem;font-family:var(--body)}
input.f.mono{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase}
input.f::placeholder{color:#6E7598}
input.f:focus{outline:none;border-color:#A78BFA}
input.f:focus-visible,select.f:focus-visible{outline:2px solid var(--cyan);outline-offset:2px;border-color:#A78BFA}
.hint{font-size:.8rem;color:var(--m1);margin-top:.4rem}
.msg{margin-top:.9rem;font-size:.92rem;padding:.75rem .95rem;border-radius:12px;line-height:1.5}
.msg.ok{background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.35);color:#BBF7D0}
.msg.err{background:rgba(248,113,113,.12);border:1px solid rgba(248,113,113,.35);color:#FECACA}
.msg.info{background:rgba(34,211,238,.1);border:1px solid rgba(34,211,238,.3);color:#A5F3FC}
.toggle{display:inline-flex;border:1px solid var(--bd2);border-radius:12px;overflow:hidden;background:var(--s3)}
.toggle button{background:transparent;color:var(--m1);border:none;padding:.6rem 1.1rem;font-weight:800;cursor:pointer;font-family:var(--display);font-size:.85rem;letter-spacing:.02em}
.toggle button.on{background:linear-gradient(90deg,var(--pos1),var(--pos2));color:#fff}
/* tabs (sign in / create account) */
.tabs{display:flex;gap:6px;padding:5px;border-radius:14px;background:var(--s3);border:1px solid var(--bd);margin-top:1.5rem}
.tabs button{flex:1;min-height:44px;border:0;border-radius:10px;background:transparent;color:var(--m1);font-family:var(--display);font-weight:900;font-size:.92rem;cursor:pointer;transition:background .2s,color .2s}
.tabs button[aria-selected="true"]{background:linear-gradient(90deg,var(--pos1),var(--pos2));color:#fff}
.tabs button:hover{color:#fff}

/* TABLES / KPIs */
table.t{width:100%;border-collapse:collapse;font-size:.9rem}
table.t th{text-align:left;font-family:var(--mono);font-size:.66rem;letter-spacing:.08em;color:var(--m2);text-transform:uppercase;padding:.55rem .6rem;border-bottom:1px solid var(--bd)}
table.t td{padding:.65rem .6rem;border-bottom:1px solid var(--bd);vertical-align:middle}
.tablewrap{overflow-x:auto}
.row{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}
.spacer{flex:1}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem}
.kpi{background:var(--s3);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:.95rem 1rem}
.kpi b{display:block;font-family:var(--display);font-weight:900;font-size:1.5rem;font-variant-numeric:tabular-nums}
.kpi span{display:block;margin-top:4px;font-size:.68rem;color:var(--m1);text-transform:uppercase;letter-spacing:.06em;font-family:var(--mono)}
.faq details{border-radius:18px;background:var(--s3);border:1px solid var(--bd);padding:0 22px;margin-bottom:12px}
.faq summary{cursor:pointer;list-style:none;padding:18px 0;font-weight:800;font-size:1rem;color:var(--txt);display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--display);font-size:1.4rem;line-height:1;color:var(--cyan);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq p{padding-bottom:18px;color:var(--m1)}

.legal-note{border:1px dashed var(--orange);color:#FDBA74;padding:.75rem 1rem;border-radius:12px;font-size:.85rem;margin:1rem 0 2rem}
.hidden{display:none!important}
[hidden]{display:none!important}

/* Keyboard focus (WCAG 2.4.7) for page controls. */
.btn:focus-visible,.toggle button:focus-visible,.tabs button:focus-visible,summary:focus-visible,a:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}

/* nav re-skin, same as the homepage: the app's gradient wordmark and violet CTA */
nav.site{background:rgba(14,16,36,.9)}
.nlogo{font-family:var(--display);font-weight:900;font-size:1.25rem;background:linear-gradient(90deg,#8B9CF5,#A57BD8);-webkit-background-clip:text;background-clip:text;color:transparent}
.nlogo em{color:inherit}
.nlinks a{font-family:var(--mono)}
.ncta{background:linear-gradient(90deg,var(--pos1),var(--pos2));color:#fff;border:1.5px solid rgba(216,180,254,.55);font-family:var(--display);font-weight:900;letter-spacing:.03em;text-transform:uppercase}
.ncta:hover{color:#fff}
footer.site{color:var(--m2)}
footer.site a{color:var(--m1)}

@media (max-width:640px){
  .page{padding-top:6rem}
  .btn{white-space:normal;text-align:center}
  .cta-row .btn{width:100%}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .btn{transition:none}
  .btn:hover{transform:none}
}
