@font-face{font-family:sparkasseP1;src:url(/assets/fonts/Sparkasse_web_Lt.woff2) format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:sparkasseP1;src:url(/assets/fonts/Sparkasse_web_Rg.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:sparkasseP1;src:url(/assets/fonts/Sparkasse_web_Md.woff2) format("woff2");font-weight:500 700;font-style:normal;font-display:swap}@font-face{font-family:sparkasseHead;src:url(/assets/fonts/SparkasseHead_web_Rg.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{--sparkasse-red: #ef0000;--sparkasse-red-dark: #d40000;--text-color: #161616;--text-color-light: #5f6368;--text-color-muted: #a7a7a7;--outline-color-focus: #d40000;--box-color-border: #e0e0e0;--surface-color: rgba(255, 255, 255, .92);--surface-shadow: 0 24px 60px rgba(10, 10, 10, .12);--font-heading: "sparkasseHead", "Arial Black", sans-serif;--font-body: "sparkasseP1", "Arial", sans-serif}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;font-family:var(--font-body);color:var(--text-color);overscroll-behavior:none}img{max-width:100%;height:auto;display:block}a{text-decoration:none;color:inherit}button,input,textarea{font-family:inherit;border:none;outline:none;background:none}table{border-collapse:collapse;border-spacing:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}body{background:radial-gradient(1100px 540px at 10% -10%,rgba(200,205,210,.35),transparent 60%),radial-gradient(900px 420px at 90% 0%,rgba(225,228,232,.28),transparent 55%),linear-gradient(180deg,#fff,#f4f4f6);min-height:100svh;min-height:100dvh;font-size:16px;line-height:1.5}body.no-scroll{height:100svh;height:100dvh;overflow:hidden}body.no-scroll .container{min-height:calc(100svh - 4.5rem);min-height:calc(100dvh - 4.5rem);display:flex;flex-direction:column;justify-content:center}.login-shell{min-height:calc(100svh - 4.5rem);min-height:calc(100dvh - 4.5rem);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:2.5rem;align-items:center;padding:3rem 1.5rem 4rem;max-width:1200px;margin:0 auto}.login-hero{display:flex;flex-direction:column;gap:1.5rem;color:#1b1c20}.login-hero__eyebrow{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--sparkasse-red)}.login-hero__title{font-size:clamp(2rem,3vw,2.8rem);line-height:1.1;font-weight:700}.login-hero__copy{font-size:1.05rem;color:#0f0f14bf;max-width:34rem}.login-hero__facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.login-hero__fact{padding:1rem 1.2rem;border-radius:16px;background:#ffffffb3;box-shadow:0 12px 24px #0c0c1214}.login-hero__fact strong{display:block;font-size:1.1rem;margin-bottom:.35rem}.login-card{background:#fff;border-radius:22px;padding:2.25rem;box-shadow:0 24px 48px #0c0c121f;display:flex;flex-direction:column;gap:1.5rem}.login-card__header h2{font-size:1.5rem;margin-bottom:.25rem}.login-card__header p{color:#14141aa6;font-size:.95rem}.sso-button{border:1px solid #004dd7;border-radius:14px;padding:.6rem 1.05rem;background:#004dd7;color:#fff;font-weight:600;display:flex;align-items:center;justify-content:center;gap:.5rem;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.sso-button:hover{transform:translateY(-1px);background:#0f5de2;border-color:#0f5de2;box-shadow:0 14px 24px #004dd73d}.sso-wallet-content{display:inline-flex;align-items:center;gap:.4rem;font-size:1.1rem;line-height:1}.sso-wallet-icon{width:auto;height:1.35em;display:block}.sso-status{font-size:.85rem;color:#181820a6}.login-divider{display:flex;align-items:center;gap:1rem;color:#0f0f1473;font-size:.85rem}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:#0f0f141a}.login-form{display:flex;flex-direction:column;gap:1rem}.login-actions{display:flex;justify-content:space-between;align-items:center;font-size:.85rem}.login-actions a{color:var(--sparkasse-red);text-decoration:none;font-weight:600}.login-note{font-size:.8rem;color:#0f0f148c}@media (max-width: 960px){.login-shell{grid-template-columns:1fr;padding:1.5rem 1rem 2rem}.login-card{width:min(100%,28rem);margin:0 auto}.login-hero__facts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 600px){.login-shell{padding:1rem}.login-hero{display:none}.login-card{padding:1.5rem;gap:1.15rem}.login-actions{flex-direction:column;align-items:flex-start;gap:.5rem}.login-hero__facts{grid-template-columns:1fr}}html{background-color:#f4f4f6}.container{padding:3rem 1rem;max-width:1100px;margin:0 auto;position:relative;z-index:1}.block{padding:20px 10px 20px 20px}.max-w-xs{width:100%;max-width:14rem}.flex-col{display:flex;flex-direction:column}.flex-row{display:flex;flex-direction:row}.items-between{justify-content:space-between;align-items:center}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.items-end{align-items:flex-end}.text-center{text-align:center}.text-sm{font-size:.875rem}.font-medium{font-weight:500}.mt-8{margin-top:2rem}.text-green-600,.text-red-600{color:var(--sparkasse-red-dark)}.text-gray-500{color:#6b7280}.opacity-50{opacity:.5}.cursor-not-allowed{cursor:not-allowed}.title{font-family:var(--font-heading);line-height:2.25rem;color:var(--text-color);letter-spacing:normal;font-size:1.875rem;text-align:center}.text-light{color:var(--text-color-light)}p{line-height:1.5rem}form{display:flex;flex-direction:column;gap:1.5rem}.mx-auto{margin-inline:auto}#qrCode{display:block;margin:1rem auto;padding:.5rem;border:2px solid rgba(239,0,0,.35);border-radius:12px;background:#fff;box-shadow:0 10px 24px #0000001f}#tan-inputs{width:-moz-fit-content;width:fit-content;display:flex;gap:.5rem;flex-shrink:1}#tan-inputs input{display:block;width:2.25rem;padding:0;flex-shrink:1;text-align:center;font-size:1.5rem;line-height:3rem;border:1px solid #bcc0c7;border-radius:8px;background:#fff}#tan-inputs input:focus{border-color:var(--sparkasse-red-dark);box-shadow:0 0 0 3px #ef000029;outline:none}#tan-inputs input:focus::-moz-placeholder{color:transparent}#tan-inputs input:focus::placeholder{color:transparent}.page{min-height:100svh;min-height:100dvh}.banner-top{width:100%;background:linear-gradient(120deg,var(--sparkasse-red),var(--sparkasse-red-dark));padding:.5rem 1.25rem .7rem;text-align:center;position:sticky;top:0;height:4.5rem;z-index:1000;box-shadow:0 12px 24px #ef00002e;display:flex;align-items:center;justify-content:flex-start}.banner-top img{width:auto;height:100%;max-height:100%;max-width:14rem;-o-object-fit:contain;object-fit:contain}.lang-switch{position:absolute;top:1rem;right:1rem;display:flex;gap:.5rem;align-items:center;font-size:.85rem;font-weight:600;color:#fff}.lang-switch a{color:inherit;opacity:.75;text-decoration:none}.lang-switch a.active{opacity:1;text-decoration:underline;text-underline-offset:.2rem}.box{border:1px solid rgba(255,255,255,.7);border-radius:16px;padding:2rem;background:var(--surface-color);box-shadow:var(--surface-shadow);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.box hr{border:none;height:1px;background-color:#00000014}.box ul{list-style-type:disc;padding-left:1rem}.box ul li{padding-left:.5rem}.account-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}@media (min-width: 1024px){.account-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.account-title{font-size:1.125rem;font-weight:600;color:var(--text-color)}.note{color:var(--text-color-light);background-color:#ffffffe6;border:1px solid rgba(0,0,0,.06);border-radius:12px;padding:1rem;display:flex;gap:.5rem;box-shadow:0 10px 22px #0f0f0f0f}.icon+p{padding-top:4px}.text-field{position:relative}.text-field__input{width:100%;border:1px solid #c7cbd3;background:#fff;padding:1.35rem 1rem .6rem;border-radius:14px;font-size:1rem;line-height:1.25;color:var(--text-color);transition:border-color .24s ease,background-color .24s ease}.text-field__input::-moz-placeholder{color:#1a20285c}.text-field__input::placeholder{color:#1a20285c}.text-field__input:hover{border-color:#aeb3bb}.text-field__input:focus{border-color:#ef000029;outline:none}.text-field__label{position:absolute;left:1rem;top:50%;transform:translateY(-50%);transform-origin:left top;font-size:.97rem;font-weight:500;color:#1616169e;pointer-events:none;transition:transform .18s ease,top .18s ease,color .18s ease,font-size .18s ease}.text-field.is-focused .text-field__label,.text-field.has-value .text-field__label{top:.53rem;transform:translateY(0);font-size:.74rem;color:var(--sparkasse-red-dark)}.text-field__focus-border{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:14px;border:2px solid var(--sparkasse-red-dark);pointer-events:none;opacity:0;transition:opacity .22s ease}.text-field.is-focused .text-field__focus-border{opacity:1}.text-field__sheen{position:absolute;top:1px;right:1px;bottom:1px;left:1px;border-radius:13px;pointer-events:none;background:linear-gradient(118deg,#fff0,#ffffff80 42%,#fff0 68%);transform:translate(-130%);opacity:0;transition:transform .52s ease,opacity .18s ease}.text-field.is-focused .text-field__sheen{transform:translate(130%);opacity:1}.primary-button{width:-moz-fit-content;width:fit-content;background:linear-gradient(135deg,var(--sparkasse-red),var(--sparkasse-red-dark));border:2px solid rgba(239,0,0,.7);color:#fff;border-radius:100px;padding:14px 32px;font-size:1rem;line-height:1.3rem;font-weight:500;text-align:center;cursor:pointer;box-shadow:0 12px 28px #ef00003d;transition:transform .2s ease-in-out,box-shadow .2s ease-in-out}.primary-button:hover{transform:translateY(-1px);box-shadow:0 18px 32px #ef000047}.primary-button:disabled,.primary-button[aria-disabled=true]{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.secondary-button{width:-moz-fit-content;width:fit-content;border:2px solid var(--sparkasse-red);color:var(--sparkasse-red);border-radius:100px;padding:12px 28px;font-size:.95rem;line-height:1.2rem;font-weight:600;text-align:center;cursor:pointer;background:#ffffffbf;transition:transform .2s ease-in-out,box-shadow .2s ease-in-out,background .2s ease-in-out}.secondary-button:hover{transform:translateY(-1px);background-color:#ef000014;box-shadow:0 12px 22px #ef00001f}.secondary-button:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.credential-preview{width:100%;max-width:420px;margin:0 auto;display:flex;justify-content:center;align-items:center;position:relative;perspective:900px;--tilt-x: 0deg;--tilt-y: 0deg;--shine-x: 50%;--shine-y: 15%;--shine-opacity: 0;--glare-opacity: .25}.credential-preview--small{max-width:280px}.credential-card{position:relative;width:100%;aspect-ratio:812 / 513;border-radius:5.18%/8.19%;overflow:hidden;box-shadow:0 18px 36px #0000002e;transform:rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) scale(1.01);transform-style:preserve-3d;transition:box-shadow .2s ease;will-change:transform}.credential-card img{width:100%;height:100%;border-radius:inherit;-o-object-fit:cover;object-fit:cover;display:block}.credential-card:before,.credential-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border-radius:inherit;pointer-events:none;will-change:transform,opacity}.credential-card:before{background:radial-gradient(120% 120% at var(--shine-x) var(--shine-y),rgba(255,255,255,.55) 0%,rgba(255,255,255,.12) 35%,rgba(255,255,255,0) 70%);mix-blend-mode:screen;opacity:var(--glare-opacity)}.credential-card:after{background:linear-gradient(120deg,#fff0,#ffffff2e 45%,#ffffff80,#ffffff2e 55%,#fff0);background-size:220% 220%;background-position:var(--shine-x) var(--shine-y);mix-blend-mode:screen;transform:none;opacity:var(--shine-opacity)}@media (prefers-reduced-motion: reduce){.credential-card{transition:none;transform:none}.credential-card:after{opacity:.2;transform:translate(0) rotate(0)}.credential-card:before{opacity:.15}}.account-card{border:1px solid rgba(255,255,255,.8);border-radius:18px;padding:1.25rem;background:var(--surface-color);display:flex;flex-direction:column;gap:.75rem;box-shadow:0 16px 30px #12121214;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;text-decoration:none;color:inherit}.account-card--link{cursor:pointer}.account-card--link:hover{transform:translateY(-4px);border-color:#ef000059;box-shadow:0 22px 38px #12121229}.account-card--link:focus-visible{outline:3px solid var(--outline-color-focus);outline-offset:3px}.account-card__media{position:relative;height:170px;border-radius:14px;overflow:hidden;background:#f5f5f5}.account-card__media img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .4s ease}.account-card__media:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0000 25%,#00000073)}.account-card--age .account-card__media:after{background:linear-gradient(180deg,#ef000000 25%,#ef00008c)}.account-card--konto .account-card__media:after{background:linear-gradient(180deg,#0000 25%,#b4000080)}.account-card--wero .account-card__media:after{background:linear-gradient(180deg,#0000 25%,#78000080)}.account-card--link:hover .account-card__media img{transform:scale(1.04)}.account-card__media-tag{position:absolute;left:.75rem;bottom:.75rem;z-index:1}.account-card__content{display:flex;flex-direction:column;gap:.65rem;flex:1}.account-card__preview{margin-top:.35rem}.account-card__title{font-size:1.125rem;font-weight:600;color:var(--text-color)}.account-card__eyebrow{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--sparkasse-red-dark);font-weight:600}.account-card__desc{color:var(--text-color-light);font-size:.95rem;line-height:1.4}.account-card__meta{display:flex;flex-wrap:wrap;gap:.5rem}.account-card__cta{display:inline-flex;align-items:center;gap:.35rem;padding:.6rem 1.4rem;border-radius:999px;background:linear-gradient(135deg,var(--sparkasse-red),var(--sparkasse-red-dark));color:#fff;font-weight:600;font-size:.95rem;width:-moz-fit-content;width:fit-content;box-shadow:0 12px 24px #ef000033;transition:transform .2s ease,box-shadow .2s ease;margin-top:auto}.account-card--link:hover .account-card__cta{transform:translateY(-1px);box-shadow:0 16px 28px #ef000047}.badge{padding:.35rem .7rem;border-radius:999px;background:#ef000014;color:var(--sparkasse-red-dark);font-size:.8rem;font-weight:600}.badge--neutral{background:#0000000f;color:var(--text-color-light)}.qr-panel{margin-top:.75rem;display:flex;flex-direction:column;align-items:center;gap:.5rem}.qr-panel img{width:220px;height:220px;background:#fff;padding:.75rem;border-radius:16px;box-shadow:0 18px 32px #0c0c121f}.qr-panel__label{color:var(--text-color-light)}
