*{box-sizing:border-box;margin:0;padding:0}
:root{--orange:#ff4f00;--black:#111;--text:#171717;--muted:#6f6f6f;--border:#dedede;--danger:#c62828;--success:#16794a}
html,body{min-height:100%}body{min-height:100vh;font-family:Inter,sans-serif;color:var(--text);background:#fff}button,input{font:inherit}
.page{min-height:100vh;display:grid;grid-template-columns:minmax(480px,38%) 1fr}.login-panel{min-height:100vh;display:flex;flex-direction:column;padding:30px 44px;background:#fff}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--black);text-decoration:none}.brand-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--orange);font:700 17px 'Inter Tight';letter-spacing:-.04em}.brand-name{font:700 22px 'Inter Tight';letter-spacing:-.04em}.help-link{min-height:34px;display:inline-flex;align-items:center;padding:0 11px;border:1px solid var(--border);border-radius:5px;color:#444;text-decoration:none;font-size:12px;font-weight:600;background:#fff}
.login-wrap{width:100%;max-width:430px;margin:auto;padding:56px 0 70px}.role-switch{display:flex;align-items:center;gap:22px;margin-bottom:34px;border-bottom:1px solid #e8e8e8}.role-btn{position:relative;border:0;padding:0 0 13px;color:#8b8b8b;background:transparent;font-size:13px;font-weight:600;cursor:pointer}.role-btn.active{color:var(--black)}.role-btn.active:after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--orange)}.login-header{margin-bottom:26px}.login-header h1{margin-bottom:8px;font:700 31px/1.1 'Inter Tight';letter-spacing:-.04em}.login-header p{color:var(--muted);font-size:13px;line-height:1.6}
.message{margin-bottom:16px;padding:11px 12px;border-radius:5px;font-size:12px;line-height:1.55}.message.error,.error{color:var(--danger);border:1px solid #efc3c3;background:#fff8f8}.message.success,.success{color:var(--success);border:1px solid #b8dfcc;background:#f6fffa}.field{margin-bottom:16px}.field label{display:block;margin-bottom:7px;color:#343434;font-size:12px;font-weight:600}.field input{width:100%;height:45px;border:1px solid var(--border);border-radius:4px;outline:none;padding:0 13px;color:#171717;background:#fff;font-size:13px}.field input::placeholder{color:#9a9a9a}.field input:focus{border-color:#777;box-shadow:0 0 0 1px #777}.password-wrap{position:relative}.password-wrap input{padding-right:62px}.password-wrap button{position:absolute;right:6px;top:6px;height:33px;border:0;border-radius:4px;padding:0 10px;color:#555;background:#f2f2f2;font-size:11px;cursor:pointer}.password-wrap button:hover{background:#e9e9e9;color:#111}
.form-links{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 24px}.remember{display:flex;align-items:center;gap:8px;color:#666;font-size:12px;cursor:pointer}.remember input{width:15px;height:15px;accent-color:var(--orange)}.form-links a,.text-link{color:#222;font-size:12px;font-weight:600;text-decoration:underline;text-underline-offset:2px}.submit-btn{width:100%;height:46px;border:0;border-radius:4px;color:#fff;background:var(--black);font-size:13px;font-weight:700;cursor:pointer}.submit-btn:hover{background:#000}.footer-links{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:22px;font-size:10px}.footer-links a{color:#555}
.visual-panel{position:relative;min-height:100vh;overflow:hidden;background:var(--orange)}.visual-inner{position:relative;z-index:2;min-height:100vh;display:flex;flex-direction:column;justify-content:space-between;padding:62px}.visual-inner h2{max-width:680px;font:700 clamp(52px,6vw,92px)/.95 'Inter Tight';letter-spacing:-.065em;color:#111}.visual-inner p{max-width:430px;color:#171717;font-size:15px;line-height:1.65}.shape{position:absolute;right:-17%;top:50%;width:68vw;height:68vw;max-width:920px;max-height:920px;min-width:620px;min-height:620px;transform:translateY(-50%);border:2px solid rgba(17,17,17,.85);border-radius:50%}.shape:before,.shape:after{content:'';position:absolute;border-radius:50%;border:2px solid rgba(17,17,17,.3)}.shape:before{inset:11%}.shape:after{inset:23%;border-color:rgba(17,17,17,.16)}
@media(max-width:980px){.page{grid-template-columns:1fr}.visual-panel{display:none}.login-panel{padding:24px}.login-wrap{max-width:460px}}@media(max-width:560px){.login-panel{padding:20px}.login-wrap{padding:48px 0 42px}.form-links{align-items:flex-start}.brand-name{font-size:20px}}