:root{
  --ink:#0C1320;--tx:#1B2330;--tx2:#5A6577;--mu:#8B95A5;
  --line:#E7EBF1;--soft:#F5F7FA;--bg:#fff;
  --green:#1E8E3E;--green-t:rgba(30,142,62,.1);
  --blue:#1A63D8;--coral:#E5482A;
  --rad:14px;--rad-sm:10px;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%;font-family:'Inter',system-ui,sans-serif;-webkit-font-smoothing:antialiased;color:var(--tx)}
a{color:inherit;text-decoration:none}

/* split layout */
.page{display:flex;min-height:100vh}

/* ---- left panel: illustration / brand ---- */
.panel{flex:1;min-height:100vh;background:var(--ink);display:flex;flex-direction:column;padding:42px 48px;position:relative;overflow:hidden}
@media(max-width:820px){.panel{display:none}}

.panel-bg{position:absolute;inset:0;pointer-events:none}
/* subtle grid pattern */
.panel-bg svg{position:absolute;inset:0;width:100%;height:100%;opacity:.07}

.panel-logo{display:flex;align-items:center;gap:10px;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:20px;color:#fff;position:relative;z-index:2}
.panel-logo .lg{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#2FA84F,#1E8E3E);display:flex;align-items:center;justify-content:center}

.panel-body{flex:1;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2}
.panel-body h1{font-family:'Space Grotesk',sans-serif;font-size:clamp(28px,3.4vw,38px);font-weight:700;color:#fff;letter-spacing:-.025em;line-height:1.1;max-width:14ch;margin-bottom:18px}
.panel-body p{font-size:15.5px;color:rgba(255,255,255,.65);max-width:38ch;line-height:1.6}

/* product chips */
.prod-chips{display:flex;flex-wrap:wrap;gap:9px;margin-top:36px}
.prod-chip{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);padding:9px 14px;border-radius:11px;font-family:'Space Grotesk',sans-serif;font-size:13px;font-weight:600;color:rgba(255,255,255,.82);transition:.15s}
.prod-chip .dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}

/* testimonial */
.panel-quote{margin-top:auto;padding-top:38px;position:relative;z-index:2}
.panel-quote blockquote{font-size:14.5px;color:rgba(255,255,255,.75);line-height:1.6;font-style:italic;max-width:46ch}
.panel-quote .who{display:flex;align-items:center;gap:10px;margin-top:14px}
.panel-quote .av{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#2FA84F,#1A63D8);display:flex;align-items:center;justify-content:center;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:13px;color:#fff;flex-shrink:0}
.panel-quote .wn{font-family:'Space Grotesk',sans-serif;font-size:13px;font-weight:600;color:rgba(255,255,255,.9)}
.panel-quote .wr{font-size:12px;color:rgba(255,255,255,.5)}

/* ---- right panel: form ---- */
.form-side{width:480px;min-width:320px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 52px;background:#fff;position:relative}
@media(max-width:820px){.form-side{width:100%;padding:40px 24px}}
@media(max-width:480px){.form-side{padding:32px 16px}}

/* small top-bar on mobile */
.mob-bar{display:none;align-items:center;gap:9px;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:17px;color:var(--ink);margin-bottom:36px}
@media(max-width:820px){.mob-bar{display:flex}}
.mob-bar .lg{width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,#2FA84F,#1E8E3E);display:flex;align-items:center;justify-content:center}

.form-box{width:100%;max-width:360px}

/* tabs: WP-Admin / Kundenkonto */
.tabs{display:flex;background:var(--soft);border-radius:11px;padding:3px;margin-bottom:28px}
.tab{flex:1;text-align:center;padding:9px 0;border-radius:9px;font-family:'Space Grotesk',sans-serif;font-size:13px;font-weight:700;cursor:pointer;transition:.15s;border:none;background:transparent;color:var(--mu)}
.tab.on{background:#fff;color:var(--ink);box-shadow:0 1px 4px rgba(12,19,32,.09)}

.form-head{margin-bottom:26px}
.form-head h2{font-family:'Space Grotesk',sans-serif;font-size:24px;font-weight:700;letter-spacing:-.02em;color:var(--ink);margin-bottom:6px}
.form-head p{font-size:14px;color:var(--tx2)}

label.lbl{font-size:12px;font-weight:700;font-family:'Space Grotesk',sans-serif;letter-spacing:.03em;text-transform:uppercase;color:var(--tx2);display:block;margin-bottom:7px}
.inp-wrap{position:relative;margin-bottom:16px}
input.inp{width:100%;padding:12px 42px 12px 14px;border:1.5px solid var(--line);border-radius:var(--rad-sm);font-family:'Inter',system-ui,sans-serif;font-size:14.5px;color:var(--tx);background:#fff;outline:none;transition:border-color .15s}
input.inp:focus{border-color:var(--ink)}
input.inp::placeholder{color:var(--mu)}
.inp-icon{position:absolute;right:13px;top:50%;transform:translateY(-50%);color:var(--mu);cursor:pointer;user-select:none;font-size:16px;line-height:1}
.inp-icon:hover{color:var(--tx)}

.remember{display:flex;align-items:center;gap:9px;margin-bottom:24px}
.remember input[type=checkbox]{width:16px;height:16px;accent-color:var(--ink);cursor:pointer;flex-shrink:0}
.remember label{font-size:13.5px;color:var(--tx2);cursor:pointer}

.btn-submit{width:100%;padding:14px;border:none;border-radius:var(--rad-sm);background:var(--ink);color:#fff;font-family:'Space Grotesk',sans-serif;font-size:15px;font-weight:700;cursor:pointer;transition:.15s;display:flex;align-items:center;justify-content:center;gap:9px;letter-spacing:-.01em}
.btn-submit:hover{background:#000}
.btn-submit:active{transform:translateY(1px)}

.form-footer{margin-top:22px;display:flex;flex-direction:column;gap:11px;text-align:center}
.form-footer a{font-size:13.5px;color:var(--tx2);font-weight:500}
.form-footer a:hover{color:var(--ink)}
.form-footer .sep{display:flex;align-items:center;gap:10px;color:var(--line)}
.form-footer .sep::before,.form-footer .sep::after{content:'';flex:1;height:1px;background:var(--line)}

/* SSO buttons */
.sso{display:flex;flex-direction:column;gap:9px}
.sso-btn{width:100%;padding:12px 16px;border:1.5px solid var(--line);border-radius:var(--rad-sm);background:#fff;font-family:'Space Grotesk',sans-serif;font-size:13.5px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--tx);transition:.15s}
.sso-btn:hover{border-color:var(--mu);background:var(--soft)}

/* 2FA screen */
.tfa{display:none;flex-direction:column;align-items:center;text-align:center}
.tfa-ring{width:62px;height:62px;border-radius:16px;background:var(--soft);border:1.5px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:28px;margin:0 auto 18px}
.tfa h3{font-family:'Space Grotesk',sans-serif;font-size:19px;font-weight:700;color:var(--ink);margin-bottom:8px}
.tfa p{font-size:14px;color:var(--tx2);margin-bottom:24px;max-width:32ch;line-height:1.5}
.otp{display:flex;gap:8px;justify-content:center;margin-bottom:22px}
.otp input{width:46px;height:54px;border:1.5px solid var(--line);border-radius:var(--rad-sm);text-align:center;font-family:'JetBrains Mono',monospace;font-size:22px;font-weight:500;color:var(--ink);outline:none;transition:border-color .15s}
.otp input:focus{border-color:var(--ink)}

/* error / success banners */
.banner{padding:12px 16px;border-radius:var(--rad-sm);font-size:13.5px;font-weight:500;display:none;align-items:center;gap:10px;margin-bottom:18px}
.banner.err{background:#FFF1EE;border:1px solid #FDDAD3;color:#C0392B}
.banner.ok{background:#EDFAF3;border:1px solid #C1EDD4;color:#166534}
.banner.show{display:flex}

/* wp-admin badge */
.wp-badge{display:inline-flex;align-items:center;gap:6px;background:#F5F5F5;border:1px solid var(--line);border-radius:8px;padding:4px 10px;font-size:11.5px;font-family:'Space Grotesk',sans-serif;font-weight:700;color:var(--mu);margin-bottom:20px}
.wp-badge .dot{width:7px;height:7px;border-radius:50%;background:#3D9AE8}

.form-small{font-size:12px;color:var(--mu);text-align:center;margin-top:32px;line-height:1.6}
.form-small a{color:var(--mu);text-decoration:underline}
