/* Inherit the existing Vault theme; no new global color or font system. */
html.passbolt body:has(> .node360-legal) { display: flex; flex-direction: column; min-height: 100svh; height: auto; margin: 0; }
/* Native authentication is rendered in a body portal after the empty server mount. */
html.passbolt body:has(> .node360-legal) > div:has(> .page.login) { flex: 1 0 auto; }
html.passbolt body:has(> .node360-legal) > div > .page.login { height: auto; min-height: calc(100svh - 60px); }
html.passbolt body > .node360-legal { position: relative; inset: auto; clear: both; order: 1; flex: none; box-sizing: border-box; width: 100%; margin: auto 0 16px; padding: 0 16px; background: transparent; color: var(--node360-muted, #52645a); font: 500 13px/1.5 var(--node360-sans, Arial, sans-serif); text-align: center; }
.node360-legal nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 20px; }
.node360-legal a { display: inline-flex; align-items: center; box-sizing: border-box; min-height: 44px; padding: 4px 8px; border: 0; color: inherit; border-radius: 6px; text-decoration: underline; text-underline-offset: 3px; }
.node360-legal a::after { display: none; }
.node360-legal a:hover { color: var(--node360-ink, #173b30); }
.node360-legal a:focus-visible { outline: 2px solid var(--node360-focus, #ef6a4d); outline-offset: 3px; }
/* The native error layout uses its existing footer, including Terms/Credits. */
html.passbolt .error.page:has(> footer a[href="/datenschutz/"]) { position: relative; display: flex; flex-direction: column; min-height: 100svh; height: auto; }
html.passbolt .error.page:has(> footer a[href="/datenschutz/"]) > #content { flex: 1 0 auto; }
html.passbolt .error.page:has(> footer a[href="/datenschutz/"]) > footer { position: relative; inset: auto; flex: none; box-sizing: border-box; width: 100%; height: auto; margin: auto 0 16px; padding: 0 16px; }
html.passbolt .error.page > footer .footer-links { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; }
html.passbolt .error.page > footer a[href="/datenschutz/"],
html.passbolt .error.page > footer a[href="https://360node.de/de/impressum"] { display: inline-flex; align-items: center; box-sizing: border-box; min-height: 44px; padding: 4px 8px; text-decoration: underline; text-underline-offset: 3px; }
html.passbolt .error.page > footer a[href="/datenschutz/"]:focus-visible,
html.passbolt .error.page > footer a[href="https://360node.de/de/impressum"]:focus-visible { outline: 2px solid var(--node360-focus, #ef6a4d); outline-offset: 3px; }
@media print { .node360-legal { display: none; } }
