:root{--bg:#f4f7fb;--surface:#fff;--soft:#eaf0f8;--ink:#26374b;--muted:#586b81;--line:#dbe4ee;--line-strong:#adbed2;--primary:#386394;--primary-hover:#2e5480;--success:#326453;--danger:#9b433b;--warning:#7f602e;--radius:14px;--font:"PingFang SC","Microsoft YaHei UI","Microsoft YaHei","Noto Sans CJK SC",system-ui,sans-serif}
*{box-sizing:border-box}html{color-scheme:light;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--bg);font:400 16px/1.7 var(--font);-webkit-text-size-adjust:100%}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{touch-action:manipulation}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}button:disabled{cursor:not-allowed;opacity:.5}button,input,select,textarea{border-radius:8px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--primary);outline-offset:3px}[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:600;line-height:1.4}h1{font-size:32px}h2{font-size:23px}h3{font-size:17px}small{font-size:13px}strong{font-weight:600}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:16px;top:-90px;z-index:50;background:white;padding:12px}.skip-link:focus{top:12px}.muted{color:var(--muted);font-size:14px}.eyebrow,.section-kicker{color:var(--primary);font-size:13px;margin-bottom:12px}.button{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:14px;border:1px solid transparent;padding:9px 19px;background:transparent;font-size:14px;font-weight:500;line-height:1.6;white-space:normal;transition:background-color .15s,border-color .15s,color .15s}.button:hover{text-decoration:none}.button.primary{background:var(--primary);color:white}.button.primary:hover:not(:disabled){background:var(--primary-hover)}.button.secondary{background:var(--surface);border-color:var(--line-strong);color:var(--primary)}.button.secondary:hover:not(:disabled){background:var(--soft)}.button.quiet{color:var(--primary)}.button.quiet:hover:not(:disabled){background:var(--soft)}.button.danger{color:var(--danger);background:#faf0ee;border-color:#debab5}.button.danger:hover:not(:disabled){background:#f5e6e3}.button.wide{width:100%;justify-content:space-between}.brand{display:inline-flex;align-items:center;gap:12px;color:var(--ink);font-size:22px;font-weight:500;white-space:nowrap}.brand:hover{text-decoration:none}.brand-mark{display:grid;place-items:center;width:36px;height:40px;background:var(--primary);color:white;border-radius:8px;font-size:21px}.edition{font-size:13px;color:var(--muted);border-left:1px solid var(--line-strong);padding-left:20px;margin-left:20px}.login-shell{min-height:100svh;max-width:1320px;padding:44px 64px 24px;margin:auto;display:flex;flex-direction:column}.login-brand{display:flex;align-items:center}.login-main{display:grid;grid-template-columns:1.1fr 1fr;gap:84px;align-items:center;flex:1;padding:72px 0 80px}.login-intro .eyebrow{font-size:14px;margin-bottom:25px}.login-intro h1{font-size:clamp(36px,4.2vw,56px);font-weight:500;line-height:1.45;letter-spacing:-.02em}.intro-copy{font-size:16px;color:var(--muted);margin-top:23px;line-height:1.95}.intro-index{margin-top:42px;padding-top:24px;border-top:1px solid var(--line-strong);display:flex;gap:24px;font-size:13px;color:var(--muted);flex-wrap:wrap}.intro-index span{display:flex;gap:9px;align-items:baseline}.intro-index small{font-family:"Segoe UI",sans-serif;font-size:11px;color:var(--primary)}.login-card{background:var(--surface);padding:40px 42px;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 18px 52px #30486707}.login-card h2{font-size:27px;margin-bottom:9px}.login-card form{margin-top:32px}.field{margin:22px 0}.field label,.field-label{display:block;font-size:14px;font-weight:500;margin-bottom:9px}input,select,textarea{width:100%;border:1px solid var(--line-strong);background:white;padding:11px 13px;font-size:16px;min-height:46px;line-height:1.55}input::placeholder{color:#64778e}input[aria-invalid=true]{border-color:var(--danger)}.field-hint,.field-error{margin-top:8px;font-size:13px;line-height:1.7;color:var(--muted)}.field-error{color:var(--danger)}.code-input-wrap{position:relative}.code-input-wrap input{padding-right:68px}.reveal-button{position:absolute;right:4px;top:3px;bottom:3px;min-width:54px;min-height:44px;border:0;background:white;color:var(--primary);font-size:13px}.login-help{display:flex;gap:14px;align-items:flex-start;margin-top:30px;color:var(--muted);font-size:13px;line-height:1.8}.help-rule{width:20px;height:1px;background:var(--line-strong);margin-top:11px;flex:none}.status-message{font-size:14px;color:var(--primary);overflow-wrap:anywhere;line-height:1.75}.status-message:not(:empty){margin:18px 0}.status-message[data-error=true]{color:var(--danger)}.login-footer{display:flex;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted);padding-top:20px;border-top:1px solid var(--line)}.app-header{min-height:80px;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:16px max(28px,calc((100vw - 1184px)/2));border-bottom:1px solid var(--line);background:var(--bg)}.app-header nav{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}.app-header nav a,.nav-button{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 13px;font-size:14px;color:var(--muted);border:0;background:transparent;border-radius:7px;white-space:nowrap}.app-header nav a:hover,.nav-button:hover{background:var(--soft);text-decoration:none}.app-header nav a[aria-current]{color:var(--primary);background:var(--soft)}.app-main{max-width:1240px;margin:auto;padding:48px 28px 70px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:32px}.page-heading h1{font-size:32px;font-weight:500;margin-bottom:12px}.page-heading p:last-child{color:var(--muted);font-size:14px}.page-heading>.button{flex:none}.seat-overview{display:grid;grid-template-columns:1fr 1fr 1.35fr;align-items:center;background:white;border:1px solid var(--line);border-radius:var(--radius);padding:28px 32px;gap:30px}.metric-label{font-size:13px;color:var(--muted)}.metric-line{display:flex;align-items:baseline;gap:14px}.metric-line strong,.seat-available strong{font:400 45px/1.3 "Segoe UI",var(--font);font-variant-numeric:tabular-nums}.metric-line>span{font-size:14px;color:var(--muted)}.seat-available strong{font-size:32px;display:block;margin-top:5px}.seat-available{border-left:1px solid var(--line);padding-left:32px}.seat-policy{justify-self:end;font-size:13px;color:var(--muted)}.seat-policy .button{padding-left:0;margin-top:4px}.member-section{margin-top:34px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.list-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:25px 28px 18px}.list-heading h2{font-size:21px}.list-heading p{margin-top:5px}.list-filters{display:flex;gap:12px;padding:0 28px 22px}.search-field{flex:1;max-width:340px}.list-filters select{min-width:135px;background:white}.member-list-head,.member-row{display:grid;grid-template-columns:minmax(160px,1.25fr) 90px 130px minmax(245px,1.3fr);gap:18px;align-items:center;padding:18px 28px}.member-list-head{padding-top:12px;padding-bottom:12px;background:#f7f9fc;font-size:12px;color:var(--muted);border-block:1px solid var(--line)}.member-list{margin:0;padding:0;list-style:none}.member-row{border-bottom:1px solid var(--line)}.member-row:last-child{border-bottom:0}.member-name{font-size:15px;font-weight:500;overflow-wrap:anywhere}.member-meta{font-size:12px;color:var(--muted);margin-top:3px}.state-tag{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:3px 9px;font-size:12px;color:var(--muted);background:#edf1f5;border-radius:5px;white-space:nowrap;line-height:1.7}.state-tag.active{color:var(--success);background:#edf5f0}.state-tag.issued{color:var(--primary);background:var(--soft)}.state-tag.suspended{color:var(--warning);background:#f7f1e6}.state-tag.retired{color:#666b72;background:#f0f1f3}.member-date{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}.row-actions{display:flex;flex-wrap:wrap;gap:4px}.row-actions button{font-size:13px;min-height:44px;padding:8px 11px;border:0;background:transparent;color:var(--primary)}.row-actions button:hover{background:var(--soft)}.row-actions button[data-tone=danger]{color:var(--danger)}.retired-caption{font-size:12px;color:var(--muted)}.list-empty{padding:52px 24px;text-align:center}.list-empty p{color:var(--muted);font-size:14px;margin-top:10px}.load-more{display:flex;margin:18px auto 24px}.page-footnote{font-size:13px;color:var(--muted);margin:21px 2px}.notice{display:flex;justify-content:space-between;align-items:center;gap:20px;border:1px solid #d4bf97;background:#fbf7ef;color:#785623;border-radius:9px;padding:18px 22px;margin-top:24px;font-size:14px}.notice strong{font-size:15px}.notice p{margin-top:4px}.notice .button{flex:none}.loading-state{padding:90px 20px;text-align:center;color:var(--muted)}.empty-panel{max-width:650px;margin:40px auto;text-align:center;padding:36px;background:white;border:1px solid var(--line);border-radius:var(--radius)}.empty-panel p{color:var(--muted);margin:20px 0}.empty-panel .button{margin:6px}.account-main{max-width:1100px}.account-profile{display:flex;align-items:center;gap:20px;background:white;border:1px solid var(--line);border-radius:var(--radius);padding:25px 28px;margin-bottom:28px}.profile-initial{width:56px;height:60px;border-radius:12px;background:var(--soft);color:var(--primary);display:grid;place-items:center;flex:none;font-size:24px}.profile-copy{flex:1;min-width:0}.profile-copy h2{font-size:22px;overflow-wrap:anywhere}.profile-copy p{font-size:13px;color:var(--muted);margin-top:5px}.profile-dot{margin:0 9px}.binding-panel{display:grid;grid-template-columns:1.5fr 1fr;background:white;border:1px solid var(--line);border-radius:var(--radius);overflow:clip}.binding-main{padding:34px}.binding-main h2{font-size:25px;font-weight:500}.binding-copy{font-size:14px;color:var(--muted);margin-top:12px}.binding-state{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:25px}.binding-explanation{font-size:14px;color:var(--muted);margin:14px 0 20px}.button-row{display:flex;flex-wrap:wrap;gap:9px}.binding-steps{padding:36px 30px;background:#f8fafc;border-left:1px solid var(--line)}.binding-steps h3{font-size:16px;font-weight:500}.binding-steps ol{padding:0;margin:24px 0 0;list-style:none;display:grid;gap:27px}.binding-steps li{display:flex;gap:13px}.binding-steps li>span{flex:none;border-top:1px solid var(--line-strong);color:var(--primary);padding-top:3px;width:22px;font-size:13px}.binding-steps strong{font-size:14px;font-weight:500}.binding-steps li p{font-size:13px;color:var(--muted);margin-top:6px}.account-note{display:flex;gap:25px;align-items:flex-start;justify-content:space-between;margin:30px 3px}.account-note h2{font-size:16px;font-weight:500}.account-note p{font-size:13px;color:var(--muted);margin-top:10px;max-width:590px}.quiet-caption{font-size:12px;color:var(--muted);padding-top:3px;flex:none}dialog{width:min(510px,calc(100vw - 32px));max-height:calc(100dvh - 40px);border:1px solid var(--line);border-radius:14px;background:white;padding:30px;color:var(--ink);box-shadow:0 20px 70px #182a4833;overflow:auto;overscroll-behavior:contain}dialog::backdrop{background:#25374b70}.dialog-heading h2{font-size:25px;margin-bottom:12px}.dialog-heading .muted{line-height:1.9;overflow-wrap:anywhere}.dialog-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:27px}.secret-value{margin-top:4px;font:400 16px/1.7 "Segoe UI",var(--font);background:#f6f8fb;resize:vertical;overflow-wrap:anywhere;word-break:break-all;min-height:110px}.field-label{margin-top:25px}.noscript{margin:20px;padding:20px;background:white;color:var(--danger);border:1px solid var(--line)}
@media(max-width:1050px){.login-shell{padding:32px 36px 22px}.login-main{gap:45px}.login-card{padding:32px}.intro-index{gap:15px}.member-list-head,.member-row{grid-template-columns:minmax(135px,1fr) 85px 105px minmax(230px,1.25fr);gap:12px;padding-left:22px;padding-right:22px}.app-header{padding-inline:28px}.page-heading h1{font-size:29px}.quiet-caption{display:none}.binding-main{padding:29px}.binding-steps{padding:30px 23px}}
@media(max-width:760px){.login-shell{padding:26px 22px 20px}.login-main{display:block;padding:45px 0 35px}.login-intro{max-width:530px;margin:auto}.login-intro h1{font-size:35px;line-height:1.45}.login-intro h1 br{display:none}.login-intro .eyebrow{margin-bottom:14px;font-size:13px}.intro-copy{font-size:14px;margin-top:13px}.intro-index{display:none}.desktop-break{display:none}.login-card{max-width:530px;margin:30px auto 0;padding:29px}.login-card h2{font-size:24px}.login-card form{margin-top:22px}.login-footer{font-size:11px;gap:12px}.app-header{padding:17px 20px;align-items:flex-start;flex-wrap:wrap;gap:14px}.app-header .brand{font-size:20px}.brand-mark{width:32px;height:36px;font-size:19px}.app-header nav{width:100%;justify-content:flex-start;gap:4px}.app-header nav a,.nav-button{padding:8px 12px;font-size:13px}.app-header nav .nav-button{margin-left:auto}.app-main{padding:28px 20px 50px}.page-heading{align-items:flex-start;flex-direction:column;gap:20px;margin-bottom:26px}.page-heading h1{font-size:28px}.page-heading>.button{align-self:flex-start}.seat-overview{grid-template-columns:1fr 1fr;gap:22px;padding:23px}.metric-line{gap:10px}.metric-line strong{font-size:38px}.metric-line>span{font-size:12px}.seat-available{padding-left:24px}.seat-available strong{font-size:29px}.seat-policy{grid-column:1/-1;border-top:1px solid var(--line);padding-top:13px;justify-self:stretch;display:flex;align-items:center;justify-content:space-between;gap:16px}.seat-policy p{font-size:12px}.seat-policy .button{font-size:13px;margin:0;white-space:nowrap}.member-section{margin-top:24px}.list-heading{padding:22px 20px 17px}.list-heading h2{font-size:20px}.list-heading .button{padding-inline:6px}.list-filters{padding:0 20px 20px;gap:10px}.list-filters select{min-width:115px;padding-inline:9px;font-size:14px}.member-list-head{display:none}.member-row{grid-template-columns:minmax(0,1fr) auto;gap:13px;padding:20px}.member-row .member-date{grid-column:1/-1;font-size:12px}.row-actions{grid-column:1/-1;border-top:1px solid var(--line);padding-top:9px;gap:10px}.row-actions button{padding:8px 12px;background:#f5f8fc}.retired-caption{grid-column:1/-1}.member-name{font-size:16px}.member-meta{font-size:12px}.member-row>.state-tag{align-self:start}.member-date:before{content:"发放于 ";color:var(--muted)}.notice{align-items:flex-start;flex-direction:column;padding:18px}.notice .button{align-self:flex-end}.account-profile{padding:21px;gap:14px}.profile-initial{width:47px;height:53px;font-size:22px}.profile-copy h2{font-size:20px}.account-profile>.state-tag{align-self:flex-start}.binding-panel{grid-template-columns:1fr}.binding-main{padding:25px}.binding-main h2{font-size:23px}.binding-steps{border-top:1px solid var(--line);border-left:0;padding:25px}.binding-steps ol{gap:21px;margin-top:20px}.account-note{margin-top:26px}.page-footnote{font-size:12px}.empty-panel{padding:28px 22px;margin:20px 0}dialog{padding:25px;width:calc(100vw - 28px);max-height:calc(100dvh - 28px)}.dialog-heading h2{font-size:23px}.dialog-actions{gap:10px}.dialog-actions .button{flex:1}.page-heading .eyebrow{margin-bottom:9px}}
@media(max-width:380px){.login-shell{padding-inline:18px}.login-card{padding:25px 22px}.login-intro h1{font-size:31px}.login-footer{flex-direction:column;gap:3px}.app-main{padding-inline:16px}.app-header{padding-inline:16px}.app-header nav a,.nav-button{font-size:12px;padding-inline:9px}.page-heading h1{font-size:25px}.seat-overview{padding:20px;gap:18px}.seat-policy{flex-wrap:wrap;gap:3px}.seat-available{padding-left:18px}.binding-main{padding:22px}.list-filters{padding-inline:16px}.list-heading{padding-inline:16px}.member-row{padding-inline:16px}.account-profile{padding:18px}.profile-copy h2{font-size:18px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
@supports(padding:max(0px)){.login-shell{padding-top:max(26px,env(safe-area-inset-top));padding-bottom:max(22px,env(safe-area-inset-bottom))}.app-main{padding-bottom:max(50px,env(safe-area-inset-bottom))}.app-header{padding-top:max(16px,env(safe-area-inset-top))}}
