/* Compact, readable auth flow; shared by browser, PWA and native remote pages. */
body:is(.page-login,.page-register) { background:#f3f8f7!important; color:#153650; }
body:is(.page-login,.page-register) .site-main { display:block!important; min-height:100dvh; padding:28px 16px!important; background:#f3f8f7!important; overflow:visible!important; }
body:is(.page-login,.page-register) .site-main::before,
body:is(.page-login,.page-register) .site-main::after { display:none!important; }
body .auth382.auth-layout { display:block!important; width:min(480px,100%)!important; max-width:480px!important; margin:0 auto!important; }
body .auth382 .auth-card { padding:0!important; border:1px solid #d7e5e3!important; border-radius:20px!important; background:#fff!important; overflow:hidden; box-shadow:0 12px 40px #15365012!important; backdrop-filter:none!important; }
.auth382-sea { height:76px; background:#0b6480 url('../img/auth/auth-women-beach-stickers-470.png') center 43%/cover no-repeat; }
.auth382-content { padding:20px 24px; }
body .auth382 .auth-brand-row { display:flex!important; gap:10px; margin:0 0 20px!important; align-items:center; justify-content:space-between; }
body .auth382 .auth-brand { display:flex; align-items:center; gap:8px; color:#153650; text-decoration:none; min-width:0; }
body .auth382 .auth-brand img { width:40px!important; height:40px!important; border-radius:12px; }
body .auth382 .auth-brand strong { display:block; font:800 19px/1.2 system-ui,sans-serif!important; letter-spacing:-.5px!important; }
body .auth382 .auth-brand small { display:block; font:700 9px/1.6 system-ui,sans-serif!important; letter-spacing:.8px!important; }
body .auth382 .auth-return-link { display:grid; place-items:center; flex-shrink:0; width:44px; height:44px; padding:0!important; border:0!important; background:#eef5f4!important; border-radius:12px; font-size:22px!important; text-decoration:none; color:#153650; }
.auth382-tabs { display:flex; padding:4px; background:#edf4f3; border-radius:12px; margin-bottom:20px; }
.auth382-tabs a { flex:1; padding:11px 6px; text-align:center; text-decoration:none; color:#153650; border-radius:9px; font:600 16px/1.3 system-ui,sans-serif; }
.auth382-tabs a[aria-current] { background:#127c86; color:white; }
body .auth382 h1 { font:750 28px/1.18 system-ui,sans-serif!important; letter-spacing:-.6px!important; margin:0 0 8px!important; color:#153650!important; }
body .auth382 .auth-intro { margin:0 0 20px!important; font:400 16px/1.45 system-ui,sans-serif!important; color:#526b7a!important; }
body .auth382 form { display:grid!important; gap:14px!important; margin:0!important; }
body .auth382 .form-row { display:grid; gap:6px; margin:0!important; }
body .auth382 label { font:650 15px/1.4 system-ui,sans-serif!important; color:#153650!important; }
body .auth382 input:not([type=checkbox]):not([type=hidden]),body .auth382 select { box-sizing:border-box; width:100%!important; height:48px!important; min-height:48px!important; padding:10px 12px!important; border:1px solid #bfcecf!important; border-radius:10px!important; background:#fff!important; color:#153650!important; font:400 16px/1.4 system-ui,sans-serif!important; box-shadow:none!important; }
body .auth382 select.auth382-picker-source{position:absolute!important;width:1px!important;height:1px!important;min-height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
body .auth382 .auth382-picker-trigger{position:relative;box-sizing:border-box;width:100%;height:48px;min-height:48px;padding:10px 42px 10px 12px;border:1px solid #bfcecf;border-radius:10px;background:#fff;color:#153650;text-align:left;font:400 16px/1.4 system-ui,sans-serif;cursor:pointer}
body .auth382 .auth382-picker-trigger:after{content:'⌄';position:absolute;right:14px;top:50%;transform:translateY(-55%);color:#526b7a;font-size:20px;line-height:1}
body .auth382 .auth382-picker-trigger.is-placeholder{color:#65777d}
body .auth382 .auth382-picker-trigger.has-error{border-color:#c62d4d!important;box-shadow:0 0 0 3px rgba(198,45,77,.12)!important}
body.auth382-picker-open{overflow:hidden!important}
.auth382-picker-layer{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:flex-end;justify-content:center;padding:16px;box-sizing:border-box}
.auth382-picker-backdrop{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:rgba(5,35,59,.58);cursor:pointer}
.auth382-picker-sheet{position:relative;width:min(480px,100%);max-height:min(74dvh,620px);overflow:hidden;border:1px solid #d7e5e3;border-radius:22px;background:#fff;box-shadow:0 24px 70px rgba(5,35,59,.28)}
.auth382-picker-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 16px 12px;border-bottom:1px solid #e2eceb;color:#153650}
.auth382-picker-head strong{font:800 18px/1.3 system-ui,sans-serif}
.auth382-picker-head button{display:grid;place-items:center;width:42px;height:42px;padding:0;border:0;border-radius:12px;background:#edf5f4;color:#153650;font:400 27px/1 system-ui,sans-serif;cursor:pointer}
.auth382-picker-options{display:grid;gap:6px;max-height:calc(min(74dvh,620px) - 72px);padding:10px;overflow:auto;overscroll-behavior:contain}
.auth382-picker-option{min-height:50px;padding:11px 14px;border:1px solid transparent;border-radius:13px;background:#f5f9f9;color:#153650;text-align:left;font:650 16px/1.35 system-ui,sans-serif;cursor:pointer}
.auth382-picker-option[aria-selected="true"]{border-color:#54aeb5;background:#e7f7f5;color:#096b75;font-weight:800}
.auth382-picker-option:focus-visible,.auth382-picker-head button:focus-visible{outline:3px solid #6abcc4;outline-offset:1px}
body .auth382 input:focus-visible,body .auth382 select:focus-visible,body .auth382 a:focus-visible,body .auth382 button:focus-visible { outline:3px solid #6abcc4!important; outline-offset:2px; }
body .auth382 input::placeholder { color:#65777d; opacity:1; }
body .auth382 .mr-password-control { display:block; position:relative; }
body .auth382 .mr-password-control input { padding-right:50px!important; }
body .auth382 .mr-password-toggle { width:44px!important; min-height:44px!important; height:44px!important; padding:0!important; right:2px!important; background:transparent!important; color:#153650!important; border:0!important; box-shadow:none!important; }
body .auth382 .full { display:flex!important; align-items:center; justify-content:center; min-height:48px!important; padding:12px!important; width:100%; box-sizing:border-box; border:0!important; border-radius:10px!important; background:#127c86!important; color:#fff!important; font:700 17px/1.3 system-ui,sans-serif!important; text-decoration:none; box-shadow:none!important; cursor:pointer; }
body .auth382 .auth382-secondary { background:#fff!important; color:#127c86!important; border:1px solid #127c86!important; }
body .auth382 .auth-foot,body .auth382 .auth382-hint { margin:0!important; color:#526b7a!important; font:400 14px/1.5 system-ui,sans-serif!important; }
body .auth382 .auth-foot { margin-top:18px!important; text-align:center; font-size:15px!important; }
.auth382 a { color:#096b75; text-underline-offset:3px; }
.auth382-forgot { text-align:right; font:600 15px/1.4 system-ui,sans-serif; }
.auth382-footer { display:flex; justify-content:center; gap:12px; margin-top:24px; font:400 14px/1.4 system-ui,sans-serif; }
.auth382-stepper { display:none; gap:16px; align-items:center; margin:0 0 18px; color:#526b7a; font:600 15px/1.4 system-ui,sans-serif; }
.auth382-stepper [aria-current] { color:#096b75; font-weight:800; }
.auth382-stepper::after { content:''; height:2px; flex:1; background:#d9e6e4; }
.auth382-enhanced .auth382-stepper { display:flex; }
.auth382 fieldset { border:0; padding:0; margin:0; min-width:0; display:grid; gap:14px; }
.auth382 legend { font:700 18px/1.4 system-ui,sans-serif; margin-bottom:12px; }
.auth382-enhanced legend { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.auth382 [hidden] { display:none!important; }
body .auth382 .profile-check { display:flex!important; align-items:flex-start; gap:10px; margin:0!important; padding:0!important; border:0!important; background:transparent!important; font-weight:400!important; }
body .auth382 input[type=checkbox] { flex:0 0 22px; width:22px!important; height:22px!important; min-height:22px!important; margin:0!important; accent-color:#127c86; }
.auth382-back { justify-self:center; border:0!important; background:transparent!important; box-shadow:none!important; color:#096b75!important; min-height:44px; font:600 16px system-ui,sans-serif!important; }
.auth382[data-current-step="1"] .auth382-tabs,.auth382[data-current-step="1"] .auth-intro { display:none!important; }
.auth382 .notice { font:400 16px/1.5 system-ui,sans-serif; margin:0 0 16px; }
body.page-login .toast-stack { position:relative!important; inset:auto!important; z-index:20; width:min(960px,calc(100% - 32px))!important; margin:18px auto -12px!important; }
body.page-login .toast { min-height:62px; padding:14px 18px!important; border:1px solid #f0a8b5!important; border-left:6px solid #bf2845!important; border-radius:15px!important; color:#8b1830!important; background:linear-gradient(135deg,#fff0f3,#fff8f8)!important; box-shadow:0 12px 30px rgba(151,26,53,.13)!important; font:700 15px/1.45 system-ui,sans-serif!important; }
body.page-login .toast .ui-icon { width:24px; height:24px; flex:0 0 24px; color:#bf2845; }
body:is(.page-login,.page-register) .mr-consent { position:static!important; box-sizing:border-box; width:calc(100% - 32px)!important; max-width:480px!important; margin:0 auto 24px!important; display:block!important; padding:16px!important; border-radius:14px!important; box-shadow:none!important; background:#fff!important; }
body:is(.page-login,.page-register) .mr-consent strong { font-size:16px!important; }
body:is(.page-login,.page-register) .mr-consent p { font-size:14px!important; }
body:is(.page-login,.page-register) .mr-consent form { display:grid!important; grid-template-columns:1fr 1fr; gap:10px; margin-top:12px; }
body:is(.page-login,.page-register) .mr-consent button { min-height:48px!important; padding:10px!important; background:#fff!important; color:#096b75!important; border:1px solid #127c86!important; border-radius:10px!important; font:600 15px/1.3 system-ui,sans-serif!important; box-shadow:none!important; }
@media(max-width:520px) {
 body:is(.page-login,.page-register) .site-main { padding:0 0 max(16px,env(safe-area-inset-bottom))!important; }
 body.page-login .toast-stack { width:calc(100% - 24px)!important; margin:12px auto!important; }
 body .auth382 .auth-card { border:0!important; border-radius:0!important; box-shadow:none!important; }
 .auth382-content { padding:18px 20px 24px; }
 .auth382-sea { height:64px; }
 .auth382-picker-layer{padding:0}
 .auth382-picker-sheet{width:100%;max-height:78dvh;border-width:1px 0 0;border-radius:22px 22px 0 0;padding-bottom:env(safe-area-inset-bottom)}
}

/* 2.7.7 – einheitliche, moderne Kontoansicht für Website, PWA und App. */
body:is(.page-login,.page-register){background:linear-gradient(145deg,#dff9f8 0%,#f3fbff 48%,#fff4c5 100%)!important}
body:is(.page-login,.page-register) .site-header{background:rgba(255,255,255,.9)!important;border-bottom:1px solid #dce9ef!important;box-shadow:0 8px 30px rgba(8,48,82,.08)!important}
body:is(.page-login,.page-register) .site-header .desktop-nav,
body:is(.page-login,.page-register) .site-header .header-search-button,
body:is(.page-login,.page-register) .site-header .header-register,
body:is(.page-login,.page-register) .site-header .header-login,
body:is(.page-login,.page-register) .site-footer,
body:is(.page-login,.page-register) .mobile-bottom-nav{display:none!important}
body:is(.page-login,.page-register) .site-main{padding:34px 16px 64px!important;background:transparent!important}
body .auth382.auth-layout{width:min(960px,100%)!important;max-width:960px!important}
body .auth382 .auth-card{display:grid!important;grid-template-columns:minmax(300px,.83fr) minmax(390px,1.17fr);min-height:650px;border:1px solid rgba(255,255,255,.82)!important;border-radius:32px!important;background:#fff!important;box-shadow:0 30px 80px rgba(8,48,82,.16)!important}
.auth382-sea{position:relative;height:auto;min-height:100%;overflow:hidden;padding:0;background:#0b6480 url('../img/auth/auth-women-beach-stickers-470.png') center 43%/cover no-repeat}
.auth382-sea:before{position:absolute;inset:0;background:linear-gradient(180deg,transparent 52%,rgba(3,37,61,.18));content:''}
.auth382-sea:after{display:none;content:none}
.auth382-content{padding:29px 34px 26px}
body .auth382 .auth-brand-row{margin-bottom:14px!important}
body .auth382 .auth-return-link{color:#0b315d;background:#e7f7f5!important}
body .auth382 form.auth382-languages{display:flex!important;grid-template-columns:none!important;flex-direction:row!important;gap:7px!important;margin:0 0 16px!important;padding:5px!important;border:1px solid #dce8ed;border-radius:14px;background:#f3f8fa}
body .auth382 form.auth382-languages button{width:auto!important;min-width:0!important;min-height:39px!important;display:flex!important;flex:1 1 0!important;align-items:center!important;justify-content:center!important;gap:6px!important;padding:5px 7px!important;border:0!important;border-radius:10px!important;color:#315b70!important;background:transparent!important;box-shadow:none!important;font:800 12px/1 system-ui,sans-serif!important;cursor:pointer}
body .auth382 .auth382-languages button.is-active{color:#fff!important;background:linear-gradient(120deg,#0d7181,#13a0a0)!important;box-shadow:0 6px 14px rgba(9,105,119,.2)!important}
.auth382-tabs{margin-bottom:18px;background:#eef5f6}.auth382-tabs a[aria-current]{background:linear-gradient(120deg,#0b6f81,#13a0a0);box-shadow:0 7px 17px rgba(12,112,126,.2)}
body .auth382 h1{font-size:32px!important;color:#0b315d!important}.auth382-stepper [aria-current],.auth382 a{color:#087987}
body .auth382 .full{border-radius:13px!important;background:linear-gradient(120deg,#0b6f81,#13a0a0)!important;box-shadow:0 9px 20px rgba(12,112,126,.18)!important}
body .auth382 .auth382-secondary{color:#0b315d!important;border:1px solid #bfdce1!important;background:#ecfbf8!important;box-shadow:none!important}
.auth382-footer{flex-wrap:wrap;gap:7px;margin-top:22px;padding-top:17px;border-top:1px solid #e2ebef}.auth382-footer a{padding:6px 9px;border-radius:9px;color:#526f7e;background:#f3f7f8;text-decoration:none;font-size:12px;font-weight:750}.auth382-footer span{display:none}
@media(max-width:760px){body:is(.page-login,.page-register) .site-header{display:none!important}body:is(.page-login,.page-register) .site-main{padding:0 0 24px!important}body .auth382 .auth-card{display:block!important;min-height:0;border:0!important;border-radius:0 0 25px 25px!important;box-shadow:0 18px 46px rgba(8,48,82,.12)!important}.auth382-sea{height:210px;min-height:210px;background-position:center 39%}.auth382-content{padding:18px 18px 25px}.auth382-languages{position:relative;z-index:3;margin-top:-2px!important}body .auth382 h1{font-size:28px!important}}
