:root{--wl-brand-name:"GEO 控制台";--wl-brand-legal-name:"GEO 控制台";--wl-logo-light:url(/branding/default-logo-light.svg);--wl-logo-dark:url(/branding/default-logo-dark.svg);--wl-favicon:url(/branding/default-favicon.png);--wl-title-suffix:"GEO 控制台";--wl-color-primary:#1b4f72;--wl-color-primary-hover:#163f5b;--wl-color-primary-active:#102e43;--wl-color-primary-bg:#e8f1f6;--wl-color-primary-border:#9bb8c9;--wl-color-secondary:#1d7a6f;--wl-color-secondary-bg:#e6f4f2;--wl-color-sidebar-active-bg:#2a4456;--wl-login-background:linear-gradient(160deg, #1b4f72 0%, #102e43 100%);--wl-login-tagline:"诊断、创作、投喂、追踪，一站完成";--wl-domain:"console.example.com";--wl-copyright:"© 2026 GEO 控制台";--wl-report-letterhead-title:"GEO 控制台";--wl-report-letterhead-logo:var(--wl-logo-light);--wl-report-footer:"© 2026 GEO 控制台　本报告仅供客户内部使用";--wl-report-confidential:"机密　请勿对外转发";--wl-support-text:"如需帮助，请在控制台提交工单";--sys-color-text:#1a1a1a;--sys-color-text-secondary:#5c5c5c;--sys-color-text-muted:#8a8a8a;--sys-color-text-inverse:#fff;--sys-color-border:#e2e2e2;--sys-color-divider:#eee;--sys-color-canvas:#f4f5f7;--sys-color-surface:#fff;--sys-color-sidebar:#1f2430;--sys-color-sidebar-text:#d7d9de;--sys-color-sidebar-active:#fff;--sys-color-mask:#10121673;--sys-color-success:#1f7a4d;--sys-color-success-bg:#e7f6ee;--sys-color-success-border:#b7e0c7;--sys-color-warning:#8a5a00;--sys-color-warning-bg:#fff4d6;--sys-color-warning-border:#f0d48a;--sys-color-danger:#b42318;--sys-color-danger-bg:#fdecea;--sys-color-danger-border:#f3c1bc;--sys-color-info:#185fa5;--sys-color-info-bg:#e8f1fb;--sys-color-info-border:#b9d2ee;--sys-color-neutral:#5c5c5c;--sys-color-neutral-bg:#f2f2f2;--sys-color-neutral-border:#d8d8d8;--sys-color-caliber-api:#3b6a9b;--sys-color-caliber-web-desktop:#3e7a5c;--sys-color-caliber-web-mobile:#6a5a9b;--sys-color-caliber-manual:#8a5a2b;--sys-color-sentiment-pos:#1f7a4d;--sys-color-sentiment-neu:#5c5c5c;--sys-color-sentiment-neg:#b42318;--sys-color-highlight-bg:#fff3b0;--sys-font-sans:"Noto Sans SC", "Source Han Sans SC", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, sans-serif;--sys-font-mono:"IBM Plex Mono", "Noto Sans Mono CJK SC", ui-monospace, monospace;--sys-fs-display:32px;--sys-lh-display:40px;--sys-fs-h1:20px;--sys-lh-h1:28px;--sys-fs-h2:16px;--sys-lh-h2:24px;--sys-fs-body:14px;--sys-lh-body:22px;--sys-fs-table:13px;--sys-lh-table:20px;--sys-fs-caption:12px;--sys-lh-caption:18px;--sys-fs-metric:24px;--sys-lh-metric:32px;--sys-space-1:4px;--sys-space-2:8px;--sys-space-3:12px;--sys-space-4:16px;--sys-space-5:20px;--sys-space-6:24px;--sys-space-8:32px;--sys-space-10:40px;--sys-space-12:48px;--sys-radius-sm:4px;--sys-radius-md:8px;--sys-radius-lg:12px;--sys-radius-full:999px;--sys-shadow-sm:0 1px 2px #1012160f;--sys-shadow-md:0 4px 12px #1012161a;--sys-shadow-lg:0 12px 32px #10121629;--sys-sidebar-width:240px;--sys-sidebar-collapsed:64px;--sys-topbar-height:56px;--sys-content-max:1440px;--sys-bp-sm:768px;--sys-bp-md:1024px;--sys-bp-lg:1280px;--sys-bp-xl:1440px;--sys-motion-duration:.16s;--sys-motion-easing:ease-out;--sys-focus-ring:0 0 0 2px var(--sys-color-surface), 0 0 0 4px var(--wl-color-primary)}
*,:before,:after{box-sizing:border-box}html,body{min-height:100%;margin:0}body{font-family:var(--sys-font-sans);font-size:var(--sys-fs-body);line-height:var(--sys-lh-body);color:var(--sys-color-text);background:var(--sys-color-canvas)}button,input,select{font:inherit;color:inherit}a{color:var(--wl-color-primary)}:focus-visible{box-shadow:var(--sys-focus-ring);outline:none}.skip{left:var(--sys-space-4);background:var(--sys-color-surface);padding:var(--sys-space-2) var(--sys-space-3);z-index:80;position:absolute;top:-40px}.skip:focus{top:var(--sys-space-2)}.shell{background:var(--sys-color-canvas);min-height:100vh;display:flex}.sidebar{width:var(--sys-sidebar-width);background:var(--sys-color-sidebar);color:var(--sys-color-sidebar-text);z-index:20;flex-direction:column;flex-shrink:0;display:flex}.brand{height:var(--sys-topbar-height);align-items:center;gap:var(--sys-space-2);padding:0 var(--sys-space-4);color:var(--sys-color-text-inverse);border-bottom:1px solid #ffffff14;font-weight:600;text-decoration:none;display:flex}.brand img,.login-logo{object-fit:contain;display:block}.nav{padding:var(--sys-space-2) 0 var(--sys-space-4);flex:1;overflow:auto}.nav-row{align-items:stretch;display:flex}.nav-link{align-items:center;gap:var(--sys-space-2);min-height:36px;padding:6px var(--sys-space-4);color:var(--sys-color-sidebar-text);flex:1;text-decoration:none;display:flex}.nav-link:hover,.caret:hover{color:var(--sys-color-text-inverse);background:#ffffff0f}.nav-link[aria-current=page],.nav-row.is-section>.nav-link{background:var(--wl-color-sidebar-active-bg);color:var(--sys-color-sidebar-active)}.nav-sub-link{padding-left:var(--sys-space-10);font-size:var(--sys-fs-table);line-height:var(--sys-lh-table)}.nav-icon{flex-shrink:0;width:16px;height:16px}.nav-label{min-width:0}.coming,.badge{border:1px solid var(--sys-color-neutral-border);border-radius:var(--sys-radius-full);padding:0 var(--sys-space-2);font-size:var(--sys-fs-caption);color:var(--sys-color-text-muted);white-space:nowrap;margin-left:auto;line-height:16px}.sidebar .coming{color:var(--sys-color-sidebar-text);border-color:#ffffff3d}.caret{width:32px;color:var(--sys-color-sidebar-text);cursor:pointer;background:0 0;border:0}.side-foot{padding:var(--sys-space-3) var(--sys-space-4);font-size:var(--sys-fs-caption);line-height:var(--sys-lh-caption);color:var(--sys-color-text-muted);border-top:1px solid #ffffff14;margin:0}.main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{height:var(--sys-topbar-height);align-items:center;gap:var(--sys-space-3);padding:0 var(--sys-space-5);background:var(--sys-color-surface);border-bottom:1px solid var(--sys-color-border);z-index:20;display:flex}.spacer{flex:1}.switch,.balance,.btn{height:32px;padding:0 var(--sys-space-3);border-radius:var(--sys-radius-md);border:1px solid var(--sys-color-border);background:var(--sys-color-surface);color:var(--sys-color-text);cursor:pointer;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.switch:disabled,.btn:disabled{cursor:not-allowed;opacity:.72}.btn-primary{background:var(--wl-color-primary);border-color:var(--wl-color-primary);color:var(--sys-color-text-inverse)}.btn-primary:hover:not(:disabled){background:var(--wl-color-primary-hover);border-color:var(--wl-color-primary-hover)}.btn-ghost{background:0 0}.btn-lg{width:100%;height:40px;font-weight:600}.balance{font-variant-numeric:tabular-nums;font-weight:600}.nav-toggle,.scrim{display:none}.content{padding:var(--sys-space-6);flex:1}.page-head{justify-content:space-between;align-items:center;gap:var(--sys-space-4);margin-bottom:var(--sys-space-5);display:flex}.page-head h1,.placeholder h1,.simple-page h1,.login-card h1{font-size:var(--sys-fs-h1);line-height:var(--sys-lh-h1);margin:0;font-weight:600}.page-head h1{align-items:center;gap:var(--sys-space-2);display:flex}.badge{background:var(--sys-color-neutral-bg);color:var(--sys-color-neutral);margin-left:0}.crumb{margin-bottom:var(--sys-space-2);color:var(--sys-color-text-muted);font-size:var(--sys-fs-caption);line-height:var(--sys-lh-caption)}.crumb ol{gap:var(--sys-space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.crumb li:not(:last-child):after{content:"/";margin-left:var(--sys-space-2)}.card{background:var(--sys-color-surface);border:1px solid var(--sys-color-border);border-radius:var(--sys-radius-lg);padding:var(--sys-space-6)}.card h2{margin:0 0 var(--sys-space-3);font-size:var(--sys-fs-h2);line-height:var(--sys-lh-h2)}.card p{margin:0 0 var(--sys-space-3)}.related{gap:var(--sys-space-4);margin:0;padding:0;list-style:none;display:flex}.user-menu{position:relative}.user-menu summary{cursor:pointer;list-style:none}.user-menu summary::-webkit-details-marker{display:none}.avatar{border-radius:var(--sys-radius-full);background:var(--wl-color-primary);width:28px;height:28px;color:var(--sys-color-text-inverse);font-size:var(--sys-fs-caption);justify-content:center;align-items:center;display:inline-flex}.user-pop{min-width:160px;padding:var(--sys-space-3);background:var(--sys-color-surface);border:1px solid var(--sys-color-border);border-radius:var(--sys-radius-md);box-shadow:var(--sys-shadow-md);z-index:30;position:absolute;top:calc(100% + 8px);right:0}.user-pop p{margin:0 0 var(--sys-space-2)}.user-pop form,.logout-control{margin:var(--sys-space-2) 0 0}.page-actions{margin-top:var(--sys-space-4)}.user-pop button{color:var(--wl-color-primary);cursor:pointer;background:0 0;border:0;padding:0}.dev-role{align-items:center;gap:var(--sys-space-2);color:var(--sys-color-text-secondary);font-size:var(--sys-fs-caption);display:flex}.dev-role select{height:32px;margin-left:var(--sys-space-1);border:1px solid var(--sys-color-border);border-radius:var(--sys-radius-md);background:var(--sys-color-surface)}.login{min-height:100vh;padding:var(--sys-space-8) var(--sys-space-4);background:var(--wl-login-background);justify-content:center;align-items:center;display:flex}.login-card{background:var(--sys-color-surface);border-radius:var(--sys-radius-lg);width:min(400px,100%);box-shadow:var(--sys-shadow-lg);padding:var(--sys-space-10) 36px var(--sys-space-6)}.login-card h1{margin-top:var(--sys-space-4);font-size:22px;line-height:30px}.tagline,.hint,.login-foot{color:var(--sys-color-text-secondary);font-size:var(--sys-fs-table);line-height:var(--sys-lh-table)}.tagline{margin:var(--sys-space-1) 0 var(--sys-space-6)}.hint{margin:0 0 var(--sys-space-4)}.login-tabs{align-items:flex-end;gap:var(--sys-space-2);margin:0 0 var(--sys-space-5);border-bottom:1px solid var(--sys-color-border);display:flex}.tab,.tab-reserved{padding:var(--sys-space-2) 14px;font-size:var(--sys-fs-table);margin-bottom:-1px}.tab{color:var(--sys-color-text);border-bottom:2px solid var(--wl-color-primary);font-weight:600}.tab-reserved{color:var(--sys-color-text-muted);border:1px dashed var(--sys-color-neutral-border);border-radius:var(--sys-radius-md) var(--sys-radius-md) 0 0;background:var(--sys-color-neutral-bg);cursor:not-allowed}.tab-reserved small{font-size:10px;line-height:14px;display:block}.field{margin-bottom:var(--sys-space-4)}.field label{margin-bottom:6px;display:block}.field input{width:100%;height:40px;padding:0 var(--sys-space-3);border:1px solid var(--sys-color-border);border-radius:var(--sys-radius-md);background:var(--sys-color-surface)}.field input:focus{border-color:var(--wl-color-primary-border)}.code-row{gap:var(--sys-space-2);display:flex}.code-row input{flex:1}.code-row .btn{height:40px}.form-error{min-height:22px;margin:0 0 var(--sys-space-3);color:var(--sys-color-danger);font-size:var(--sys-fs-caption);line-height:var(--sys-lh-caption)}.form-error p{margin:0}.agree{gap:var(--sys-space-2);margin:0 0 var(--sys-space-5);color:var(--sys-color-text-secondary);font-size:var(--sys-fs-caption);line-height:var(--sys-lh-caption);align-items:flex-start;display:flex}.login-foot{margin-top:var(--sys-space-6);text-align:center}.login-foot p{margin:var(--sys-space-2) 0 0}.simple-page{max-width:720px;padding:var(--sys-space-12) var(--sys-space-6);margin:0 auto}@media (max-width:1023px){.nav-toggle{display:inline-flex}.sidebar{transition:transform var(--sys-motion-duration) var(--sys-motion-easing);position:fixed;inset:0 auto 0 0;transform:translate(-105%)}.sidebar.is-open{transform:none}.scrim{background:var(--sys-color-mask);z-index:30;border:0;display:block;position:fixed;inset:0}.sidebar.is-open{z-index:40}.dev-role{display:none}}
