:root{color-scheme:dark;--color-paper:#071310;--color-sidebar:#091b17;--color-surface:#0f2621;--color-raised:#18382f;--color-input:#0a1c17;--color-ink:#f0f8f5;--color-muted:#b4ccc4;--color-rule:#2a4b40;--color-accent:#59e5d1;--color-accent-hover:#85f0df;--color-accent-ink:#06251e;--color-danger:#ffb3ae;--color-danger-surface:#361f21;--color-focus:#f0f8f5;--color-clear:transparent;--font-body:"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",system-ui,sans-serif;--font-display:var(--font-body);--font-mono:ui-monospace,"Cascadia Code",monospace;--text-body:18px;--text-small:16px;--text-section:22px;--text-title:30px;--space-xs:8px;--space-sm:12px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:40px;--space-3xl:64px;--radius:10px;--radius-sm:6px;--sidebar-width:252px;--header-height:88px;--dur-fast:.16s;--ease-out:cubic-bezier(.16,1,.3,1)}*{box-sizing:border-box}html,body{min-width:0;margin:0;overflow-x:clip;background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-body);font-weight:500;line-height:1.65}button,input,select,textarea{font:inherit;min-width:0}button,a{-webkit-tap-highlight-color:var(--color-clear)}button{cursor:pointer}a{color:var(--color-accent);text-underline-offset:4px}button,a,summary{touch-action:manipulation}button:disabled,input:disabled,select:disabled{opacity:.6;cursor:not-allowed}:focus-visible{outline:2px solid var(--color-focus);outline-offset:4px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--font-display);font-style:normal;line-height:1.4;overflow-wrap:anywhere}h1{font-size:var(--text-title);font-weight:700}h2{font-size:var(--text-section);font-weight:600}h3{font-size:var(--text-body);font-weight:600}p{overflow-wrap:anywhere}small{font-size:var(--text-small);font-weight:500}svg{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.skip-link{position:fixed;top:-100px;left:var(--space-md);z-index:20;padding:var(--space-sm);background:var(--color-accent);color:var(--color-accent-ink)}.skip-link:focus{top:var(--space-sm)}.topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:var(--space-xl);min-height:var(--header-height);padding:var(--space-md) var(--space-xl);border-bottom:1px solid var(--color-rule);background:var(--color-paper);color:var(--color-ink)}.wordmark{display:inline-flex;flex:none;align-items:center;gap:var(--space-sm);width:calc(var(--sidebar-width) - var(--space-xl));color:var(--color-ink);text-decoration:none;font-size:26px;font-weight:700;line-height:1.15;white-space:nowrap}.wordmark small{display:block;margin-top:4px;font-size:14px;font-weight:600;letter-spacing:.035em}.brand-symbol{display:grid;place-items:center;width:38px;height:38px;border-radius:var(--radius);color:var(--color-accent);font-size:30px}.breadcrumb{color:var(--color-muted);font-size:var(--text-small)}.breadcrumb span{margin:0 var(--space-sm)}.sign-out,.return-site{margin-left:auto}.return-site{white-space:nowrap;text-decoration:none;font-size:var(--text-small)}.console{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);min-height:calc(100vh - var(--header-height))}.sidebar{position:sticky;top:var(--header-height);display:flex;flex-direction:column;height:calc(100dvh - var(--header-height));padding:var(--space-lg) var(--space-md);border-right:1px solid var(--color-rule);background:var(--color-sidebar);color:var(--color-ink);overflow-y:auto}.nav-group+.nav-group{padding-top:var(--space-md);margin-top:var(--space-md);border-top:1px solid var(--color-rule)}.nav-group h2{padding:0 var(--space-sm) var(--space-xs);font-size:var(--text-small);font-weight:600;color:var(--color-muted)}.nav-group a{display:flex;align-items:center;gap:var(--space-sm);width:100%;min-height:48px;padding:var(--space-xs) var(--space-sm);margin:2px 0;border:1px solid var(--color-clear);border-radius:var(--radius-sm);background:var(--color-clear);color:var(--color-ink);text-align:left;text-decoration:none;white-space:nowrap;font-weight:600}.nav-group a.active{border-color:var(--color-rule);background:var(--color-raised);color:var(--color-accent)}.sidebar-footer{display:flex;align-items:center;justify-content:space-between;min-height:48px;margin-top:auto;padding:var(--space-md) var(--space-sm) 0;color:var(--color-muted);font-size:var(--text-small);text-decoration:none}.page-content{min-width:0;width:100%;max-width:1600px;padding:var(--space-xl) var(--space-2xl) var(--space-3xl)}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);margin-bottom:var(--space-xl)}.eyebrow{margin-bottom:var(--space-xs);color:var(--color-muted);font-size:var(--text-small);font-weight:600}.page-description{margin-top:var(--space-xs);color:var(--color-muted)}.btn,.auth-card>button:not(.auth-link){display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);min-height:48px;max-width:100%;padding:var(--space-xs) var(--space-lg);border:1px solid var(--color-rule);border-radius:var(--radius-sm);background:var(--color-raised);color:var(--color-ink);font-weight:600;line-height:1.5;text-decoration:none;white-space:nowrap;transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.btn-primary,.auth-card>button.btn-primary{background:var(--color-accent);color:var(--color-accent-ink);border-color:var(--color-accent)}.btn-secondary{background:var(--color-raised);color:var(--color-ink)}.btn-quiet{background:var(--color-clear);color:var(--color-muted)}.btn-danger{background:var(--color-clear);color:var(--color-danger)}.btn:active:not(:disabled){transform:translateY(1px)}.workspace{display:grid;gap:var(--space-lg)}.panel,.auth-card,.plan-grid article,.key-list article{min-width:0;padding:var(--space-lg);border:1px solid var(--color-rule);border-radius:var(--radius);background:var(--color-surface);color:var(--color-ink)}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-lg)}.panel-heading>span{color:var(--color-muted);font-size:var(--text-small)}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-md)}.stats article{min-width:0;padding:var(--space-lg);border:1px solid var(--color-rule);border-radius:var(--radius);background:var(--color-surface);color:var(--color-ink)}.stats span,.stats small{display:block;color:var(--color-muted)}.stats span{font-weight:600}.stats b{display:block;margin:var(--space-xs) 0;font-size:34px;font-weight:700;line-height:1.4;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.overview-stats{grid-template-columns:repeat(6,minmax(0,1fr))}.overview-stats article{grid-column:span 2}.overview-stats .stat-compact{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:var(--space-md);grid-column:span 3;padding-block:var(--space-md)}.stat-compact b{grid-column:2;grid-row:1 / span 2;justify-self:end;font-size:28px}.onboarding-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-lg);padding:0;margin:0 0 var(--space-lg);list-style:none}.onboarding-steps li{display:flex;align-items:flex-start;gap:var(--space-sm);min-width:0}.step-number{display:grid;flex:none;width:40px;height:40px;place-items:center;border:1px solid var(--color-rule);border-radius:50%;background:var(--color-raised);color:var(--color-accent);font-weight:700}.onboarding-steps li>div{min-width:0}.onboarding-steps h3{margin-top:5px}.onboarding-steps p{min-height:3.3em;margin:var(--space-xs) 0 var(--space-md);font-size:var(--text-small);color:var(--color-muted)}.onboarding-steps .btn{font-size:var(--text-small);padding-inline:var(--space-md)}.info-line{padding:var(--space-sm) var(--space-md);border-left:2px solid var(--color-accent);border-radius:var(--radius-sm);background:var(--color-raised);color:var(--color-muted);font-size:var(--text-small)}.overview-seats{display:flex;justify-content:space-between;align-items:center;gap:var(--space-lg)}.overview-seats p{max-width:48rem;margin-top:var(--space-xs);color:var(--color-muted);font-size:var(--text-small)}.help-strip{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs);padding:var(--space-md) var(--space-lg);border-top:1px solid var(--color-rule);color:var(--color-muted);font-size:var(--text-small);text-decoration:none}.help-strip strong{color:var(--color-accent);font-weight:600}.auth-card,.purchase{display:grid;gap:var(--space-lg)}.auth-card{width:100%;max-width:680px}.auth-card label,.purchase label{display:grid;gap:var(--space-xs);min-width:0;font-weight:600}input,select,textarea{width:100%;min-height:50px;padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-rule);border-radius:var(--radius-sm);background:var(--color-input);color:var(--color-ink);font-size:var(--text-body);font-weight:500}input::placeholder{color:var(--color-muted)}input:user-invalid,select:user-invalid{border-color:var(--color-danger)}.actions{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.auth-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:var(--space-xs);border:0;background:var(--color-clear);color:var(--color-accent);font-weight:600;white-space:nowrap}.notice{margin:0;padding:var(--space-md) var(--space-lg);border:1px solid var(--color-rule);border-left:3px solid var(--color-accent);border-radius:var(--radius-sm);background:var(--color-raised);color:var(--color-ink);font-size:var(--text-small);overflow-wrap:anywhere}.notice.error,[role=alert]{color:var(--color-danger)}.notice.error{border-left-color:var(--color-danger);background:var(--color-danger-surface)}.secret-panel{display:grid;gap:var(--space-sm)}.secret-panel .btn{justify-self:start}.secret-key{display:block;padding:var(--space-md);border:1px solid var(--color-rule);border-radius:var(--radius-sm);background:var(--color-input);color:var(--color-ink);font-family:var(--font-mono);font-size:var(--text-body);font-weight:500;white-space:pre-wrap;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.loading-panel{display:flex;align-items:center;gap:var(--space-sm);min-height:100px;color:var(--color-muted)}.loading-dot{width:18px;height:18px;flex:none;border:2px solid var(--color-rule);border-top-color:var(--color-accent);border-radius:50%;animation:loading-spin .8s linear infinite}@keyframes loading-spin{to{transform:rotate(360deg)}}.records-panel{min-width:0}.records-panel>.info-line{margin-block:var(--space-md)}.table-scroll{overflow-x:auto;overscroll-behavior-x:contain;margin-block:var(--space-lg);border:1px solid var(--color-rule);border-radius:var(--radius-sm);scrollbar-color:var(--color-rule) var(--color-input)}table{width:100%;border-collapse:collapse;font-size:var(--text-body)}th,td{padding:var(--space-md);text-align:left;border-bottom:1px solid var(--color-rule);vertical-align:top}th{color:var(--color-muted);background:var(--color-input);font-weight:600;white-space:nowrap}td{min-width:9rem;max-width:24rem;overflow-wrap:anywhere}tbody tr:last-child td{border-bottom:0}.identifier-cell{min-width:12rem;font-variant-numeric:tabular-nums}.record-empty{display:grid;justify-items:center;gap:var(--space-sm);padding:var(--space-2xl) var(--space-lg);margin-top:var(--space-lg);border:1px dashed var(--color-rule);border-radius:var(--radius);color:var(--color-ink);text-align:center}.record-empty p{max-width:38rem;color:var(--color-muted);font-size:var(--text-small)}.empty-symbol{display:grid;width:44px;height:44px;place-items:center;border:1px solid var(--color-rule);border-radius:var(--radius-sm);color:var(--color-muted);font-size:28px}.pagination{display:flex;justify-content:center;margin-top:var(--space-lg)}.balance-summary{margin-bottom:var(--space-lg);grid-template-columns:minmax(0,1fr)}.balance-summary article{background:var(--color-input)}.order-items summary{display:flex;align-items:center;min-height:44px;color:var(--color-accent);font-weight:600;cursor:pointer;white-space:nowrap}.order-items summary:before{content:"+";margin-right:var(--space-xs)}.order-items[open] summary:before{content:"−"}.order-items ul{min-width:16rem;padding:0;margin:var(--space-sm) 0;list-style:none}.order-items li{padding-block:var(--space-sm);border-top:1px solid var(--color-rule)}.order-items strong,.order-items span,.order-items b{display:block}.order-items span{font-size:var(--text-small);color:var(--color-muted)}.status-badge{display:inline-flex;align-items:center;padding:2px var(--space-xs);border:1px solid var(--color-rule);border-radius:var(--radius-sm);background:var(--color-raised);color:var(--color-ink);font-size:var(--text-small);font-weight:600;white-space:nowrap}.plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:var(--space-md)}.plan-grid article{display:grid;gap:var(--space-sm)}.plan-grid article.selected-plan{border-color:var(--color-accent)}.plan-period{color:var(--color-accent);font-weight:600}.plan-grid h2{font-size:30px;font-variant-numeric:tabular-nums}.plan-grid p,.form-note{color:var(--color-muted);font-size:var(--text-small)}.form-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:var(--space-lg)}.purchase{max-width:960px}.purchase>.btn{justify-self:start}.purchase-rules{display:grid;gap:var(--space-sm);padding:var(--space-md);border-radius:var(--radius-sm);background:var(--color-input);color:var(--color-muted);font-size:var(--text-small)}.key-management{display:grid;gap:var(--space-lg)}.key-management>.panel-heading{margin-bottom:0}.key-list{display:grid;gap:var(--space-md)}.key-list article{display:grid;gap:var(--space-lg)}.key-heading{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-md)}.key-list dl{display:flex;flex-wrap:wrap;gap:var(--space-md) var(--space-2xl);margin:0}.key-list dl>div{min-width:0}.key-list dt{color:var(--color-muted);font-size:var(--text-small)}.key-list dd{margin:4px 0 0;overflow-wrap:anywhere}.auth-topbar{max-width:1400px;margin-inline:auto;border-bottom-color:var(--color-clear)}.console.auth-screen{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:var(--space-3xl);max-width:1200px;margin-inline:auto;padding:6vh var(--space-xl) var(--space-3xl)}.auth-screen .page-content{max-width:560px;padding:0;justify-self:end}.auth-screen .page-heading{margin-bottom:var(--space-lg)}.auth-screen .auth-card{max-width:none}.auth-screen .auth-card>p:not(.notice){color:var(--color-muted);font-size:var(--text-small)}.auth-screen .auth-card>p[role=alert]{color:var(--color-danger)}.auth-screen .actions>.btn{flex:1}.auth-intro{padding-top:var(--space-xl)}.auth-intro .eyebrow{color:var(--color-accent)}.auth-intro h2{margin:var(--space-lg) 0;font-size:44px;font-weight:700;letter-spacing:-.03em;line-height:1.4}.auth-intro>p{color:var(--color-muted)}.auth-intro ol{display:grid;gap:var(--space-lg);margin:var(--space-2xl) 0;padding:0;list-style:none}.auth-intro li{display:flex;align-items:center;gap:var(--space-md);font-weight:600}.auth-intro li span{display:grid;width:40px;height:40px;place-items:center;border:1px solid var(--color-rule);border-radius:50%;color:var(--color-accent);font-size:var(--text-small)}.auth-intro .intro-note{font-size:var(--text-small)}.registration-policies{display:flex;justify-content:center;flex-wrap:wrap;gap:var(--space-md);margin-top:var(--space-md);font-size:var(--text-small)}.registration-policies a{display:inline-flex;align-items:center;min-height:44px;color:var(--color-muted);white-space:nowrap}@media(hover:hover){.btn:hover:not(:disabled),.auth-card>button:not(.auth-link):hover:not(:disabled){background:var(--color-rule);color:var(--color-ink)}.btn-primary:hover:not(:disabled),.auth-card>button.btn-primary:hover:not(:disabled){background:var(--color-accent-hover);color:var(--color-accent-ink)}.btn-danger:hover:not(:disabled){background:var(--color-danger-surface);color:var(--color-danger)}.nav-group a:hover:not(:disabled){background:var(--color-raised);color:var(--color-accent)}.auth-link:hover{text-decoration:underline}input:hover:not(:disabled),select:hover:not(:disabled){background:var(--color-surface)}}@media(max-width:1200px){.page-content{padding-inline:var(--space-lg)}.onboarding-steps{grid-template-columns:minmax(0,1fr)}.onboarding-steps p{min-height:0}.onboarding-steps li>div{flex:1}.onboarding-steps li{padding-block:var(--space-sm)}}@media(max-width:900px){:root{--sidebar-width:220px}.topbar{padding-inline:var(--space-lg);gap:var(--space-md)}.wordmark{width:calc(var(--sidebar-width) - var(--space-lg))}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-stats article,.overview-stats .stat-compact{grid-column:auto}.overview-stats article:first-child{grid-column:1 / -1}.overview-stats .stat-compact{display:block}.overview-stats .stat-compact b{font-size:34px}.overview-seats,.page-heading{align-items:flex-start;flex-direction:column}.console.auth-screen{gap:var(--space-xl)}.auth-intro h2{font-size:36px}.form-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:767px){:root{--header-height:80px}.topbar{flex-wrap:wrap;padding:var(--space-sm) var(--space-md);gap:var(--space-xs)}.wordmark{width:auto;font-size:22px}.wordmark small{font-size:12px}.brand-symbol{width:32px;height:32px;font-size:26px}.breadcrumb{display:none}.sign-out{padding-inline:var(--space-sm);font-size:var(--text-small)}.console{display:block}.sidebar{position:static;display:block;height:auto;padding:var(--space-sm) var(--space-md);border-right:0;border-bottom:1px solid var(--color-rule);overflow:visible}.sidebar nav{display:flex;gap:var(--space-sm);overflow-x:auto;padding-bottom:var(--space-xs);scrollbar-color:var(--color-rule) var(--color-sidebar)}.nav-group{display:flex;flex:none;gap:4px}.nav-group+.nav-group{margin:0;padding:0 0 0 var(--space-sm);border-top:0;border-left:1px solid var(--color-rule)}.nav-group h2,.sidebar-footer{display:none}.nav-group a{width:auto;font-size:var(--text-body);padding-inline:var(--space-sm)}.nav-group svg{display:none}.page-content{padding:var(--space-lg) var(--space-md) var(--space-2xl)}.page-heading{margin-bottom:var(--space-lg);gap:var(--space-md)}.page-heading>.btn{width:100%}.panel,.auth-card,.plan-grid article,.key-list article{padding:var(--space-lg) var(--space-md)}.panel-heading{flex-direction:column;align-items:flex-start}.overview-seats{align-items:stretch}.stats{grid-template-columns:minmax(0,1fr)}.overview-stats article:first-child{grid-column:auto}.overview-stats .stat-compact{display:grid}.stats article{padding:var(--space-md)}.stats b{font-size:30px}.onboarding-steps .btn{width:100%}.purchase>.btn,.purchase>button,.secret-panel .btn{width:100%}.console.auth-screen{display:block;max-width:560px;padding:var(--space-lg) var(--space-md) var(--space-2xl)}.auth-screen .page-content{max-width:none}.auth-intro{padding:0;margin-bottom:var(--space-lg)}.auth-intro h2,.auth-intro ol,.auth-intro>p:not(.eyebrow){display:none}.auth-intro .eyebrow{margin:0}.auth-topbar{border-bottom-color:var(--color-rule)}.auth-screen .auth-card{gap:var(--space-md)}.auth-screen .actions{flex-direction:column}.auth-screen .auth-card button{font-size:var(--text-body)}.key-list .actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.key-list .actions .btn{padding-inline:var(--space-xs)}.order-items ul{min-width:12rem}.help-strip{padding-inline:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(max-width:767px){.table-scroll{overflow:visible;border:0}table,tbody,tr,td{display:block;width:100%}thead{position:absolute;width:1px;height:1px;overflow:clip;clip-path:inset(50%)}tbody{display:grid;gap:var(--space-md)}tbody tr{padding:var(--space-sm);border:1px solid var(--color-rule);border-radius:var(--radius-sm);background:var(--color-input);color:var(--color-ink)}td,td.identifier-cell{min-width:0;max-width:none;padding:var(--space-sm) 0;border-bottom:1px solid var(--color-rule)}td:before{display:block;margin-bottom:4px;content:attr(data-label);color:var(--color-muted);font-size:var(--text-small);font-weight:600}td:last-child{border-bottom:0}td .btn{width:100%;padding-inline:2px;font-size:var(--text-body)}tbody tr:last-child td:not(:last-child){border-bottom:1px solid var(--color-rule)}}th.action-column,td[data-label=操作]{position:sticky;right:0;z-index:1;border-left:1px solid var(--color-rule);background:var(--color-surface);color:var(--color-ink)}th.action-column{background:var(--color-input);color:var(--color-muted)}@media(max-width:767px){td[data-label=操作]{position:static;border-left:0}}
