/* Shared appearance control; existing product layout and action semantics stay local. */
@import url('/sigvora-assets/css/customer-preferences-tokens.css?v=20261014-p2-a1');
.sv-replaced-appearance { display: none !important; }
.sv-customer-footer { display:block !important; padding: 24px; }
.sv-customer-preferences { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 10px; max-width: 100%; margin-block: 16px; }
.sv-customer-preferences label { font: 500 14px/1.4 system-ui, sans-serif; color: inherit; }
.sv-customer-preferences select { box-sizing: border-box; min-height: 44px; max-width: 100%; width: min(100%, 280px); border: 1px solid var(--sv-control-gold); border-radius: 999px; padding: 10px 32px 10px 16px; background-color: var(--sv-control-gold); color: var(--sv-control-ink); font: 600 14px/1.4 system-ui, sans-serif; cursor: pointer; color-scheme: light; }
.sv-customer-preferences select:focus-visible { outline: 3px solid var(--sv-control-gold); outline-offset: 3px; }
.sv-viewport-language { position: fixed !important; box-sizing: border-box !important; transform: none !important; margin: 0 !important; overflow: auto !important; overscroll-behavior: contain; z-index: 10000 !important; max-width: calc(100vw - 24px) !important; }
.entry-language-picker.is-open,.sigvora-global-language-control.is-open,.startseite-language-control:has(button[aria-expanded=true]) { z-index:10001 !important; }
:root[data-sv-theme] .sv-customer-preferences select { border-radius:999px !important; background:var(--sv-control-gold) !important; color:var(--sv-control-ink) !important; border-color:var(--sv-control-gold) !important; }
:root[data-sv-theme=light] { color-scheme: light !important; }
:root[data-sv-theme=dark] { color-scheme: dark !important; }
:root[data-sv-maritime][data-sv-theme] body { color: var(--sv-cx-text); background: var(--sv-cx-bg); }
:root[data-sv-maritime][data-sv-theme=dark] body:has(#login-view:not(.hidden))::after { background: var(--sv-cx-bg) !important; opacity: .84; }
:root[data-sv-maritime][data-sv-theme=dark] :is(.panel,.login-panel,.login-card,.intro-panel,.crew-onboard-card,.card,.content-card) { background-color: var(--sv-cx-surface); color: var(--sv-cx-text); border-color: var(--sv-cx-line); }
:root[data-sv-maritime][data-sv-theme=dark] .login-card :is(h1,h2,h3,label,strong) { color:var(--sv-cx-text); }
:root[data-sv-maritime][data-sv-theme=dark] .login-card p { color:var(--sv-cx-muted); }
:root[data-sv-maritime][data-sv-theme=dark] :is(input,select,textarea) { background-color: var(--sv-cx-field); color: var(--sv-cx-text); border-color: var(--sv-cx-line); }
:root[data-sv-maritime][data-sv-theme=dark] .sv-customer-preferences select { background-color:var(--sv-control-gold);color:var(--sv-control-ink); }
@media(max-width:480px) { .sv-customer-preferences { justify-content: flex-start; width: 100%; } }
/* Public SPV defines palette on body; map that local scope explicitly. */
:root[data-sv-theme] body.spv-design { --bg:var(--sv-cx-bg); --surface:var(--sv-cx-surface); --text:var(--sv-cx-text); --muted:var(--sv-cx-muted); --line:var(--sv-cx-line); --accent:var(--sv-cx-accent); --accent-soft:var(--sv-cx-soft); }
:root[data-sv-theme=dark] .spv-design .design-dark { background:var(--sv-cx-surface) !important; color:var(--sv-cx-text); }
:root[data-sv-theme=dark] .spv-design .design-dark :is(h1,h2,.spv-kicker,.section-copy,.design-secondary) { color:var(--sv-cx-text); }
:root[data-sv-theme=dark] .spv-design .spv-button { color:var(--sv-control-ink); }
:root[data-sv-maritime][data-sv-theme=dark] { --login-light-navy:var(--sv-cx-text); --login-panel:var(--sv-cx-surface); }
:root[data-sv-maritime][data-sv-theme=dark] .maritime-login-shade { background:linear-gradient(90deg,var(--sv-cx-bg),color-mix(in srgb,var(--sv-cx-bg) 80%,transparent)) !important; }
:root[data-sv-theme=dark] #sv-help-trigger { border-color:var(--sv-control-gold) !important; }

/* Admin/footer geometry only; no changes to access, navigation or theme state. */
body:has(.admin-home) > .sv-customer-footer,
body.platform-login-app > .sv-customer-footer {
 position:relative !important; inset:auto !important; transform:none !important;
 box-sizing:border-box !important; width:calc(100% - 32px) !important;
 max-width:1152px !important; min-width:0 !important; margin:24px auto !important;
 padding:24px 0 96px !important; overflow:visible !important;
}
body:has(.admin-home) > .sv-customer-footer .sv-customer-preferences,
body.platform-login-app > .sv-customer-footer .sv-customer-preferences {
 box-sizing:border-box; width:100%; min-width:0; max-width:100%; margin:0;
 display:flex; flex-wrap:wrap; gap:10px; justify-content:flex-end; align-items:center;
}
body:has(.admin-home) > .sv-customer-footer .sv-customer-preferences select,
body.platform-login-app > .sv-customer-footer .sv-customer-preferences select {
 position:static !important; inset:auto !important; transform:none !important;
 box-sizing:border-box !important; min-width:0 !important; width:280px !important;
 max-width:100% !important; flex:0 1 280px; padding-inline-end:38px !important;
}
@media(max-width:600px) {
 body:has(.admin-home) > .sv-customer-footer .sv-customer-preferences,
 body.platform-login-app > .sv-customer-footer .sv-customer-preferences { justify-content:flex-start; }
}
