/* LazyMagnet growthOS shared shell — light header, purple/orange brand. */
:root{
  --lm-purple:#8E1491;       /* primary / headings / accents */
  --lm-purple-deep:#320935;  /* text / wordmark / footer */
  --lm-orange:#FF7300;       /* CTA / active */
  --lm-gold:#FDBC2C;
  --lm-pink:#FFDBE6;
  --lm-peach:#FFEEE2;
  --lm-ink:#320935;
  --lm-muted:#7c6f86;
}

/* ── Header ─────────────────────────────────────────────── */
.lm-header{
  position:sticky; top:0; z-index:40;
  background:#ffffff; border-bottom:1px solid #efe7f1;
  display:flex; align-items:center; gap:1rem;
  padding:.6rem 1rem; min-height:60px;
}
.lm-header__brand{display:flex; align-items:center; gap:.6rem; flex:0 0 auto;}
.lm-header__brand img{height:30px; width:auto; display:block;}
.lm-header__wordmark{font-weight:700; color:var(--lm-purple-deep); font-size:1.05rem; letter-spacing:-.01em; line-height:1;}
.lm-header__wordmark span{color:var(--lm-orange);}
.lm-header__context{flex:1 1 auto; text-align:center; line-height:1.2;}
.lm-header__client{font-weight:600; color:var(--lm-purple-deep); font-size:.95rem;}
.lm-header__welcome{color:var(--lm-muted); font-size:.8rem;}
.lm-header__right{flex:0 0 auto; display:flex; align-items:center; gap:.5rem;}

.lm-nav{display:flex; gap:.25rem; align-items:center;}
.lm-nav a{
  padding:.4rem .7rem; border-radius:8px; font-size:.85rem; font-weight:600;
  color:var(--lm-purple-deep); text-decoration:none; white-space:nowrap;
}
.lm-nav a:hover{background:var(--lm-peach);}
.lm-nav a.is-active{background:var(--lm-orange); color:#fff;}
.lm-nav a.is-soon{color:#b9adc2; cursor:default;}
.lm-nav a.is-soon:hover{background:transparent;}
.lm-signout{font-size:.78rem; color:var(--lm-muted); background:none; border:none; cursor:pointer; text-decoration:underline;}

.lm-hamburger{display:none; background:none; border:none; cursor:pointer; padding:.3rem;}
.lm-hamburger svg{width:26px; height:26px; stroke:var(--lm-purple-deep);}

/* ── Mobile ─────────────────────────────────────────────── */
@media (max-width:820px){
  .lm-header{flex-wrap:wrap; gap:.5rem;}
  .lm-header__context{order:3; flex-basis:100%; text-align:left; padding-top:.15rem;}
  .lm-hamburger{display:block; margin-left:auto;}
  .lm-nav{
    display:none; order:4; flex-basis:100%; flex-direction:column; align-items:stretch;
    gap:.15rem; padding-top:.4rem; border-top:1px solid #efe7f1; margin-top:.3rem;
  }
  .lm-nav.is-open{display:flex;}
  .lm-nav a{padding:.7rem .6rem; font-size:.95rem;}
  .lm-signout{align-self:flex-start; padding:.4rem .6rem;}
}

/* ── Login overlay ──────────────────────────────────────── */
.lm-login{position:fixed; inset:0; z-index:60; background:linear-gradient(160deg,#fbf6fc,#fff); display:flex; align-items:center; justify-content:center; padding:1rem;}
.lm-login__card{width:100%; max-width:380px; background:#fff; border:1px solid #efe7f1; border-radius:16px; box-shadow:0 10px 40px rgba(50,9,53,.12); padding:1.6rem; }
.lm-login__brand{display:flex; align-items:center; gap:.6rem; margin-bottom:1rem;}
.lm-login__brand img{height:34px;}
.lm-login__brand .lm-header__wordmark{font-size:1.15rem;}
.lm-login h2{font-size:1.05rem; color:var(--lm-purple-deep); margin:0 0 .25rem;}
.lm-login p{font-size:.85rem; color:var(--lm-muted); margin:0 0 .9rem;}
.lm-login input{width:100%; box-sizing:border-box; border:1px solid #ddd2e3; border-radius:10px; padding:.65rem .8rem; font-size:1rem; margin-bottom:.7rem;}
.lm-login input:focus{outline:none; border-color:var(--lm-orange); box-shadow:0 0 0 3px rgba(255,115,0,.15);}
.lm-login button.lm-primary{width:100%; background:var(--lm-orange); color:#fff; border:none; border-radius:10px; padding:.7rem; font-weight:700; font-size:.95rem; cursor:pointer;}
.lm-login button.lm-primary:disabled{opacity:.5; cursor:default;}
.lm-login .lm-link{background:none; border:none; color:var(--lm-purple); font-size:.82rem; cursor:pointer; text-decoration:underline; padding:0; margin-top:.6rem;}
.lm-login .lm-err{color:#c01c4e; font-size:.82rem; margin:.2rem 0 .6rem;}
.lm-login .lm-code{letter-spacing:.4em; text-align:center; font-size:1.3rem;}
.lm-hidden{display:none !important;}
