/**
 * VesselNow IO — base typography, focus, safe-area (VesselUI-aligned).
 * Depends on tokens.css. Does not force full-viewport overflow (marketing pages scroll).
 */
body.vesselnow-vesselui {
  font-family: var(--font-ui);
  background: var(--bg);
  color: var(--text);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

/* Portal shell uses vesselui-portal.css for .vp-body; do not override here. */

body.vesselnow-vesselui .vn-app--topnav {
  font-family: var(--font-ui);
  background: var(--navy-900);
}

body.vesselnow-vesselui .vn-app.vn-app--topnav .vn-main-wrap {
  background: var(--navy-900);
}

body.vesselnow-vesselui a:focus-visible,
body.vesselnow-vesselui button:focus-visible,
body.vesselnow-vesselui .vn-btn:focus-visible,
body.vesselnow-vesselui input:focus-visible,
body.vesselnow-vesselui select:focus-visible,
body.vesselnow-vesselui textarea:focus-visible {
  outline: 2px solid var(--cyan);
  outline-offset: 2px;
}

body.vesselnow-vesselui .vn-top-nav {
  padding-top: max(0px, var(--safe-top));
}

body.vesselnow-vesselui .vn-footer {
  padding-bottom: max(12px, var(--safe-bottom));
}

.vn-brand-mark {
  display: block;
  flex-shrink: 0;
}
