body { margin: 0; background: #fff; }
.atlas-layout { min-height: 100vh; background: var(--atlas-background-color, #fff); color: var(--atlas-text-color, #17212e); font-family: var(--atlas-body-font, system-ui, sans-serif); }
.atlas-layout-header, .atlas-layout-footer { box-sizing: border-box; max-width: var(--atlas-content-width, 1200px); margin: 0 auto; padding-inline: var(--atlas-side-padding, 40px); }
.atlas-layout-header-wrap { background: var(--atlas-header-background, #fff); }
.atlas-layout-header-wrap[data-sticky="Y"] { position: sticky; top: 0; z-index: 100; }
.atlas-layout-header { min-height: var(--atlas-header-height, 88px); display: flex; align-items: center; gap: 24px 40px; padding-block: 12px; }
.atlas-layout-header-wrap[data-border="Y"] .atlas-layout-header { border-bottom: 1px solid #dce2e9; }
.atlas-layout-header a { text-decoration: none; color: inherit; min-height: 44px; display: inline-flex; align-items: center; }
.atlas-layout-header a:hover { color: var(--atlas-accent-color, #245ad1); }
.atlas-layout-header a:focus-visible { outline: 3px solid var(--atlas-accent-color, #245ad1); outline-offset: 3px; border-radius: 4px; }
.atlas-layout-header .atlas-layout-brand { min-width: 0; max-width: min(var(--atlas-logo-max-width, 240px), 100%); flex: 0 1 auto; gap: 10px; color: var(--atlas-logo-color, #17212e); font-family: var(--atlas-logo-font, system-ui, sans-serif); font-size: var(--atlas-logo-font-size, 24px); font-weight: var(--atlas-logo-weight, 700); letter-spacing: var(--atlas-logo-spacing, -1px); line-height: 1.3; }
.atlas-layout-brand-text { min-width: 0; overflow-wrap: anywhere; }
.atlas-layout-mark { flex: 0 0 auto; width: var(--atlas-logo-height, 36px); height: var(--atlas-logo-height, 36px); border-radius: 10px; display: inline-grid; place-items: center; background: var(--atlas-accent-color, #245ad1); color: #fff; }
.atlas-layout-logo { display: block; min-width: 0; flex: 0 1 auto; }
.atlas-layout-logo img { display: block; width: auto; height: var(--atlas-logo-height, 36px); max-width: 100%; object-fit: contain; }
.atlas-layout-nav { flex: 1; min-width: 0; display: flex; align-items: center; flex-wrap: wrap; gap: 4px var(--atlas-nav-gap, 24px); font-size: var(--atlas-nav-font-size, 13px); }
.atlas-layout-nav[data-align="center"] { justify-content: center; }
.atlas-layout-nav[data-align="right"] { justify-content: flex-end; }
.atlas-layout-nav a { flex: none; }
.atlas-layout-nav a[aria-current] { font-weight: 700; color: var(--atlas-accent-color, #245ad1); }
.atlas-layout-account { flex-shrink: 0; margin-left: auto; gap: 10px; font-size: 13px; max-width: 45%; overflow-wrap: anywhere; }
.atlas-layout-main { box-sizing: border-box; min-width: 0; min-height: 70vh; padding-block: var(--atlas-content-top-padding, 0px) var(--atlas-content-bottom-padding, 0px); }
.atlas-layout[data-content="contained"] .atlas-layout-main { max-width: var(--atlas-content-width, 1200px); margin-inline: auto; padding-inline: var(--atlas-side-padding, 40px); }
.atlas-layout[data-content="wide"] .atlas-layout-main { max-width: none; padding-inline: var(--atlas-side-padding, 40px); }
.atlas-layout[data-content="wide"] .atlas-layout-main :is(.lmt-atlas,.aw-pc) { max-width: none; }
.atlas-layout-footer { border-top: 1px solid #dce2e9; margin-top: 40px; padding-block: 28px; display: flex; flex-wrap: wrap; align-items: center; gap: 16px 32px; background: var(--atlas-footer-background, #fff); font-size: 12px; }
.atlas-layout-footer-brand { font-weight: 700; overflow-wrap: anywhere; }
.atlas-layout-footer-description { white-space: pre-line; overflow-wrap: anywhere; }
.atlas-layout-copyright { margin-left: auto; white-space: pre-line; overflow-wrap: anywhere; }
/* Native widget-page management buttons must also fit a padded content area. */
.atlas-layout-main > .btnArea > .btn-group { display: inline-flex; flex-wrap: wrap; max-width: 100%; white-space: normal; }
.atlas-layout-main > .btnArea > .btn-group > .btn { min-height: 44px; box-sizing: border-box; display: inline-flex; align-items: center; }
@media (max-width: 767px) {
    .atlas-layout-header, .atlas-layout-footer { padding-inline: var(--atlas-mobile-side-padding, 20px); }
    .atlas-layout-header { min-height: var(--atlas-header-mobile-height, 76px); flex-wrap: wrap; gap: 8px 12px; }
    .atlas-layout-header .atlas-layout-brand { max-width: min(var(--atlas-logo-mobile-max-width, 180px), 100%); font-size: var(--atlas-logo-mobile-font-size, 20px); }
    .atlas-layout-mark { width: var(--atlas-logo-mobile-height, 32px); height: var(--atlas-logo-mobile-height, 32px); }
    .atlas-layout-logo img { height: var(--atlas-logo-mobile-height, 32px); }
    .atlas-layout-nav { order: 3; flex-basis: 100%; padding: 4px; margin: -4px; }
    .atlas-layout-nav[data-mobile="scroll"] { flex-wrap: nowrap; overflow-x: auto; justify-content: flex-start; scrollbar-width: thin; }
    .atlas-layout-account { max-width: 100%; }
    .atlas-layout[data-content="contained"] .atlas-layout-main, .atlas-layout[data-content="wide"] .atlas-layout-main { padding-inline: var(--atlas-mobile-side-padding, 20px); }
    .atlas-layout-footer { margin-top: 20px; }
}
