body.lr-portal {
  margin: 0;
  min-width: 0;
  background: var(--lr-bg);
  color: var(--lr-text);
  font: 400 15px/1.5 var(--lr-font);
  overflow-wrap: anywhere;
}

body.lr-portal *, body.lr-portal *::before, body.lr-portal *::after { box-sizing: border-box; }
body.lr-portal img, body.lr-portal video, body.lr-portal iframe { max-width: 100%; }
body.lr-portal a { color: var(--lr-blue); text-underline-offset: 2px; }
body.lr-portal p a { text-decoration: underline; }
body.lr-portal h1, body.lr-portal h2, body.lr-portal h3 { color: var(--lr-text); line-height: 1.2; overflow-wrap: anywhere; }
body.lr-portal h1 { margin: 0 0 var(--lr-space-2); font-size: clamp(22px, 3vw, 28px); font-weight: bold; }
body.lr-portal h2 { font-size: 20px; font-weight: 600; }
body.lr-portal h3 { font-size: 16px; font-weight: 600; }
body.lr-portal :focus-visible { outline: 3px solid rgba(44,108,160,.35); outline-offset: 2px; }
body.lr-portal .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

body.lr-portal #container { display: flex; min-height: calc(100vh - 56px); width: 100%; max-width: none; margin: 0; flex-direction: column; background: var(--lr-bg); border: 0; }
body.lr-portal #header { min-height: 68px; width: 100%; padding: 0 max(16px, calc((100% - var(--lr-content))/2)); display: flex; align-items: center; gap: 0; background: var(--lr-surface); border-bottom: 1px solid var(--lr-border); }
body.lr-portal #logo { display: inline-flex; min-height: var(--lr-control); align-items: center; margin-right: auto; }
body.lr-portal #logo img { display: block; max-width: 168px; max-height: 44px; }
body.lr-portal #content { width: min(calc(100% - 32px), var(--lr-content)); min-height: auto; margin: 0 auto; padding: 36px 0; background: transparent; border: 0; }
body.lr-portal #footer { min-height: 56px; width: 100%; padding: 16px; background: #245a86; color: #fff; text-align: center; }
body.lr-portal #footer p { margin: 0; font-size: 14px; }
body.lr-portal .error_bar, body.lr-portal .warning_bar, body.lr-portal .notice_bar { width: min(calc(100% - 32px), var(--lr-content)); margin: 16px auto 0; padding: 12px 16px; border-radius: var(--lr-radius-sm); border: 1px solid currentColor; background-image: none; }
body.lr-portal .error_bar { color: var(--lr-danger); background: #fff1f0; }
body.lr-portal .warning_bar { color: var(--lr-warning); background: #fff8e6; }
body.lr-portal .notice_bar { color: var(--lr-success); background: #ecfdf3; }

@media (max-width: 767px) {
  body.lr-portal #header { min-height: 60px; padding: 0 16px; }
  body.lr-portal #header #logo img { width: 181px; max-width: 181px; height: auto; }
  body.lr-portal #logo { min-width: 0; max-width: calc(100% - 60px); }
  body.lr-portal #content { width: calc(100% - 24px); padding: 24px 0 36px; }
}

@media (prefers-reduced-motion: reduce) {
  body.lr-portal *, body.lr-portal *::before, body.lr-portal *::after { scroll-behavior: auto; transition-duration: .01ms; animation-duration: .01ms; animation-iteration-count: 1; }
}
