/* Presentation only: keep licensing, authentication and financial workflows unchanged. */
:root {
  --navy-950: #041222;
  --navy-900: var(--g2l-navy);
  --navy-800: #173c65;
  --blue-700: var(--g2l-blue);
  --blue-600: var(--g2l-blue);
  --blue-100: #eaf2ff;
  --brand-cyan: var(--g2l-cyan);
  --brand-cyan-soft: #eef8fc;
  --slate-500: var(--g2l-muted);
  --slate-200: var(--g2l-line);
  --slate-50: var(--g2l-surface);
  --radius: var(--g2l-radius);
  font-family: var(--g2l-font);
}
body { font-family: var(--g2l-font); color: var(--g2l-ink); }
.button { border-radius: 10px; }
.button.primary { background: var(--g2l-blue); border-color: var(--g2l-blue); box-shadow: none; }
.button.primary:hover { background: var(--g2l-blue-hover); border-color: var(--g2l-blue-hover); }
.button.secondary { border-color: #cddff6; color: var(--g2l-blue); background: #f2f7fe; }
.sidebar { background: var(--g2l-navy); }
.nav-list a { border-radius: 10px; }
.nav-list a.active { background: #1264d930; border-color: #4f91eb66; }
.topbar { background: #fff; }
.public-page.portal-shell-page { background: var(--g2l-surface); }
.portal-shell-page .public-header { background: #fff; border-bottom: 1px solid var(--g2l-line); box-shadow: none; }
.public-brand-copy strong { color: var(--g2l-ink); }
.public-brand-copy small { color: var(--g2l-muted); }
.public-nav a.active::after { background: var(--g2l-blue); }
.public-footer { border-top: 1px solid var(--g2l-line); background: #fff; gap: 20px; flex-wrap: wrap; }
.unified-login { border-color: var(--g2l-line); border-radius: 20px; box-shadow: var(--g2l-shadow); }
.unified-login-brand { background: var(--g2l-navy); }
.unified-login-brand .login-wordmark, .sidebar-logo { background: #fff; padding: 12px; border-radius: 12px; }
.unified-login-brand h1 { line-height: 1.08; letter-spacing: -.045em; }
.unified-login-brand .eyebrow { color: #61d3ea; }
.unified-login-card { background: #fff; }
.unified-login-card input { border-radius: 9px; }
.unified-login-card .login-submit { min-height: 46px; }
.g2l-hub { position: relative; z-index: 45; }
.workspace .g2l-hub { z-index: 20; }
.g2l-hub .g2l-product-menu a { color: var(--g2l-ink); }
.g2l-hub + .public-header { z-index: 40; }
@media (max-width: 800px) {
  .public-brand-copy small { display: block; }
  .public-footer { padding: 24px 18px; }
}
[data-billing-fields][hidden] { display: none !important; }
.login-divider { display: flex; align-items: center; gap: 16px; margin: 24px 0; color: #64748b; font-size: 14px; }
.login-divider::before, .login-divider::after { content: ""; height: 1px; flex: 1; background: #dbe3ed; }
.button.google-signin { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 44px; padding: 12px; border: 1px solid #747775; background: #fff; color: #1f1f1f; font-size: 14px; font-weight: 500; }
.button.google-signin:hover { background: #f8fafd; border-color: #1f1f1f; }
.button.google-signin img, .google-mark { width: 20px; height: 20px; flex-shrink: 0; object-fit: contain; }
.google-login-form { gap: 14px; margin-bottom: 24px; }
.google-login-form p { margin: 0; line-height: 1.6; text-align: center; }
.google-help { max-width: 760px; margin: 32px auto; }
.google-help-steps { text-align: left; margin: 24px 0; padding: 20px; background: #f5f8fc; border-radius: 12px; }
.google-help-steps ol { padding-left: 22px; }
.google-help-steps li + li { margin-top: 12px; }
.google-help .hero-actions { flex-wrap: wrap; gap: 12px; margin: 24px 0; }
