:root{font-family:Inter,Arial,sans-serif;color:#183b32;background:#f3f3ed;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 90% 5%,#dde8da,transparent 48%);min-height:100vh}main{max-width:1040px;margin:auto;padding:36px 32px 24px;display:grid;grid-template-columns:1fr 430px;gap:64px 70px}header{grid-column:1/-1;display:flex;align-items:center;gap:12px}.brand{background:#173f33;color:#eff48b;width:49px;height:49px;border-radius:13px;font-size:32px;font-weight:800;display:grid;place-items:center;position:relative}.brand span{font-size:18px;position:absolute;right:5px;top:3px}header strong{font-size:22px;letter-spacing:3px}header small{display:block;font-size:10px;letter-spacing:3px;margin-top:3px}.tag{margin-left:auto;font-size:10px;letter-spacing:1.5px;border:1px solid #ccd4c8;padding:10px 13px;border-radius:20px}.intro{align-self:center}.eyebrow{font-size:10px!important;font-weight:bold;letter-spacing:2px}h1{font-size:56px;letter-spacing:-2.5px;line-height:1.05;font-weight:600;margin:24px 0}.intro p{font-size:16px;line-height:1.7;color:#637369;max-width:300px}.card{background:#fff;border:1px solid #e1e5dc;border-radius:24px;padding:32px;box-shadow:0 15px 50px #173f3308}.heading{display:flex;align-items:center;gap:12px;margin-bottom:28px}h2{font-size:23px;font-weight:600;letter-spacing:-.7px;margin:0}.step{background:#eef2e8;color:#52704a;padding:9px;border-radius:9px;font-size:12px}label{display:block;font-size:13px;font-weight:600;margin:22px 0 9px}input{width:100%;font:inherit;font-size:16px;padding:15px;border:1px solid #d6ded5;border-radius:10px;color:#183b32;background:#fcfdfb;min-height:50px}input:focus{outline:2px solid #7d9964;outline-offset:2px}.password{display:flex;position:relative}.password input{padding-right:70px}.password button{position:absolute;right:8px;top:8px;background:none;border:0;color:#496746;min-height:36px;padding:0 10px;cursor:pointer}.primary{width:100%;display:flex;align-items:center;justify-content:space-between;padding:17px 19px;border:0;border-radius:10px;background:#163e32;color:white;font:inherit;font-weight:600;margin-top:26px;cursor:pointer;min-height:54px}.primary:hover{background:#285643}.primary:disabled{opacity:.6;cursor:wait}button:focus-visible{outline:3px solid #809947;outline-offset:3px}.help{font-size:12px;color:#778179;line-height:1.6;border-top:1px solid #edf0e8;padding-top:20px;margin-top:22px}#message{font-size:13px;color:#aa3535;line-height:1.5}#message:empty,#logout-status:empty{display:none}.success{display:inline-block;background:#eff6e7;color:#446929;border-radius:30px;padding:9px 13px;font-size:12px;margin-bottom:22px}dl{margin:25px 0}dl div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #edf0e8;padding:14px 0;font-size:14px}dt{color:#778179}dd{margin:0;font-weight:600}.notice{font-size:13px;line-height:1.6;background:#f5f6ee;border-radius:10px;padding:16px}footer{grid-column:1/-1;display:flex;align-items:center;gap:8px;font-size:11px;color:#7b857d;border-top:1px solid #dce2d6;padding-top:20px}.dot{width:6px;height:6px;background:#809766;border-radius:50%}.foot-brand{margin-left:auto}[hidden]{display:none!important}@media(max-width:740px){main{display:block;padding:24px 22px;max-width:500px}header{margin-bottom:36px}.tag{font-size:9px;padding:8px}.intro{margin-bottom:28px}h1{font-size:39px;letter-spacing:-1.5px;margin:15px 0}.intro p{font-size:14px;max-width:none;margin:12px 0}.card{padding:25px;border-radius:20px}footer{margin-top:32px;display:flex}.foot-brand{display:none}}@media(prefers-reduced-motion:no-preference){button{transition:background .2s}}

/* Roket Fullhaus branded logo: leaves login and account behavior unchanged. */
header .brand {width:92px;height:92px;flex:0 0 92px;border-radius:50%;background:transparent;color:inherit;overflow:hidden;display:block;}
header .brand img {width:100%;height:100%;display:block;object-fit:contain;}
@media(max-width:740px){header .brand{width:76px;height:76px;flex-basis:76px;}header strong{font-size:19px;letter-spacing:2px;}header small{letter-spacing:2.4px;}}
@media(max-width:385px){header{gap:9px;}header strong{font-size:17px;letter-spacing:1.5px;}.tag{letter-spacing:.5px;padding:7px 9px;}}

/* Keep header readable on compact phones with the larger badge. */
@media(max-width:385px){header{flex-wrap:wrap;row-gap:10px;}header .brand{width:72px;height:72px;flex-basis:72px;}.tag{margin-left:auto;}}
