/* RH Projectwerk: dedicated login theme. */
body.login-page{background:#f4faff;color:#162130;color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
.login-page .login-container{min-height:100svh}
.rh-login,.rh-login *{box-sizing:border-box}
.rh-login{position:relative;isolation:isolate;min-height:100svh;display:grid;grid-template-columns:minmax(0,1.16fr) minmax(0,1fr);align-items:center;gap:clamp(36px,5vw,80px);padding:64px clamp(28px,5.3vw,100px);overflow:hidden;background:radial-gradient(ellipse at 1% 15%,#fff 0%,#fff 35%,#f5fbff 66%,#e4f3ff 100%)}
.rh-login::before,.rh-login::after{content:"";position:absolute;z-index:-1;pointer-events:none;border-radius:50%}
.rh-login::before{width:140vw;height:92vw;left:-48vw;top:-51vw;background:#fff;box-shadow:0 60px 0 32px #eaf6ff,0 120px 0 62px #daeeff;transform:rotate(-18deg)}
.rh-login::after{width:140vw;height:95vw;left:-34vw;bottom:4vw;border:32px solid #e4f3ff;opacity:.65;transform:rotate(-18deg)}
.rh-intro{position:relative;min-width:0}
.rh-logo{display:block;width:min(86%,600px);height:auto;margin:0 0 60px 22px;mix-blend-mode:multiply}
.rh-copy h1{margin:0 0 14px;font-size:clamp(30px,3.05vw,56px);font-weight:800;letter-spacing:-.045em;line-height:1.15;color:#162130}
.rh-copy h1 span{color:#087cfa}
.rh-copy p{margin:0;color:#526079;font-size:clamp(17px,1.65vw,27px);line-height:1.5;letter-spacing:-.025em}
.rh-services{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:0;margin:42px 0 0;list-style:none}
.rh-services li{display:flex;align-items:center;justify-content:center;gap:10px;min-height:86px;padding:14px 9px;border:1px solid #c9e3fc;border-radius:12px;background:#f8fcff;color:#152b4b;font-size:clamp(12px,.96vw,16px);line-height:1.3}
.rh-services svg{width:32px;height:36px;flex:0 0 32px;stroke:#0677f5;stroke-width:2;fill:none;stroke-linejoin:round;stroke-linecap:round}
.rh-card{width:100%;max-width:640px;justify-self:center;padding:clamp(30px,3.5vw,58px);border:1px solid #d3e2f3;border-radius:22px;background:rgba(255,255,255,.97);box-shadow:0 18px 55px rgba(38,103,171,.07)}
.rh-card h2{margin:10px 0 12px;color:#162130;font-size:clamp(28px,2.75vw,45px);font-weight:800;letter-spacing:-.04em;line-height:1.2}
.rh-card-copy{margin:0 0 38px;font-size:clamp(16px,1.4vw,22px);color:#5b6780;line-height:1.5}
.rh-form{display:flex;flex-direction:column;margin:0}
.rh-form label{margin:0 0 9px;color:#172233;font-size:16px;font-weight:650}
.rh-input{display:flex;align-items:center;gap:13px;min-height:60px;padding:0 18px;margin-bottom:30px;border:1px solid #ccd9e9;border-radius:10px;background:#fff;transition:border-color .15s,box-shadow .15s}
.rh-input:focus-within{border-color:#087cfa;box-shadow:0 0 0 3px #087cfa20}
.rh-input>svg{width:22px;height:24px;flex:0 0 22px;fill:none;stroke:#7d8da5;stroke-width:1.7;stroke-linejoin:round;stroke-linecap:round}
.rh-input input{display:block;width:100%;min-width:0;padding:17px 0;border:0;border-radius:0;background:transparent;color:#172233;outline:none;font:inherit;font-size:16px;box-shadow:none}
.rh-input input::placeholder{color:#8a99b1;opacity:1}
.rh-submit{display:flex;align-items:center;justify-content:center;gap:24px;width:100%;min-height:64px;margin-top:7px;padding:18px 22px;border:1px solid #0674ef;border-radius:10px;color:#fff;background:linear-gradient(180deg,#0b8aff,#0067ee);box-shadow:0 5px 12px #0075f510;font:inherit;font-size:18px;font-weight:700;cursor:pointer;transition:filter .15s}
.rh-submit:hover{filter:brightness(.95)}
.rh-submit:focus-visible{outline:3px solid #78b9ff;outline-offset:4px}
.rh-submit:disabled{opacity:.5;cursor:not-allowed}
.rh-submit svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.rh-protected{display:flex;align-items:center;justify-content:center;gap:12px;margin:44px 0 14px;color:#788ba8;font-size:15px;white-space:nowrap}
.rh-protected::before,.rh-protected::after{content:"";flex:1;height:1px;background:#d0deef}
.rh-protected svg{width:20px;height:22px;flex:0 0 20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.rh-card .alert.error{padding:14px;color:#9c2424;background:#fff0f0;border:1px solid #f5cccc;font-size:14px}
.login-page .login-container>.alert{position:relative;z-index:2;max-width:800px;margin:20px auto}
@media(min-width:1800px){.rh-login{padding-left:max(6vw,calc((100vw - 1650px)/2));padding-right:max(6vw,calc((100vw - 1650px)/2))}}
@media(max-width:1100px){.rh-login{gap:32px;padding:50px 30px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.rh-logo{width:95%;margin:0 0 38px}.rh-services{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:28px}.rh-services li{min-height:70px;justify-content:flex-start;padding:12px 16px;font-size:13px}.rh-card{padding:30px}}
@media(max-width:760px){.rh-login{grid-template-columns:minmax(0,1fr);gap:30px;padding:34px 22px 40px}.rh-logo{width:min(72%,310px);margin:0 auto 22px}.rh-copy{text-align:center}.rh-copy h1{font-size:clamp(25px,5.7vw,36px)}.rh-copy p{font-size:16px}.rh-services{display:none}.rh-card{max-width:500px;padding:28px;border-radius:18px}.rh-card h2{font-size:30px;margin-top:0}.rh-card-copy{font-size:16px;margin-bottom:28px}.rh-protected{margin-top:30px;margin-bottom:0;font-size:13px;gap:9px}.rh-login::before{top:-20vw;height:130vw}}
@media(max-width:360px){.rh-login{padding:26px 14px 30px}.rh-card{padding:24px 20px}.rh-card h2{font-size:26px}}
