/* KMSVI Kundenportal 1.4.2 - finale Anmeldung nach freigegebenem Entwurf.
   Nur Authentifizierungsseiten, keine Aenderung der Datenausgabe oder Werkstattlogik. */
.auth-body {background:#fbfaf6!important;color:#19392b;}
.auth-layout {min-height:100svh;grid-template-columns:minmax(400px,49%) minmax(410px,51%);}
.auth-visual.kmsvi-final-auth-visual {
 display:flex!important;min-height:100svh;position:relative;isolation:isolate;
 justify-content:space-between;align-items:stretch;padding:clamp(28px,3.5vw,58px) clamp(30px,5.4vw,105px) clamp(27px,4vw,60px);
 background:radial-gradient(ellipse at 42% 46%,#29553b 0%,#1d4832 45%,#143624 80%,#12301f 100%)!important;color:#fff;
}
.auth-visual.kmsvi-final-auth-visual::before,.auth-visual.kmsvi-final-auth-visual::after {display:none!important;}
.kmsvi-final-logo.auth-brand.kmsvi-auth-brand{display:flex;align-items:center;gap:17px;max-width:100%;z-index:2;}
.kmsvi-original-mark {width:clamp(62px,7vw,100px);height:clamp(62px,7vw,100px);object-fit:contain;filter:drop-shadow(0 6px 7px rgba(0,0,0,.12));flex:none;}
.kmsvi-final-brand-type{display:flex;flex-direction:column;align-items:flex-start;line-height:1;}
.kmsvi-final-wordmark{font-size:clamp(35px,4.8vw,71px);font-weight:900;font-style:italic;letter-spacing:-2px;line-height:.92;white-space:nowrap;}
.kmsvi-final-wordmark span{font-size:inherit!important;letter-spacing:inherit!important;color:#fff!important;display:inline!important;margin:0!important;}
.kmsvi-final-wordmark em{color:#ff9815;font-style:italic;}
.kmsvi-final-brandline{height:7px;width:100%;max-width:280px;margin-top:8px;background:#fe9411;clip-path:polygon(1% 65%,80% 0,100% 62%,40% 100%);}
.kmsvi-final-subtitle{display:block!important;margin-top:10px!important;color:#f1f4ec!important;font-weight:750;font-size:clamp(11px,1.2vw,17px)!important;letter-spacing:.35em!important;white-space:nowrap;}
.kmsvi-final-devices{z-index:1;display:flex;align-items:center;justify-content:center;position:relative;min-height:0;flex:1;margin:-8px -32px -5px;}
.kmsvi-final-devices img{display:block;max-height:100%;max-width:100%;height:auto;width:min(100%,760px);object-fit:contain;filter:drop-shadow(0 18px 18px rgba(0,0,0,.1));}
.auth-claim.kmsvi-final-claim{max-width:690px;position:relative;z-index:2;margin-top:0;}
.auth-claim.kmsvi-final-claim .kmsvi-final-eyebrow{font-size:clamp(13px,1.1vw,16px);font-weight:700;color:#f7f7f2!important;margin:0 0 13px;max-width:none;}
.auth-claim.kmsvi-final-claim h1{font-size:clamp(36px,3.75vw,60px);line-height:1.10;letter-spacing:-1.9px;color:#fff;font-weight:850;margin:0 0 15px;max-width:none;}
.kmsvi-final-strike{height:9px;width:min(95%,570px);background:#ff940c;clip-path:polygon(1% 56%,72% 5%,100% 65%,73% 43%,12% 100%);margin-bottom:18px;}
.auth-claim.kmsvi-final-claim .kmsvi-final-services{font-size:clamp(10px,1vw,15px);font-weight:600;color:#f1f4ee;display:flex;gap:clamp(7px,1vw,18px);white-space:nowrap;margin:0;line-height:1.5;max-width:none;}
.kmsvi-final-services span{color:#f99921;font-weight:900;}
.auth-content{background:linear-gradient(145deg,#fffdf9,#fbfaf6)!important;padding:30px clamp(30px,5.6vw,100px);}
.auth-card{width:min(600px,100%);padding:30px 0;}
.auth-card .eyebrow {color:#1d4933!important;font-size:12px;letter-spacing:3px;font-weight:800;}
.auth-card h2{font-size:clamp(29px,2.8vw,45px);line-height:1.15;letter-spacing:-1.2px;color:#173f2b;margin:18px 0 20px;}
.auth-card>p{color:#36463c;line-height:1.6;font-size:clamp(14px,1.2vw,17px);margin-bottom:27px;}
.auth-card .form-stack label {color:#234735;font-weight:740;font-size:14px;}
.auth-card input{border:1px solid #cad8d0!important;background:#f0f5ff!important;min-height:54px;border-radius:12px;padding:12px 15px;color:#183e2b!important;}
.auth-card input:focus-visible{outline:3px solid #ffbf70;outline-offset:1px;}
.auth-card .btn-primary {background:#16452f!important;min-height:58px;border-radius:11px;font-size:16px;font-weight:750;}
.auth-card .btn-primary:hover {background:#205f41!important;filter:none;}
.auth-card .auth-note{color:#54665a;}
.auth-card .text-link {color:#194e34!important;font-weight:750;}
.auth-card .text-link:hover {text-decoration:underline;}
@media(max-width:1100px){
 .auth-layout{grid-template-columns:minmax(320px,46%) minmax(360px,54%);}
 .auth-visual.kmsvi-final-auth-visual{padding:32px 24px;}
 .kmsvi-final-logo.auth-brand.kmsvi-auth-brand{gap:9px;}
 .kmsvi-final-devices{margin:0 -15px;}
 .auth-claim.kmsvi-final-claim h1{font-size:clamp(29px,3.7vw,45px);}
 .auth-claim.kmsvi-final-claim .kmsvi-final-services{white-space:normal;flex-wrap:wrap;}
}
@media(max-width:680px){
 .auth-layout{display:flex;flex-direction:column;min-height:100svh;}
 .auth-visual.kmsvi-final-auth-visual{display:flex!important;min-height:275px;height:275px;flex:0 0 275px;padding:14px 24px 10px;justify-content:flex-start;}
 .kmsvi-final-logo.auth-brand.kmsvi-auth-brand{gap:8px;}
 .kmsvi-original-mark{width:51px;height:51px;}
 .kmsvi-final-wordmark{font-size:33px;}
 .kmsvi-final-brandline{height:4px;margin-top:3px;}
 .kmsvi-final-subtitle{font-size:9px!important;letter-spacing:2.8px!important;margin-top:6px!important;}
 .kmsvi-final-devices{margin:-5px 18px 0;flex:1;max-height:195px;}
 .kmsvi-final-devices img{height:100%;width:100%;object-fit:contain;}
 .auth-claim.kmsvi-final-claim{display:none;}
 .auth-content{padding:10px 24px 36px;min-height:0;flex:1;}
 .auth-card{padding:28px 0 24px;}
 .auth-card h2{font-size:29px;margin:9px 0 13px;}
 .auth-card>p{font-size:13px;}
 .auth-card .auth-note{flex-wrap:wrap;}
 .auth-mobile-brand{display:none!important;}
}
@media(prefers-reduced-motion:reduce){.kmsvi-final-devices img{transition:none;}}
