
/* Shared customer authentication: popup and standalone. */
body.auth-design:not(.auth-embedded) main .portal-header .brand img{width:120px!important;height:100px!important;max-height:100px!important;object-fit:contain;object-position:left center}
@media(max-width:640px){body.auth-design:not(.auth-embedded) main .portal-header .brand img{width:100px!important;height:84px!important;max-height:84px!important}}
body.auth-design main #login.is-register:not([hidden]){height:auto!important;min-height:640px!important;max-height:none!important}
body.auth-design main #login.is-register .auth-body{flex:0 0 auto;min-height:auto;overflow:visible}
body.auth-design main #login.is-register .auth-register{flex:0 0 auto;min-height:0}
body.auth-design main #login.is-register .auth-code-row button{height:38px!important;min-height:38px!important;padding:7px 8px!important;line-height:1.3!important}
body.auth-design main #login.is-register .auth-actions{margin-top:14px}
body.auth-design main #login.is-register .auth-switch{margin-top:14px!important}

body.auth-design .auth-email-verification{min-width:0}
body.auth-design .auth-email-verification>label{margin:0}
body.auth-design .auth-code-row{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:8px;align-items:stretch}
body.auth-design .auth-code-row input{width:100%;min-width:0;margin:0}
body.auth-design .auth-code-row button{width:100%;min-width:0;margin:0;padding:8px;font-size:12px;white-space:nowrap}
body.auth-design .auth-inline-verify{margin-top:12px}
body.auth-design .auth-email-status{font-size:12px;line-height:1.5;margin:8px 0 0;color:#185b43}
body.auth-design .auth-email-status:empty{display:none}

@media(min-width:700px){
 body.auth-design main #login.is-register .auth-body{padding:16px 48px 24px!important}
 body.auth-design main #login.is-register .auth-heading{padding-left:48px!important;padding-right:64px!important}
 body.auth-design main #login.is-register .auth-group{margin-bottom:10px}
 body.auth-design main #login.is-register .auth-switch{padding-bottom:8px!important}
}
@media(max-width:699px){
 body.auth-design main #login.is-register .auth-body{padding-left:24px!important;padding-right:24px!important;padding-bottom:24px!important}
}

@media(min-width:700px){
 body.auth-design main #login:not(.is-register) .auth-body{display:grid!important;grid-template-columns:minmax(0,1fr) 32px minmax(0,1fr);grid-template-rows:1fr auto;column-gap:22px;padding:34px 40px 24px!important;align-items:center}
 body.auth-design main #login:not(.is-register) .auth-social{grid-column:1;grid-row:1;display:flex;flex-direction:column;gap:14px;max-width:360px;padding:28px 18px;background:#f4f8f5;border:1px solid #e0eae3;border-radius:16px;box-sizing:border-box}
 body.auth-design main #login:not(.is-register) .auth-social:before{content:var(--portal-auth-title,"Einfach verbunden");font-size:20px;font-weight:700;color:#184c3c;margin-bottom:8px}
 body.auth-design main #login:not(.is-register) .auth-social:after{content:var(--portal-auth-help,"Ihre Reisen, Wünsche und Nachrichten an einem Ort.");font-size:12px;line-height:1.6;color:#63776a;text-align:center;max-width:250px;margin-top:8px}
 body.auth-design main #login:not(.is-register) .google-sign-in{width:100%}
 body.auth-design main #login:not(.is-register) .auth-social small{font-size:10px;margin-top:-8px}
 body.auth-design main #login:not(.is-register) .auth-divider{grid-column:2;grid-row:1;flex-direction:column;align-self:stretch;justify-content:center;font-size:0!important;margin:32px 0!important;gap:14px}
 body.auth-design main #login:not(.is-register) .auth-divider:before,body.auth-design main #login:not(.is-register) .auth-divider:after{width:1px;height:auto;flex:1}
 body.auth-design main #login:not(.is-register) .password-panel{grid-column:3;grid-row:1;max-width:none;margin:0!important}
 body.auth-design main #login:not(.is-register) .password-panel:before{content:var(--portal-auth-email,"Mit E-Mail anmelden");display:block;font-size:20px;font-weight:700;margin-bottom:24px;color:#184c3c}
 body.auth-design main #login:not(.is-register) .password-panel form{gap:20px}
 body.auth-design main #login:not(.is-register) .password-panel input{height:44px!important}
 body.auth-design main #login:not(.is-register) .password-panel button[type=submit]{height:44px!important}
 body.auth-design main #login:not(.is-register) .password-links{justify-content:flex-end}
 body.auth-design main #login:not(.is-register) .auth-switch{grid-column:1/-1;grid-row:2;margin-top:24px!important;padding-top:20px!important;padding-bottom:8px}
}

body.auth-design main #login .auth-copy{position:absolute;right:1px;top:1px;width:36px;height:36px;min-height:0;padding:8px;border:0;background:transparent;color:#426957;display:grid;place-items:center;cursor:pointer}
body.auth-design main #login .auth-copy:disabled{opacity:.4;cursor:default}
body.auth-design main #login .auth-copy-status{position:absolute;right:0;top:100%;z-index:5;background:#fff;color:#176346;font-size:10px;box-shadow:0 2px 8px #153d2914;border-radius:4px;padding:2px 5px}
body.auth-design main #login .auth-copy-status:empty{display:none}

body.auth-design main #login.is-register .auth-heading{padding-top:14px!important;padding-bottom:14px!important}
body.auth-design main #login.is-register .auth-body{padding-top:16px!important;padding-bottom:24px!important}
body.auth-design main #login.is-register .auth-divider{margin:8px 0!important}
body.auth-design main #login.is-register .auth-switch{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:8px!important;padding:4px 0!important}
body.auth-design main #login.is-register .auth-switch button{height:28px!important;min-height:28px!important;line-height:20px!important;padding:4px 6px!important}
@media(min-width:700px){body.auth-design main #login.is-register .auth-group .auth-fields{row-gap:6px}body.auth-design main #login.is-register .auth-group legend{padding-bottom:5px;margin-bottom:6px}}

body.auth-design main #login .auth-group{border:0;padding:0;margin:0 0 14px;min-width:0}
body.auth-design main #login .auth-group legend{width:100%;padding:0 0 7px;margin-bottom:8px;border-bottom:1px solid #e0e8e1;font-size:14px;font-weight:700;color:#184c3c}
body.auth-design main #login .auth-group .auth-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px}
body.auth-design main #login .auth-group .auth-field{grid-column:span 1!important}
body.auth-design main #login .auth-group .auth-field[data-field=full_name]{grid-column:span 1!important}
body.auth-design main #login .auth-name-combined{display:grid;grid-template-columns:110px minmax(0,1fr);gap:0;border:1px solid #cbdad0;border-radius:7px}
body.auth-design main #login .auth-name-combined select,body.auth-design main #login .auth-name-combined input{border:0!important;height:36px!important;min-height:36px!important}
body.auth-design main #login .auth-name-combined select{border-right:1px solid #cbdad0!important;border-radius:7px 0 0 7px!important;background:#f4f8f5}
body.auth-design main #login .auth-password-wrap{position:relative}
body.auth-design main #login .auth-password-wrap input{padding-right:78px!important}
body.auth-design main #login .auth-password-wrap input::placeholder{color:#87948d;font-size:12px}
body.auth-design main #login .auth-reveal{position:absolute;right:37px;top:1px;width:36px;height:36px;min-height:0;padding:8px;border:0;background:transparent;color:#426957;display:grid;place-items:center;cursor:pointer}
body.auth-design main #login .auth-consent span{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
body.auth-design main #login .auth-consent svg{color:#176346;flex:none}
@media(max-width:480px){body.auth-design main #login .auth-group .auth-fields{grid-template-columns:1fr}body.auth-design main #login .auth-group .auth-field{grid-column:1/-1!important}}

body.auth-design{background:#f2f6f3;color:#203c32}
body.auth-design main{max-width:1120px!important;padding:0 20px 20px!important}
body.auth-design .page-heading,body.auth-design .portal-footer{display:none!important}
body.auth-design main #login .login-method-help:not([hidden]){display:block!important;max-width:460px;margin:0 auto 12px!important;font-size:12px!important;line-height:1.5!important;color:#52616b}
body.auth-design .auth-methods{grid-column:3;grid-row:1;min-width:0}
body.auth-design #login .auth-methods .password-tabs{display:grid!important;margin:0 0 16px}
body.auth-design #login.is-register .auth-methods{display:none!important}
body.auth-design .auth-methods #login-form,body.auth-design .auth-methods #code-form{padding:0;margin:0}
body.auth-design .auth-methods .password-panel:before{font-size:16px!important;margin-bottom:16px!important}
body.auth-design .test{font-size:10px!important;padding:4px 10px!important}
body.auth-design main .portal-header{padding:6px 0!important;margin:0!important;min-height:0!important}
body.auth-design main .portal-header .brand img{width:150px!important;height:65px!important;object-fit:contain}
body.auth-design #status:empty{display:none}
body.auth-design main #login:not([hidden]){display:flex!important;flex-direction:column;width:min(980px,100%)!important;max-width:none!important;height:640px!important;min-height:0!important;margin:12px auto!important;padding:0!important;border:1px solid #d7e3da!important;border-radius:20px!important;background:#fff;box-shadow:0 18px 55px #153d2914;overflow:visible;box-sizing:border-box}
body.auth-design #login>.auth-heading+div{display:none!important}
body.auth-design main #login .auth-heading{flex:none;background:#184c3c!important;padding:20px 30px!important;border-radius:19px 19px 0 0;border-bottom:1px solid #255a48}
body.auth-design main #login .auth-heading h1{display:block!important;margin:0 0 4px!important;font-size:26px!important;line-height:1.2!important;letter-spacing:-.025em;color:#fff!important;-webkit-text-fill-color:#fff!important;opacity:1!important}
body.auth-design main #login .auth-heading p{margin:0!important;font-size:13px!important;line-height:1.4!important;color:#e3eee7!important;-webkit-text-fill-color:#e3eee7!important}
body.auth-design main #login .auth-body{padding:18px 30px!important;display:flex!important;flex:1;min-height:0;flex-direction:column;box-sizing:border-box}
body.auth-design main #login .auth-social{display:grid;grid-template-columns:minmax(0,1fr);gap:4px 14px;align-items:center;max-width:400px;width:100%;margin:0 auto}
body.auth-design #login .google-sign-in{padding:0!important;margin:0!important;display:flex;justify-content:center;min-width:0}
body.auth-design .google-sign-in-divider{display:none!important}
body.auth-design main #login .auth-apple{height:40px!important;min-height:40px!important;width:100%;padding:8px!important;background:#f7f8f7;color:#7b837e;border:1px solid #d5ddd7;border-radius:7px;font-size:13px;cursor:not-allowed}
body.auth-design main #login .auth-social small{grid-column:2;text-align:center;font-size:10px;line-height:1.3;color:#737e77}
body.auth-design main #login .auth-divider{display:flex;align-items:center;gap:12px;margin:12px 0!important;font-size:11px!important;line-height:1.3;color:#7b8980}
body.auth-design .auth-divider:before,body.auth-design .auth-divider:after{content:"";height:1px;flex:1;background:#e0e8e1}
body.auth-design main #login label{display:flex!important;flex-direction:column;gap:5px!important;margin:0!important;font-size:12px!important;font-weight:600;line-height:1.35!important;min-width:0;color:#28493b}
body.auth-design main #login input:not([type=checkbox]),body.auth-design main #login select{width:100%!important;height:38px!important;min-height:38px!important;margin:0!important;padding:7px 10px!important;border:1px solid #cbdad0!important;border-radius:7px!important;font:400 13px/1.3 Arial,sans-serif!important;color:#244436;background:#fff;box-sizing:border-box;min-width:0}
body.auth-design main #login input:focus,body.auth-design main #login select:focus{outline:2px solid #96c4af;outline-offset:1px}
body.auth-design main #login .auth-fields{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:11px 16px}
body.auth-design main #login .auth-field{grid-column:span 2}
body.auth-design main #login .auth-field[data-field=phone],body.auth-design main #login .auth-field[data-field=whatsapp]{grid-column:span 3}
body.auth-design main #login .auth-phone{display:grid;grid-template-columns:100px minmax(0,1fr);gap:8px;align-items:start}
body.auth-design main #login .auth-register .hint{font-size:10px!important;line-height:1.3!important;margin:6px 0 0!important;color:#758279}
body.auth-design main #login .auth-privacy-note{font-size:11px!important;line-height:1.4!important;margin:10px 0 8px!important;color:#63776a}
body.auth-design main #login a{color:#176346;text-underline-offset:3px}
body.auth-design main #login .auth-actions{display:grid;grid-template-columns:1fr 220px;gap:16px;align-items:center;padding-top:10px;border-top:1px solid #e5ece6}
body.auth-design main #login label.auth-consent{display:flex!important;flex-direction:row!important;align-items:center!important;gap:8px!important;font-size:11px!important;font-weight:400!important}
body.auth-design main #login label.auth-consent input{width:16px!important;height:16px!important;min-height:16px!important;margin:0!important;padding:0!important;flex:0 0 16px;accent-color:#146b49}
body.auth-design main #login button[type=submit]{width:100%;height:40px!important;min-height:40px!important;padding:8px 16px!important;border:1px solid #135b40;border-radius:8px!important;background:#146b49;color:white;font-size:14px!important;font-weight:700;cursor:pointer}
body.auth-design main #login button[type=submit]:hover{background:#10583b}
body.auth-design main #login button:disabled{cursor:not-allowed}
body.auth-design main #login .auth-switch{flex:none;margin-top:auto!important;padding-top:12px!important;border-top:1px solid #e4ebe5;text-align:center;font-size:12px;line-height:1.4}
body.auth-design main #login .auth-switch button{border:0;background:none;color:#146b49;text-decoration:underline;text-underline-offset:3px;font-size:12px;font-weight:700;padding:4px 6px;cursor:pointer}
body.auth-design main #login .password-panel{width:100%;max-width:460px;margin:12px auto!important;padding:0!important;border:0!important}
body.auth-design main #login .password-panel form{display:grid;gap:16px}
body.auth-design main #login .password-links{display:flex;gap:12px;margin:12px 0!important;font-size:12px}
body.auth-design main #login .password-links button{font-size:12px}
body.auth-design main #login [role=status]{font-size:12px;line-height:1.4;margin:6px 0;color:#9b3b28}
body.auth-design main #login [role=status]:empty,body.auth-design main #login [hidden]{display:none!important}
body.auth-design main #login .auth-verify{max-width:400px;margin:20px auto;display:grid;gap:12px}
body.auth-design main #login .ra-flag-select{position:relative;min-width:0}
body.auth-design main #login .ra-flag-trigger{display:flex!important;align-items:center;gap:7px;width:100%;height:38px!important;min-height:38px!important;padding:7px 10px!important;border:1px solid #cbdad0;border-radius:7px;background:#fff;color:#244436;font:400 13px/1.3 Arial,sans-serif;white-space:nowrap}
body.auth-design main #login .ra-flag-trigger:after{content:"⌄";margin-left:auto}
body.auth-design main #login .ra-flag-select img{width:20px;height:14px;object-fit:cover;flex-shrink:0}
body.auth-design main #login .ra-flag-panel{position:absolute;top:calc(100% + 4px);left:0;z-index:30;width:max(100%,240px);max-width:calc(100vw - 70px);padding:8px;background:white;border:1px solid #bdd3c4;border-radius:8px;box-shadow:0 8px 24px #12332726;box-sizing:border-box}
body.auth-design main #login .ra-flag-list{max-height:150px;overflow:auto}
body.auth-design main #login .ra-flag-option{display:flex;align-items:center;gap:8px;width:100%;border:0;background:#fff;color:#183e32;text-align:left;padding:8px;font-size:13px}
body.auth-design main #login .ra-flag-option:hover{background:#edf5ef}
body.auth-embedded.auth-design{background:#fff!important;margin:0!important}
body.auth-embedded.auth-design main{padding:0!important;max-width:none!important}
body.auth-embedded.auth-design .portal-header,body.auth-embedded.auth-design>.test{display:none!important}
body.auth-embedded.auth-design main #login:not([hidden]){width:100%!important;margin:0!important;border:0!important;box-shadow:none!important;border-radius:0!important}
body.auth-embedded.auth-design main #login .auth-heading{border-radius:0;padding-right:60px!important}
@media(max-width:699px){
 body.auth-design main{padding:0 12px 16px!important}
 body.auth-design main #login:not([hidden]){height:auto!important;min-height:600px!important}
 body.auth-design main #login .auth-heading{padding:18px 20px!important}
 body.auth-design main #login .auth-body{padding:18px 20px!important}
 body.auth-design main #login .auth-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 body.auth-design main #login .auth-field{grid-column:span 1}
 body.auth-design main #login .auth-field[data-field=phone],body.auth-design main #login .auth-field[data-field=whatsapp],body.auth-design main #login .auth-field[data-field=email]{grid-column:1/-1}
 body.auth-design main #login .auth-actions{grid-template-columns:1fr;gap:12px}
 body.auth-design main #login .auth-switch{margin-top:18px!important}
 body.auth-design main #login .auth-social{grid-template-columns:1fr}
 body.auth-design main #login .auth-social small{grid-column:1}
}
@media(min-width:700px) and (max-height:600px){body.auth-design main #login:not([hidden]){height:auto!important;min-height:600px!important}}
html[data-brand="vtf"] body.auth-design:not(.auth-embedded) main>header.portal-header .brand img{width:280px!important;height:auto!important;max-width:55vw!important;max-height:88px!important;object-fit:contain!important}
html[data-brand="vtf"] body.auth-design #login .auth-heading{background:#17375e!important;color:#fff!important}
html[data-brand="vtf"] body.auth-design #login .auth-heading h1,html[data-brand="vtf"] body.auth-design #login .auth-heading p{color:#fff!important}
html[data-brand="vtf"] body.auth-design #login{color:#17375e}
html[data-brand="vtf"] body.auth-design #login button[type="submit"]{background:#ed6b3b!important;border-color:#ed6b3b!important;color:#fff!important}
html[data-brand="vtf"] body.auth-design #login a{color:#17375e!important}
html[data-brand="vtf"] body.auth-design #login input:focus,html[data-brand="vtf"] body.auth-design #login select:focus{outline-color:#ed6b3b!important;border-color:#ed6b3b!important}
@media(max-width:699px){html[data-brand="vtf"] body.auth-design:not(.auth-embedded) main>header.portal-header .brand img{width:220px!important;max-height:68px!important}}
