:root{color-scheme:light;--bg:#f7f8fa;--surface:#fff;--surface-soft:#f1f2f5;--text:#18181b;--muted:#71717a;--weak:#a1a1aa;--border:#e4e4e7;--brand:#5b5bd6;--brand-hover:#4f4fc4;--brand-soft:#eeeeff;--success:#16803b;--success-soft:#ecfdf3;--danger:#b42318;--danger-soft:#fff1f1;--warning:#b54708;--warning-soft:#fff8eb;--shadow:0 1px 2px rgba(0,0,0,.04);--popover:0 18px 48px rgba(24,24,27,.12)}
[data-theme=dark]{color-scheme:dark;--bg:#0b0c0e;--surface:#111317;--surface-soft:#17191e;--text:rgba(255,255,255,.92);--muted:rgba(255,255,255,.6);--weak:rgba(255,255,255,.4);--border:rgba(255,255,255,.09);--brand:#9290ff;--brand-hover:#aaa8ff;--brand-soft:rgba(91,91,214,.16);--success:#63d58a;--success-soft:rgba(22,128,59,.16);--danger:#ff8a80;--danger-soft:rgba(180,35,24,.16);--warning:#ffc16b;--warning-soft:rgba(181,71,8,.16);--shadow:0 1px 2px rgba(0,0,0,.2);--popover:0 20px 56px rgba(0,0,0,.4)}
*{box-sizing:border-box}html{font-family:Inter,"PingFang SC","Microsoft YaHei","Noto Sans SC",system-ui,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}body{margin:0;min-height:100dvh;background:var(--bg)}button,input,select,textarea{font:inherit;color:inherit}button,a{transition:background-color .18s ease,color .18s ease,border-color .18s ease,opacity .18s ease,transform .18s ease}button{cursor:pointer}button:active{transform:scale(.985)}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--brand);outline-offset:3px}.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:12px;z-index:999;transform:translateY(-150%);padding:10px 14px;border-radius:8px;background:var(--text);color:var(--surface)}.skip-link:focus{transform:none}.brand-mark{width:38px;height:38px;display:block;object-fit:contain}.muted{color:var(--muted)}.weak{color:var(--weak)}.eyebrow{margin:0;color:var(--brand);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 16px;border:1px solid transparent;border-radius:9px;background:transparent;font-weight:650}.button.primary{background:var(--brand);color:#fff}.button.primary:hover{background:var(--brand-hover)}.button.secondary{border-color:var(--border);background:var(--surface)}.button.secondary:hover,.button.ghost:hover{background:var(--surface-soft)}.button.danger{color:var(--danger);background:var(--danger-soft)}.button:disabled{cursor:wait;opacity:.56}.icon-button{width:40px;height:40px;display:grid;place-items:center;border:0;border-radius:9px;background:transparent}.icon-button:hover{background:var(--surface-soft)}.field{display:grid;gap:7px}.field label,.field legend{font-size:12px;font-weight:650}.field input,.field select,.field textarea{width:100%;min-height:44px;padding:0 13px;border:1px solid var(--border);border-radius:10px;background:var(--surface-soft);outline:0}.field textarea{min-height:104px;padding-block:12px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--brand);background:var(--surface);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 16%,transparent)}.field small{color:var(--muted);font-size:11px}.form-grid{display:grid;gap:16px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.message{min-height:20px;margin:0;color:var(--danger);font-size:12px}.message.success{color:var(--success)}.card{border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}.badge{height:24px;display:inline-flex;align-items:center;padding:0 8px;border-radius:6px;background:var(--surface-soft);color:var(--muted);font-size:12px}.badge.pro{background:var(--brand-soft);color:var(--brand)}.badge.success{background:var(--success-soft);color:var(--success)}.badge.warning{background:var(--warning-soft);color:var(--warning)}.empty{padding:56px 24px;text-align:center}.empty h3{margin:0 0 6px;font-size:16px}.empty p{margin:0 0 18px;color:var(--muted)}
.auth-page{min-height:100dvh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(420px,.9fr)}.auth-story{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(36px,6vw,88px);background:#111317;color:#fff}.auth-story:after{content:"";position:absolute;right:-18%;bottom:-30%;width:70%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(91,91,214,.22),transparent 68%);pointer-events:none}.auth-logo{display:flex;align-items:center;gap:11px;font-size:22px;font-weight:700}.auth-logo img{width:40px;height:40px}.auth-copy{position:relative;z-index:1;max-width:680px;margin-block:80px}.auth-copy h1{max-width:620px;margin:14px 0 16px;font-size:clamp(40px,5vw,68px);line-height:1.08;letter-spacing:-.05em}.auth-copy>p{max-width:540px;margin:0;color:rgba(255,255,255,.6);font-size:17px;line-height:1.75}.capabilities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:44px}.capability{padding:16px;border:1px solid rgba(255,255,255,.09);border-radius:12px;background:rgba(255,255,255,.035)}.capability span{width:30px;height:30px;display:grid;place-items:center;margin-bottom:14px;border-radius:8px;background:rgba(146,144,255,.16);color:#b8b6ff}.capability strong{display:block;margin-bottom:5px;font-size:13px}.capability p{margin:0;color:rgba(255,255,255,.5);font-size:11px;line-height:1.6}.auth-note{position:relative;z-index:1;color:rgba(255,255,255,.36);font-size:11px}.auth-panel{display:grid;place-items:center;padding:32px;background:var(--bg)}.auth-card{width:min(100%,440px);padding:34px}.auth-card h2{margin:7px 0 7px;font-size:26px;letter-spacing:-.035em}.auth-card>.muted{margin:0 0 26px}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:20px;padding:4px;border-radius:10px;background:var(--surface-soft)}.auth-tabs button{height:36px;border:0;border-radius:7px;background:transparent;color:var(--muted)}.auth-tabs button[aria-selected=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.auth-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:12px}.auth-link{color:var(--brand);font-weight:650}.auth-submit{width:100%;margin-top:6px}.auth-footer{margin:20px 0 0;padding-top:20px;border-top:1px solid var(--border);text-align:center;color:var(--muted);font-size:12px}.check-row{display:flex;align-items:flex-start;gap:9px;color:var(--muted);font-size:12px}.check-row input{margin-top:2px}.mobile-auth-brand{display:none}
.app-header{position:sticky;top:0;z-index:50;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(14px)}.app-header-inner{max-width:1440px;height:64px;display:flex;align-items:center;gap:24px;margin:auto;padding:0 28px}.app-brand{display:flex;align-items:center;gap:9px;font-size:18px;font-weight:700}.app-brand img{width:34px;height:34px}.app-nav{display:flex;align-items:center;gap:4px}.app-nav a{height:36px;display:flex;align-items:center;padding:0 11px;border-radius:8px;color:var(--muted);font-size:13px}.app-nav a:hover,.app-nav a[aria-current=page]{background:var(--surface-soft);color:var(--text)}.app-actions{display:flex;align-items:center;gap:6px;margin-left:auto}.user-button{height:40px;display:flex;align-items:center;gap:9px;padding:0 8px 0 5px;border:0;border-radius:9px;background:transparent}.user-button:hover{background:var(--surface-soft)}.avatar{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;background:var(--brand-soft);color:var(--brand);font-size:12px;font-weight:750}.mobile-menu{display:none}.portal-main{max-width:1200px;margin:auto;padding:40px 28px 72px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px}.page-heading h1{margin:5px 0 7px;font-size:30px;letter-spacing:-.04em}.page-heading p{margin:0;color:var(--muted)}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.stat{padding:18px}.stat strong{display:block;font-size:24px;font-variant-numeric:tabular-nums}.stat span{color:var(--muted);font-size:12px}.content-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.5fr);gap:16px;margin-top:16px}.section-card{padding:22px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.section-head h2{margin:0;font-size:16px}.list{display:grid;gap:8px}.list-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px;border-radius:10px;background:var(--surface-soft)}.list-row h3{margin:0 0 4px;font-size:14px}.list-row p{margin:0;color:var(--muted);font-size:12px}.plans{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.plan{position:relative;padding:22px;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease,transform .18s ease}.plan.selectable{cursor:pointer}.plan.selectable:hover{border-color:color-mix(in srgb,var(--brand) 48%,var(--border));transform:translateY(-1px)}.plan.selected{border-color:var(--brand);background:color-mix(in srgb,var(--brand-soft) 42%,var(--surface));box-shadow:0 0 0 1px var(--brand)}.plan[role=radio]:focus-visible{outline:2px solid var(--brand);outline-offset:3px}.plan h3{margin:12px 0 6px}.price{margin:18px 0;font-size:30px;font-weight:750;letter-spacing:-.04em}.price small{color:var(--muted);font-size:12px;font-weight:500}.features{display:grid;gap:9px;margin:18px 0 24px;padding:0;list-style:none;color:var(--muted);font-size:12px}.features li:before{content:"✓";margin-right:8px;color:var(--success)}.plan .button{width:100%}.plan-checkout-bar{position:sticky;bottom:16px;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px;padding:14px 16px;box-shadow:var(--popover)}.plan-checkout-bar span,.plan-checkout-bar strong{display:block}.plan-checkout-bar span{margin-bottom:3px;color:var(--muted);font-size:11px}.plan-checkout-bar strong{font-size:14px}.stepper{display:flex;gap:8px;margin-bottom:24px}.stepper span{height:4px;flex:1;border-radius:999px;background:var(--border)}.stepper span.active{background:var(--brand)}.onboarding{max-width:760px;margin:auto}.onboarding .card{padding:28px}.choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.choice{position:relative}.choice input{position:absolute;opacity:0}.choice span{min-height:44px;display:flex;align-items:center;justify-content:center;padding:8px;border:1px solid var(--border);border-radius:9px;color:var(--muted);text-align:center}.choice input:checked+span{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}.form-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px}.form-actions-end{display:flex;align-items:center;justify-content:flex-end;gap:10px}.skip-note{margin:12px 0 0;color:var(--muted);font-size:11px;text-align:right}.modal-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:rgba(0,0,0,.48)}.modal{width:min(100%,460px);padding:26px}.modal h2{margin:0 0 8px}.modal p{color:var(--muted)}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}
@media(max-width:1100px){.auth-page{grid-template-columns:1fr 420px}.capabilities{grid-template-columns:1fr}.capability{display:grid;grid-template-columns:30px 1fr;gap:0 12px}.capability span{grid-row:1/3;margin:0}.capability strong{margin:0}.app-nav{display:none}.mobile-menu{display:grid}.plans{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.auth-page{display:block}.auth-story{display:none}.auth-panel{min-height:100dvh;padding:20px}.mobile-auth-brand{display:flex;align-items:center;gap:9px;margin-bottom:24px;font-size:19px;font-weight:700}.mobile-auth-brand img{width:36px;height:36px}.auth-card{padding:24px}.app-header-inner{padding:0 16px}.user-button span:not(.avatar),.user-button .badge{display:none}.portal-main{padding:28px 16px 56px}.page-heading{align-items:flex-start;flex-direction:column}.page-heading h1{font-size:26px}.content-grid,.form-grid.two{grid-template-columns:1fr}.plans{grid-template-columns:1fr}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.stats-grid{grid-template-columns:1fr}.choice-grid{grid-template-columns:1fr}.auth-actions{align-items:flex-start;flex-direction:column}.auth-card{padding:21px}}
.result-stack{display:grid;gap:14px;margin-top:22px}.result-summary,.result-card{padding:20px}.result-summary h2{margin:10px 0 6px}.result-summary p{margin:0;color:var(--muted)}.result-card{display:grid;grid-template-columns:74px 1fr;gap:20px}.result-card h3{margin:5px 0}.score-ring{width:68px;height:68px;display:grid;place-items:center;border-radius:50%;background:var(--brand-soft);color:var(--brand);font-size:22px;font-weight:750}.score-ring small{font-size:11px}.reason-list,.row-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.compare{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px;border-radius:10px;background:var(--surface-soft)}.compare span{color:var(--weak);font-size:11px}.compare p{margin:5px 0}.compare small{color:var(--muted)}.admin-layout{display:grid;grid-template-columns:180px minmax(0,1fr);gap:16px}.admin-nav{height:max-content;position:sticky;top:82px;display:grid;gap:4px;padding:8px}.admin-nav a{padding:10px 12px;border-radius:8px;color:var(--muted);font-size:13px}.admin-nav a:hover,.admin-nav a.active{background:var(--brand-soft);color:var(--brand)}.admin-table-wrap{overflow:auto}.admin-table{width:100%;min-width:820px;border-collapse:collapse}.admin-table th,.admin-table td{padding:12px;border-bottom:1px solid var(--border);text-align:left}.admin-table th{color:var(--muted);font-size:11px}.admin-table td{font-size:12px}.admin-table td small{display:block;margin-top:4px;color:var(--muted)}.pager{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:18px;color:var(--muted);font-size:12px}.pager .disabled{pointer-events:none;opacity:.45}.metric-list p{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border)}.inline-fields{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.inline-fields label{display:grid;gap:4px;color:var(--muted);font-size:10px}.inline-fields input{width:78px;height:38px;padding:0 8px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.payment-qr{width:min(100%,300px);margin:auto;border-radius:12px}.section-card h2{margin-top:0}
@media(max-width:760px){.admin-layout{grid-template-columns:1fr}.admin-nav{position:static;display:flex;overflow-x:auto}.admin-nav a{white-space:nowrap}.compare{grid-template-columns:1fr}.result-card{grid-template-columns:1fr}.inline-fields{align-items:stretch}.inline-fields label{flex:1}.inline-fields input{width:100%}}
[hidden]{display:none!important}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
#userMenu{max-height:calc(100dvh - 76px);overflow:auto}.mobile-navigation{display:flex;gap:6px;padding:10px;margin-bottom:16px;overflow-x:auto}.mobile-navigation a{white-space:nowrap}
.profile-summary{padding:18px;margin-top:22px}.account-links{display:grid;gap:8px}.account-links a{display:flex;justify-content:space-between;gap:18px;padding:13px 14px;border-radius:10px;background:var(--surface-soft);color:var(--text);text-decoration:none;transition:background .16s ease,transform .16s ease}.account-links a:hover{background:var(--brand-soft);transform:translateY(-1px)}.account-links strong{font-size:13px}.account-links span{color:var(--muted);font-size:12px;text-align:right}
.row-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.narrow-form{max-width:620px}.membership-hero{margin-bottom:18px;padding:28px}.membership-hero h2{margin:14px 0 6px}.membership-hero p{margin:0;color:var(--muted)}.quota-progress{height:7px;margin:18px 0 10px;overflow:hidden;border-radius:4px;background:var(--surface-soft)}.quota-progress span{display:block;height:100%;border-radius:inherit;background:var(--brand)}.checkout-price{margin:10px 0;font-size:30px}.payment-qr{display:block;width:min(100%,300px);margin:24px auto;border-radius:12px}.privacy-note{font-size:12px}.order-row>div:last-child{display:grid;justify-items:end;gap:8px}
@media(max-width:760px){.account-links a{display:grid}.account-links span{text-align:left}.list-row{align-items:flex-start}.row-actions{justify-content:flex-start}.order-row{display:grid}.order-row>div:last-child{justify-items:start}}
@media(max-width:760px){.form-actions{align-items:stretch;flex-direction:column-reverse}.form-actions-end{display:grid;grid-template-columns:1fr 1fr}.form-actions>div:first-child .button{width:100%}.skip-note{text-align:left}.plan-checkout-bar{bottom:10px}.plan-checkout-bar .button{min-width:120px}}
.onboarding-skip-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:-8px -8px 24px;padding:12px 14px;border-radius:11px;background:var(--surface-soft)}.onboarding-skip-bar strong,.onboarding-skip-bar span{display:block}.onboarding-skip-bar strong{font-size:13px}.onboarding-skip-bar span{margin-top:3px;color:var(--muted);font-size:11px}.onboarding-skip-bar .button{flex:none}
@media(max-width:760px){.onboarding-skip-bar{align-items:stretch;flex-direction:column}.onboarding-skip-bar .button{width:100%}.form-actions-end{display:block}.form-actions-end .button{width:100%}}
:root:not([data-theme=dark]){--muted:#62626b;--weak:#71717a}
