:root{color-scheme:light;--ink:#292c2d;--muted:#787c75;--accent:#b75d3e;--line:#e3e5dc;--paper:#f4f4ee}
*{box-sizing:border-box}
body{margin:0;color:var(--ink);background:#fff;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei","PingFang SC",sans-serif;-webkit-font-smoothing:antialiased}
button,input{font:inherit}
button,a,input{ -webkit-tap-highlight-color:transparent }
button{cursor:pointer}
a{color:inherit;text-decoration:none}
:where(button,a,input):focus-visible{outline:2px solid var(--accent);outline-offset:4px}
[hidden]{display:none!important}
.login-layout{min-height:100vh;min-height:100svh;display:grid;grid-template-columns:minmax(440px,48%) 1fr}
.login-intro{background:var(--paper);display:flex;flex-direction:column;padding:44px 58px 30px;border-right:1px solid var(--line)}
.brand{display:inline-flex;align-items:center;gap:13px;align-self:flex-start;font-size:17px;font-weight:600;letter-spacing:1px}
.brand-mark{display:grid;grid-template-columns:repeat(3,5px);gap:4px}
.brand-mark i{width:5px;height:5px;background:var(--ink)}
.brand-mark i:nth-child(5){background:var(--accent)}
.intro-content{max-width:430px;margin:auto;width:100%;padding:64px 0 54px}
.intro-kicker{display:flex;align-items:center;gap:10px;font-size:12px;letter-spacing:2px;color:#75796e}
.intro-kicker:before{content:"";width:22px;height:1px;background:var(--accent)}
h1{font-size:clamp(31px,3.1vw,46px);font-weight:500;letter-spacing:1px;line-height:1.55;margin:21px 0 19px}
.intro-content>p{font-size:14px;line-height:1.95;color:#7c8075;margin:0}
.seating-illustration{margin-top:42px;background:#fafbf7;border:1px solid #dddfd4;border-radius:5px;padding:21px 25px 16px;transform:rotate(-2deg);box-shadow:5px 10px 0 #eaece2}
.illustration-topline{display:flex;justify-content:space-between;font-size:10px;color:#95998c;padding-bottom:21px}
.illustration-topline span:first-child{color:#565d50;font-size:11px}
.illustration-stage{margin:0 20px 18px;background:#e6e9dd;text-align:center;color:#6f7964;font-size:9px;padding:7px;letter-spacing:7px;text-indent:7px;border-radius:2px}
.illustration-seats{display:grid;grid-template-columns:repeat(4,1fr) 14px repeat(4,1fr);gap:7px 5px}
.illustration-seats span{height:16px;border-radius:2px;background:#e4e7dc;border-bottom:2px solid #d8ddcd}
.illustration-seats span:nth-child(8n + 5){grid-column:6}
.illustration-seats span:nth-child(2),.illustration-seats span:nth-child(3),.illustration-seats span:nth-child(7){background:#b95f40;border-color:#a44f34}
.illustration-seats span:nth-child(10),.illustration-seats span:nth-child(14){background:#b8c3a9;border-color:#a6b595}
.illustration-bottom{display:flex;justify-content:space-between;gap:12px;padding-top:22px;font-size:9px;color:#93988a}
.illustration-bottom span{display:flex;align-items:center;gap:5px}
.illustration-bottom i{width:5px;height:5px;background:var(--accent);display:inline-block}
.intro-footer{font-size:11px;color:#969a8d;letter-spacing:1px}
.login-main{position:relative;display:flex;align-items:center;justify-content:center;padding:70px 48px 100px;min-width:0}
.login-panel{width:100%;max-width:350px}
.section-tag{display:flex;gap:8px;align-items:center;font-size:11px;color:var(--muted);letter-spacing:1px}
.section-tag:before{content:"";display:block;width:5px;height:5px;background:var(--accent)}
h2{font-size:30px;line-height:1.4;font-weight:600;letter-spacing:1px;margin:15px 0 10px}
.login-description{font-size:12px;color:var(--muted);line-height:1.8;margin:0 0 37px}
.field{margin-top:23px}
.field label{display:block;font-size:12px;font-weight:500;margin-bottom:10px}
.field input{width:100%;height:49px;border:1px solid #dfe2d9;border-radius:4px;background:#fff;padding:0 14px;color:var(--ink);font-size:14px;transition:border-color .15s}
.field input::placeholder{color:#b1b4aa;font-size:12px}
.field input:focus{outline:0;border-color:#a4aa99;box-shadow:0 0 0 3px #ebede5}
.field input[aria-invalid=true]{border-color:var(--accent)}
.password-field{position:relative}
.password-field input{padding-right:48px}
.password-field button{position:absolute;right:5px;top:5px;width:39px;height:39px;border:0;background:transparent;display:grid;place-items:center;color:#94998c;border-radius:3px}
.password-field button:hover{color:var(--ink);background:#f4f5ef}
.password-field svg{width:18px;height:18px}
.eye-slash{display:none}
button[aria-pressed=true] .eye-slash{display:block}
.login-message{min-height:43px;padding:11px 0 10px;font-size:12px;line-height:1.7;color:var(--accent);overflow-wrap:anywhere}
.login-message.success{color:#607b50}
.submit-button{width:100%;height:48px;border:1px solid var(--ink);background:var(--ink);color:#fff;border-radius:4px;display:flex;align-items:center;justify-content:center;position:relative;font-size:14px;letter-spacing:3px;transition:background .15s}
.submit-button:hover{background:#414642}
.submit-button svg{width:18px;height:18px;position:absolute;right:18px}
.submit-button:disabled{cursor:wait;opacity:.6}
#logoutRetryBtn{letter-spacing:0;margin-top:10px}
.login-help{font-size:11px;color:#8b9084;text-align:center;border-top:1px solid #eceee6;margin-top:30px;padding-top:23px;line-height:1.8}
.login-help span{color:#555e4e;margin-right:7px}
.login-footer{position:absolute;bottom:31px;left:25px;right:25px;display:flex;align-items:center;justify-content:center;gap:6px;color:#a1a597;font-size:10px;letter-spacing:1px}
.login-footer svg{width:14px;height:14px}
.mobile-brand{display:none}
.noscript-tip{font-size:12px;color:var(--accent)}
@media(min-width:1600px){.login-intro{padding:50px 70px 35px}.intro-content{max-width:460px}.login-panel{max-width:370px}}
@media(max-width:1000px){.login-layout{grid-template-columns:43% 1fr}.login-intro{padding:35px 33px 28px}.intro-content{padding:50px 0}.intro-content h1{font-size:31px;letter-spacing:0}.intro-content>p{font-size:12px}.seating-illustration{padding:18px 17px 14px}.illustration-bottom{gap:7px;font-size:8px}.login-main{padding:60px 35px 95px}}
@media(max-width:720px){body{background:#f8f9f5}.login-layout{display:block}.login-intro{display:none}.login-main{min-height:100vh;min-height:100svh;align-items:flex-start;padding:0 28px 85px;flex-direction:column;justify-content:flex-start}.mobile-brand{display:flex;align-items:center;gap:10px;height:85px;font-size:15px;font-weight:600;letter-spacing:1px}.mobile-mark{width:15px;height:15px;border:4px solid var(--ink);border-right-color:var(--accent)}.login-panel{max-width:420px;margin:52px auto 30px;background:transparent}.section-tag{font-size:11px}h2{font-size:30px;margin-top:15px}.login-description{font-size:12px;margin-bottom:32px}.field input{height:52px;font-size:16px;background:#fff}.password-field button{top:7px}.submit-button{height:51px}.login-footer{bottom:25px;font-size:10px}.login-help{border-color:#e5e8dd;margin-top:29px}.field{margin-top:24px}}
@media(max-width:360px){.login-main{padding-left:23px;padding-right:23px}.login-panel{margin-top:35px}.login-description{font-size:11px}h2{font-size:28px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
