.site-legal-footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: .7rem 1.25rem;
    min-height: 58px;
    padding: 1rem;
    color: #dce7e8;
    background: #102932;
    font-size: .88rem;
}
.site-legal-footer a,
.site-legal-footer__settings {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: .2em;
}
.site-legal-footer__settings {
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    font: inherit;
}
.site-legal-footer a:focus-visible,
.site-legal-footer__settings:focus-visible,
.sidebar__legal a:focus-visible,
.sidebar__legal button:focus-visible,
.site-cookie-layer a:focus-visible,
.site-cookie-layer button:focus-visible {
    outline: 3px solid #f8cc56;
    outline-offset: 3px;
}
.sidebar__legal {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem .75rem;
    margin-top: auto;
    padding: 1rem .4rem .2rem;
    border-top: 1px solid rgba(255,255,255,.12);
}
.sidebar__bottom + .sidebar__legal { margin-top: 1rem; }
.sidebar__legal a,
.sidebar__legal button {
    padding: 0;
    border: 0;
    color: #b8cbce;
    background: transparent;
    font: inherit;
    font-size: .75rem;
    line-height: 1.4;
    text-decoration: underline;
    text-underline-offset: .18em;
    cursor: pointer;
}
.sidebar__legal a:hover,
.sidebar__legal button:hover { color: #fff; }
.account-navigation + .app-shell {
    min-height: calc(100vh - 62px);
    min-height: calc(100dvh - 62px);
}
.account-navigation + .app-shell > .sidebar {
    height: calc(100vh - 62px);
    height: calc(100dvh - 62px);
}
.site-cookie-layer[hidden] { display: none !important; }
.site-cookie-layer-open { overflow: hidden; }
.site-cookie-layer {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: grid;
    place-items: center;
    padding: 1rem;
    overflow-y: auto;
    background: rgba(8, 27, 34, .82);
}
.site-cookie-panel {
    width: min(100%, 660px);
    padding: clamp(1.25rem, 4vw, 2.25rem);
    border: 1px solid #d5e4e1;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 25px 70px rgba(0, 0, 0, .28);
    line-height: 1.55;
}
.site-cookie-panel h2 { margin: .2rem 0 .8rem; font-size: clamp(1.4rem, 3vw, 2rem); }
.site-cookie-panel p { margin: 0 0 1rem; }
.site-cookie-panel a { color: #0c6c67; text-decoration: underline; }
.site-cookie-panel__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .75rem; margin-top: 1.3rem; }
.site-cookie-panel__actions button { min-height: 44px; white-space: normal; text-align: center; cursor: pointer; }
.legal-page { background: #f3f5f3; }
.legal-page__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem max(1rem, calc((100vw - 900px) / 2));
    background: #102932;
    color: #fff;
}
.legal-page__header a:last-child { text-decoration: underline; }
.legal-page__main {
    width: min(100% - 2rem, 900px);
    margin: 2rem auto 4rem;
    padding: clamp(1.2rem, 3vw, 2.5rem);
    border: 1px solid #dde3e6;
    border-radius: 14px;
    background: #fff;
    line-height: 1.65;
}
.legal-page__main h1 { margin-top: 0; }
.legal-page__main h2 { margin-top: 2rem; }
.legal-page__main p,
.legal-page__main li { max-width: 75ch; }
.legal-page__main a { color: #0c6c67; text-decoration: underline; }
.legal-page__main .flash { margin-bottom: 1.5rem; }
.legal-version { margin-top: 2.5rem; padding-top: 1rem; border-top: 1px solid #dde3e6; color: #5d6b70; font-size: .9rem; }
.legal-cookie-table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.legal-cookie-table th,
.legal-cookie-table td { padding: .7rem; border: 1px solid #dbe2e4; text-align: left; vertical-align: top; }
.legal-cookie-table th { background: #edf5f3; }
.legal-cookie-table code { white-space: nowrap; }
.legal-review-warning {
    padding: 1rem 1.15rem;
    border: 1px solid #e4b3aa;
    border-left: 4px solid #a74435;
    border-radius: 8px;
    background: #fff4f1;
}
@media (max-width: 540px) {
    .site-cookie-panel__actions { flex-direction: column-reverse; }
    .site-cookie-panel__actions button { width: 100%; }
    .legal-page__header { flex-wrap: wrap; }
}
@media (max-width: 760px) {
    .account-navigation + .app-shell { min-height: 0; }
    .account-navigation + .app-shell > .sidebar {
        height: auto;
        min-height: 0;
        max-height: min(70dvh, 600px);
    }
}
