:root{color-scheme:light;--orange:#c74d1c;--ink:#302c29;--muted:#716b66;--blue:#a8c9fa;--line:#e8e2dc}
*{box-sizing:border-box}
body{margin:0;background:#fcfaf7;color:var(--ink);font-family:"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #3972ba;outline-offset:4px}
.login-layout{min-height:100svh;display:grid;grid-template-columns:1.05fr 1fr}
.welcome{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:42px 8% 32px;color:white;background:radial-gradient(ellipse at 0 100%,#ef8850 0,transparent 60%),linear-gradient(135deg,#bc4317,#d85d25 65%,#ce521f);min-height:760px}
.brand{display:flex;align-items:center;gap:20px;width:fit-content}
.brand img{background:white;border-radius:9px;object-fit:contain;width:112px;height:70px;padding:4px}
.brand>span:last-child{font-size:10px;letter-spacing:.15em;font-weight:650;line-height:1.6;max-width:115px}
.brand-divider{width:1px;height:28px;background:#ffffff55}
.welcome-copy{margin:64px 0 76px;position:relative;z-index:1}
.eyebrow{display:flex;align-items:center;gap:12px;font-size:10px;font-weight:700;letter-spacing:.19em}
.eyebrow>span{width:25px;height:3px;background:var(--blue)}
h1{font-size:clamp(44px,4.4vw,72px);font-weight:550;letter-spacing:-.055em;line-height:1.08;margin:30px 0 24px}
h1 em{font-family:Georgia,serif;font-weight:400;color:#d9e9ff;letter-spacing:-.035em}
.welcome-description{max-width:360px;font-size:15px;line-height:1.8;color:#ffede4}
.people-mark{display:flex;align-items:center;margin-top:37px}
.people-mark>span{height:43px;width:43px;border:2px solid #d9612a;border-radius:50%;display:grid;place-items:center;margin-left:-9px;font-size:12px;font-weight:700;background:#ffe3cf;color:#92401e}
.people-mark>span:first-child{margin-left:0;background:#d8e8ff;color:#396091}
.people-mark>span:last-of-type{background:#fff9f1;font-size:10px}
.people-mark i{height:1px;width:65px;background:#ffffff70;margin-left:16px}
.welcome-footer{position:relative;z-index:1;display:flex;justify-content:space-between;gap:20px;align-items:center;border-top:1px solid #ffffff38;padding-top:22px;font-size:11px;color:#ffe9dc}
.welcome-footer>span:last-child{font-size:9px;letter-spacing:.1em}
.orbit{position:absolute;border:1px solid #ffffff1c;border-radius:50%;z-index:-1;pointer-events:none;width:650px;height:650px;bottom:-330px;right:-310px}
.orbit-two{width:810px;height:810px;bottom:-410px;right:-390px}
.access{padding:42px 9% 28px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:48px}
.back-link{align-self:flex-end;font-size:12px;color:var(--muted);display:flex;align-items:center;gap:10px}
.back-link:hover,.candidate-link a:hover{text-decoration:underline}
.login-card{width:100%;max-width:390px}
.access-icon{background:#f9e9df;border:1px solid #f0d9ca;color:var(--orange);width:49px;height:49px;display:grid;place-items:center;border-radius:14px;margin-bottom:28px}
.access-icon svg{width:25px;height:25px}
.section-label{font-size:10px;font-weight:750;letter-spacing:.18em;color:var(--orange);margin:0 0 12px}
h2{font-size:32px;letter-spacing:-.045em;font-weight:650;margin:0 0 12px;line-height:1.2}
.login-description{font-size:14px;color:var(--muted);line-height:1.7;margin:0 0 31px;max-width:340px}
form>label{display:block;font-weight:600;font-size:12px;margin-bottom:9px}
input{display:block;width:100%;min-width:0;height:51px;border:1px solid #dcd5ce;border-radius:8px;background:#fff;padding:0 15px;font-size:14px;color:var(--ink)}
input::placeholder{color:#8b847e}
input:focus{border-color:var(--orange)}
#email{margin-bottom:23px}
.password-field{position:relative}
.password-field input{padding-right:85px}
.toggle-password{position:absolute;right:6px;top:5px;height:41px;padding:0 10px;border:0;background:transparent;font-size:11px;font-weight:650;color:var(--orange);cursor:pointer;border-radius:4px}
.password-help{font-size:11px;line-height:1.6;color:var(--muted);margin:13px 0 25px}
.login-button{width:100%;height:51px;border:0;border-radius:8px;background:var(--orange);color:white;display:flex;justify-content:space-between;align-items:center;padding:0 18px;font-weight:600;font-size:13px}
.login-button:disabled{cursor:not-allowed;background:#985437}
.login-button:not(:disabled){cursor:pointer}.login-button:not(:disabled):hover{background:#a83e14}
.login-error,.login-info{font-size:13px;line-height:1.6;padding:12px 14px;border-radius:8px;margin:20px 0;background:#fff0eb;color:#8c3018;border:1px solid #ebc4b5}.login-info{background:#eef6ef;color:#295b3b;border-color:#c5dfcb}
.login-button span{font-size:20px}
.access-notice{display:flex;align-items:center;justify-content:center;gap:7px;font-size:11px;line-height:1.5;color:var(--muted);margin:15px 0 0}
.access-notice>span{height:5px;width:5px;border-radius:50%;background:#b98548;flex-shrink:0}
.candidate-link{border-top:1px solid var(--line);margin-top:33px;padding-top:23px;display:flex;flex-direction:column;gap:7px;font-size:12px;color:var(--muted)}
.candidate-link a{font-weight:650;color:var(--orange);width:fit-content}
.access-footer{display:flex;justify-content:space-between;gap:20px;width:100%;font-size:10px;color:var(--muted)}
@media(min-width:1600px){.welcome{padding-left:12%;padding-right:12%}.access{padding-left:14%;padding-right:14%}}
@media(max-width:900px){.welcome{padding-left:8%;padding-right:8%}h1{font-size:46px}.access{padding:35px 8% 25px}.brand{gap:12px}.welcome-footer{flex-direction:column;align-items:flex-start}h2{font-size:28px}}
@media(max-width:680px){.login-layout{grid-template-columns:1fr}.welcome{min-height:auto;padding:20px 24px}.brand img{width:88px;height:55px}.brand>span:last-child{max-width:none;font-size:9px}.welcome-copy,.welcome-footer,.orbit{display:none}.access{padding:23px 24px 24px;gap:30px;min-height:calc(100svh - 95px)}.login-card{max-width:400px}.access-icon{margin-bottom:22px}.access-footer{max-width:400px;margin-top:10px}input{font-size:16px}h2{font-size:31px}}
@media(max-width:360px){.access-footer{flex-direction:column;gap:6px}h2{font-size:28px}.brand{gap:10px}}
