:root{color-scheme:light;--ink:#181a1b;--muted:#687078;--yellow:#ffdc35}
*{box-sizing:border-box}
body{margin:0;background:#f5f5f2;color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.5}
button,input{font:inherit}a{color:inherit}button,a,input{-webkit-tap-highlight-color:transparent}
[hidden]{display:none!important}
.login-shell{min-height:100vh;min-height:100svh;display:grid;grid-template-columns:1fr 1fr;max-width:1600px;margin:auto}
.intro{background:#f0f0e9;padding:44px 12% 30px;display:flex;flex-direction:column;position:relative;overflow:hidden}
.brand{display:inline-flex;align-self:flex-start}.brand img{width:200px;height:86px;object-fit:contain;object-position:left center}
.intro-copy{margin:auto 0;padding:40px 0;max-width:450px}.eyebrow,.section-label{font-size:11px;font-weight:700;letter-spacing:2px}
.eyebrow{display:inline-block;border-left:3px solid #d6b30c;padding-left:12px;color:#555d57}
h1{font-size:clamp(38px,4vw,58px);line-height:1.08;letter-spacing:-2px;margin:23px 0 18px;font-weight:750}
.intro-copy>p{font-size:16px;color:#656b65;max-width:340px;line-height:1.7}
.quote-art{background:var(--yellow);padding:26px 28px 20px;margin:36px 0 10px;max-width:360px;transform:rotate(-3deg);box-shadow:8px 10px 0 #deded4;border:1px solid #d2b527}
.art-label{font-size:9px;font-weight:700;letter-spacing:1.6px}.art-title{font-size:36px;font-weight:800;letter-spacing:-1.4px;line-height:1.1;margin:22px 0}.art-rule{height:2px;background:var(--ink);margin:22px 0 12px}.art-footer{display:flex;justify-content:space-between;gap:12px;font-size:8px;font-weight:700;letter-spacing:.6px}
.intro-footer{font-size:11px;color:#72776f}
.login-panel{background:#fff;display:flex;flex-direction:column;padding:60px 12% 28px;justify-content:center;min-width:0}
.login-form-wrap{width:100%;max-width:380px;margin:auto}.section-label{color:#7b8278}h2{font-size:35px;line-height:1.2;letter-spacing:-1.3px;margin:17px 0 12px}.form-intro{color:var(--muted);margin:0 0 35px;font-size:14px}
label{display:block;font-size:13px;font-weight:700;margin:20px 0 8px}input:not([type=hidden]){width:100%;height:51px;border:1px solid #d8dcda;border-radius:7px;background:#fff;padding:0 14px;color:var(--ink);outline:none;transition:border-color .15s,box-shadow .15s}input::placeholder{color:#969d99;font-size:13px}input:focus{border-color:#80701c;box-shadow:0 0 0 3px #fff2b5}
.password-field{position:relative}.password-field input{padding-right:70px}.password-toggle{position:absolute;right:7px;top:7px;height:37px;min-width:53px;background:transparent;border:0;border-radius:4px;color:#515952;font-size:12px;font-weight:700;cursor:pointer}.password-toggle:hover{background:#f2f3ed}
.submit-button{margin-top:27px;width:100%;height:51px;border:1px solid #e0bd23;border-radius:7px;background:var(--yellow);color:#181a1b;font-weight:700;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;transition:background .15s,transform .15s}.submit-button:hover{background:#f4cf23}.submit-button:active{transform:translateY(1px)}.button-arrow{font-size:21px;line-height:1}.submit-button:disabled{cursor:wait;opacity:.8}
.spinner{display:none;width:17px;height:17px;border:2px solid #181a1b40;border-top-color:var(--ink);border-radius:50%;animation:spin .8s linear infinite}.is-loading .spinner{display:block}.is-loading .button-arrow{display:none}.submit-status{min-height:20px;font-size:12px;color:var(--muted);margin:7px 0 0}
.login-help{border-top:1px solid #eceee9;margin-top:21px;padding-top:23px;display:flex;align-items:flex-start;gap:12px}.help-mark{height:20px;width:20px;flex-shrink:0;border:1px solid #d6dbd4;border-radius:50%;text-align:center;font-size:12px;font-weight:700;color:#717a6f;margin-top:2px}.login-help p{font-size:12px;color:#343b34;margin:0}.login-help p span{color:#7b8379}.back-link{display:inline-block;text-decoration:none;font-size:12px;color:#60695f;margin-top:27px}.back-link:hover{text-decoration:underline}.panel-footer{font-size:11px;color:#939a90;text-align:center;margin-top:40px}
.login-error{border:1px solid #edc9c5;background:#fff4f2;border-radius:6px;padding:12px 14px;font-size:13px;color:#a22a20;margin-bottom:22px}.caps-lock{font-size:12px;margin:8px 0 0;color:#8c6413}a:focus-visible,button:focus-visible{outline:3px solid #998200;outline-offset:4px}
@keyframes spin{to{transform:rotate(360deg)}}
@media(min-width:1600px){body{background:#e6e7e1}.login-shell{box-shadow:0 0 60px #0000000a}}
@media(max-width:760px){.login-shell{display:block}.intro{padding:20px 25px}.brand img{width:155px;height:64px}.intro-copy,.intro-footer{display:none}.login-panel{padding:36px 25px 24px;min-height:calc(100svh - 104px)}.login-form-wrap{max-width:420px}h2{font-size:31px}.form-intro{margin-bottom:26px}.panel-footer{margin-top:35px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
