.brand {
  display: block;
  width: 155px;
  color: transparent;
  font-size: 0;
  line-height: 0;
}

.brand img,
.hero-logo {
  display: block;
  width: 100%;
  height: auto;
}

.hero {
  max-width: none;
  display: grid;
  grid-template-columns: minmax(280px, 1fr) minmax(300px, .85fr);
  align-items: center;
  gap: 3rem;
  padding: 8vh 0;
}

@media (max-width: 760px) {
  header { min-height: 64px; }
  .brand { width: 126px; }
  .hero {
    grid-template-columns: 1fr;
    gap: 1.5rem;
    padding: 4vh 0;
  }
  .hero-logo { max-width: 520px; }
}

.billing-alert { display:block; margin:0 0 1rem; padding:1rem; border:2px solid #b42318; border-radius:.65rem; background:#fee4e2; color:#7a271a; text-decoration:none; }
.billing-alert p { margin:.35rem 0 .75rem; }
.billing-alert form { display:inline-flex; }
.alert-link span { display:block; margin-top:.25rem; }
.billing-bad { color:#b42318 !important; font-weight:800; }
.billing-good { color:#157347 !important; font-weight:800; }
.checkout-link { margin-bottom:1rem; }
.copy-row { display:flex; gap:.5rem; margin-bottom:.75rem; }
.copy-row input { flex:1; }
@media (max-width:600px) { .copy-row { flex-direction:column; } }

.portal-welcome { display:flex; justify-content:space-between; align-items:end; gap:1rem; margin-bottom:1.5rem; padding:1.5rem; border-radius:.9rem; background:linear-gradient(135deg,#061f58,#078eea); color:white; }
.portal-welcome .eyebrow { color:#8ef128; }
.portal-welcome p:last-child { margin-bottom:0; color:#d9ebff; }
.portal-status { padding:.45rem .85rem; border-radius:999px; font-weight:800; }
.portal-status.active { background:#d9f99d; color:#285900; }
.portal-status.inactive { background:#fee4e2; color:#9b1c12; }
.portal-metrics { display:grid; grid-template-columns:repeat(auto-fit,minmax(175px,1fr)); gap:.8rem; margin-bottom:1.25rem; }
.portal-metrics article { padding:1rem; border:1px solid var(--line); border-radius:.65rem; background:white; }
.portal-metrics span { display:block; color:var(--muted); font-size:.8rem; }
.portal-metrics strong { display:block; margin-top:.25rem; font-size:1.15rem; }
.section-heading { display:flex; justify-content:space-between; align-items:end; border-bottom:1px solid var(--line); padding-bottom:1rem; }
.section-heading h2 { margin:0; }
.portal-call { display:grid; grid-template-columns:1fr auto; gap:.5rem 1rem; padding:1.25rem 0; border-bottom:1px solid var(--line); color:inherit; text-decoration:none; }
.portal-call:hover h3 { color:#078eea; }
.portal-call h3 { margin:.15rem 0 0; }
.portal-call time { color:var(--muted); font-size:.8rem; }
.portal-call p,.portal-call footer { grid-column:1/-1; }
.portal-call footer { display:flex; justify-content:space-between; padding:.7rem; border-radius:.4rem; background:var(--paper); }
.empty-state { padding:2rem 0; text-align:center; color:var(--muted); }
.nte-card { border-left:5px solid #8bdc00; }
.timeline-item { padding:1rem 0; border-bottom:1px solid var(--line); }
.timeline-item time { display:block; color:var(--muted); font-size:.8rem; margin:.2rem 0; }
@media(max-width:600px) { .portal-welcome { align-items:start; flex-direction:column; } .portal-metrics { grid-template-columns:1fr 1fr; } }
