/* Minimal glue only. HiFi CSS provides cp-* components. */

:root{
  /* Primary button requirement */
  --cp-primary:#4F46E5;
  --cp-primary-2:#4338CA;
}

html,body{ max-width:100%; overflow-x:hidden; }

a{ text-decoration:none; }
.cp-link{ color: var(--cp-primary); text-decoration: underline; }

.cp-nav{
  position: sticky;
  top: 0;
  z-index: 20;
  background: rgba(246,248,251,.9);
  backdrop-filter: blur(10px);
  border-bottom: var(--cp-border);
}

.cp-nav__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding: 12px 14px;
}

.cp-brand{
  font-weight: 900;
  letter-spacing: .2px;
  color: var(--cp-ink);
}

.cp-nav__links{
  display:flex;
  gap: 10px;
}

.cp-nav__links a{
  font-weight: 700;
  color: var(--cp-ink);
  opacity:.9;
}

.cp-footer{
  margin-top: 26px;
  padding: 18px 14px;
  border-top: var(--cp-border);
  color: var(--cp-muted);
  font-size: 13px;
}

.cp-hero{
  padding: 18px 14px 10px;
}

.cp-hero h1{
  margin: 0 0 8px;
  font-size: 26px;
  line-height: 1.1;
  letter-spacing: -.2px;
}

.cp-hero p{ margin:0; }

.cp-grid{
  display:grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

/* Auth screens (mobile-first, match HiFi) */
.cp-authPage{padding:18px 14px 26px;}
.cp-authHead{max-width:460px;margin:0 auto 14px;}
.cp-authTitle{font-size:24px;font-weight:950;letter-spacing:-.02em;margin:0 0 4px;}
.cp-authSub{margin:0;color:var(--cp-muted);font-weight:700;font-size:13px;}
.cp-authCard{max-width:460px;margin:0 auto;}
.cp-authNote{margin-top:10px;color:var(--cp-muted);font-size:13px;font-weight:700;}
.cp-btn--ghost{background:#fff;border:var(--cp-border);color:var(--cp-ink);}
.cp-btn--ghost:hover{background:rgba(11,18,32,.03);} 

/* Client progress bar */
.cp-progress{display:flex;gap:8px;align-items:center;margin:10px 0 12px;}
.cp-progress__seg{height:10px;border-radius:999px;background:#e7ecf5;flex:1;}
.cp-progress__seg.is-on{background:rgba(79,70,229,.92);} 

/* HiFi mobile frame / panel */
.cp-screen{max-width:420px;margin:0 auto;padding:22px 14px 26px;}
.cp-head{margin:0 0 14px;}
.cp-head__title{font-size:22px;font-weight:950;letter-spacing:-.02em;margin:0 0 4px;color:var(--cp-ink);}
.cp-head__sub{margin:0;color:var(--cp-muted);font-weight:700;font-size:13px;}
.cp-panel{background:#fff;border:1px solid #e6ebf2;border-radius:26px;padding:16px;}
.cp-panelCard{border:1px solid #e6ebf2;border-radius:18px;padding:14px;background:#fff;}
.cp-panelList{display:grid;gap:12px;}
.cp-btn--secondary{background:#fff;border:1px solid #e6ebf2;color:var(--cp-ink);}
.cp-btn--secondary:hover{background:rgba(11,18,32,.03);} 
.cp-pillVerified{display:inline-flex;align-items:center;justify-content:center;padding:6px 12px;border-radius:999px;font-weight:900;font-size:12px;border:1px solid #bfe8cc;background:#dff7e7;color:#0b7a2a;}
.cp-pillVerified--neutral{border-color:#d6dbe8;background:#f3f5fb;color:#111827;}

@media (min-width: 980px){
  .cp-grid--2{ grid-template-columns: 1fr 1fr; }
  .cp-hero h1{ font-size: 38px; }
}
