.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;display:flex;max-width:100%;max-height:100%;z-index:1000}.cdk-overlay-backdrop{position:absolute;inset:0;pointer-events:auto;-webkit-tap-highlight-color:transparent;opacity:0;touch-action:manipulation;z-index:1000;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}@media(prefers-reduced-motion){.cdk-overlay-backdrop{transition-duration:1ms}}.cdk-overlay-backdrop-showing{opacity:1}@media(forced-colors:active){.cdk-overlay-backdrop-showing{opacity:.6}}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing,.cdk-high-contrast-active .cdk-overlay-transparent-backdrop{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;display:flex;flex-direction:column;min-width:1px;min-height:1px;z-index:1000}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}.cdk-overlay-popover{background:none;border:none;padding:0;outline:0;overflow:visible;position:fixed;pointer-events:none;white-space:normal;color:inherit;text-decoration:none;width:100%;height:100%;inset:0 auto auto 0}.cdk-overlay-popover::backdrop{display:none}.cdk-overlay-popover .cdk-overlay-backdrop{position:fixed;z-index:auto}:root{--bg: #fafafa;--surface: #ffffff;--surface-2: #f6f6f6;--surface-3: #efefef;--border: #ececec;--border-strong: #dedede;--dot: #e3e3e3;--text: #111111;--text-2: #4b4b4b;--muted: #8b8b8b;--accent: #e5483b;--accent-hover: #d43d30;--accent-soft: #fdeeec;--accent-border: #f6c3bd;--accent-ring: rgba(229, 72, 59, .18);--dark: #111111;--green: #16a34a;--green-soft: #effcf3;--green-border: #b9efcb;--amber: #c2610c;--amber-soft: #fff6eb;--amber-border: #fcd9ad;--blue: #2563eb;--blue-soft: #f0f5ff;--blue-border: #c6d7fd;--violet: #7c3aed;--violet-soft: #f6f2ff;--violet-border: #dccffd;--red: #dc2626;--red-soft: #fef2f2;--red-border: #fbcaca;--neutral: #5b5b5b;--neutral-soft: #f4f4f5;--neutral-border: #e2e2e5;--radius-sm: 7px;--radius: 10px;--radius-lg: 14px;--shadow-sm: 0 1px 2px rgba(17, 17, 17, .04);--shadow: 0 1px 2px rgba(17, 17, 17, .04), 0 4px 18px rgba(17, 17, 17, .04);--shadow-lg: 0 18px 50px rgba(17, 17, 17, .12), 0 2px 8px rgba(17, 17, 17, .05);--font: "Inter", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;--ease: cubic-bezier(.2, .8, .2, 1)}*,*:before,*:after{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.45;font-feature-settings:"cv11","ss01";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1,h2,h3,h4,p{margin:0}h1{font-size:26px;font-weight:600;letter-spacing:-.025em;line-height:1.15}h2{font-size:15px;font-weight:600;letter-spacing:-.01em}:root:lang(zh) :is(h1,h2,h3,h4){letter-spacing:0!important}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}img{display:block;max-width:100%}::selection{background:var(--accent-soft);color:var(--accent-hover)}.mono{font-family:var(--mono);font-size:.92em;letter-spacing:-.01em}.muted{color:var(--muted)}.tabular{font-variant-numeric:tabular-nums}.dotted{background-color:var(--bg);background-image:radial-gradient(var(--dot) 1px,transparent 1px);background-size:18px 18px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:36px;padding:0 14px;border:1px solid transparent;border-radius:8px;background:var(--surface-3);color:var(--text);font-size:14px;font-weight:500;letter-spacing:-.005em;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .15s var(--ease),border-color .15s var(--ease),box-shadow .15s var(--ease),transform .1s var(--ease)}.btn:hover{background:#e6e6e6}.btn:active{transform:scale(.98)}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--accent-ring)}.btn:disabled{opacity:.5;pointer-events:none}.btn app-icon{flex:none}.btn-wechat{background:#07c160;color:#fff;box-shadow:0 6px 18px -8px #07c160cc}.btn-wechat:hover{background:#06ad56}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 6px 18px -6px #e5483bb3,inset 0 1px #ffffff2e}.btn-primary:hover{background:var(--accent-hover)}.btn-dark{background:var(--dark);color:#fff;box-shadow:inset 0 1px #ffffff1f}.btn-dark:hover{background:#2a2a2a}.btn-outline{background:var(--surface);border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.btn-outline:hover{background:var(--surface-2)}.btn-ghost{background:transparent;color:var(--text-2)}.btn-ghost:hover{background:var(--surface-3);color:var(--text)}.btn-danger{background:var(--red);color:#fff}.btn-danger:hover{background:#c51f1f}.btn-sm{height:30px;padding:0 10px;font-size:13px;gap:6px;border-radius:7px}.btn-lg{height:44px;padding:0 20px;font-size:15px;border-radius:9px}.btn-icon{width:32px;height:32px;padding:0}.btn-icon.btn-sm{width:28px;height:28px}.btn-dashed{background:var(--accent-soft);color:var(--accent);border:1px dashed var(--accent-border)}.btn-dashed:hover{background:#fbe2df}.pill{--tone: var(--neutral);--tone-soft: var(--neutral-soft);--tone-border: var(--neutral-border);display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 9px 0 8px;border-radius:999px;border:1px solid var(--tone-border);background:var(--tone-soft);color:var(--tone);font-size:12.5px;font-weight:500;white-space:nowrap;line-height:1}.pill:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 0 2.5px color-mix(in srgb,currentColor 18%,transparent)}.pill.no-dot:before{display:none}.chip.fitted.sku{border-color:var(--amber-border);background:var(--amber-soft);color:var(--amber)}.chip.fitted{gap:4px;border-color:var(--blue-border);background:var(--blue-soft);color:var(--blue);font-family:inherit;text-decoration:none}.kind{display:inline-flex;align-items:center;height:20px;padding:0 6px;border:1px solid var(--tone-border);border-radius:5px;background:var(--tone-soft);color:var(--tone);font-size:11px;font-weight:600;white-space:nowrap;vertical-align:middle}.tone-neutral{--tone: var(--neutral);--tone-soft: var(--neutral-soft);--tone-border: var(--neutral-border)}.tone-green{--tone: var(--green);--tone-soft: var(--green-soft);--tone-border: var(--green-border)}.tone-amber{--tone: var(--amber);--tone-soft: var(--amber-soft);--tone-border: var(--amber-border)}.tone-blue{--tone: var(--blue);--tone-soft: var(--blue-soft);--tone-border: var(--blue-border)}.tone-violet{--tone: var(--violet);--tone-soft: var(--violet-soft);--tone-border: var(--violet-border)}.tone-red{--tone: var(--red);--tone-soft: var(--red-soft);--tone-border: var(--red-border)}.chip{display:inline-flex;align-items:center;height:22px;padding:0 7px;border-radius:6px;border:1px solid var(--border);background:var(--surface-2);color:var(--text-2);font-family:var(--mono);font-size:11.5px;font-weight:500;white-space:nowrap}.badge-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:6px;background:var(--surface-3);color:var(--text-2);font-size:12px;font-weight:500;font-variant-numeric:tabular-nums}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card-head{display:flex;align-items:center;gap:10px;min-height:52px;padding:10px 16px;border-bottom:1px solid var(--border)}.card-head h2{display:flex;align-items:center;gap:8px}.card-head .spacer,.spacer{flex:1}.field{display:flex;flex-direction:column;gap:6px}.label{font-size:12.5px;font-weight:500;color:var(--text-2)}.hint{font-size:12px;color:var(--muted)}.input,.textarea,.select{width:100%;height:36px;padding:0 11px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface);font-size:14px;outline:none;transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}.input::placeholder,.textarea::placeholder,.select::placeholder{color:#b3b3b3}.input:hover,.textarea:hover,.select:hover{border-color:#cfcfcf}.input:focus,.textarea:focus,.select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.textarea{height:auto;min-height:84px;padding:9px 11px;resize:vertical;line-height:1.5}.input[type=date]{font-family:var(--mono);font-size:13px}.input-sm{height:30px;font-size:13px;padding:0 9px;border-radius:7px}.inline-input{width:100%;padding:3px 6px;margin:-3px -6px;border:1px solid transparent;border-radius:7px;background:transparent;outline:none;transition:border-color .15s,background-color .15s}.inline-input:hover{background:var(--surface-2)}.inline-input:focus{background:var(--surface);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.segmented{display:inline-flex;gap:2px;padding:3px;border-radius:9px;background:var(--surface-3)}.segmented button{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 12px;border:0;border-radius:7px;background:transparent;color:var(--text-2);font-size:13px;font-weight:500;cursor:pointer;transition:background-color .15s var(--ease),color .15s var(--ease),box-shadow .15s var(--ease)}.segmented button:hover{color:var(--text)}.segmented button.active{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #0000000f,0 0 0 1px #00000008}.segmented button .badge-count{height:18px;min-width:18px;font-size:11px;background:#0000000d}.page{max-width:1280px;margin:0 auto;padding:28px 32px 64px}.page-head{display:flex;align-items:flex-end;flex-wrap:wrap;gap:16px;margin-bottom:24px}.page-head .sub{margin-top:6px;color:var(--text-2)}.crumbs{display:flex;align-items:center;gap:6px;margin-bottom:14px;color:var(--muted);font-size:13px}.crumbs a:hover{color:var(--text)}.crumbs app-icon{color:#c4c4c4}.empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:56px 24px;text-align:center;color:var(--text-2)}.empty .empty-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);color:var(--accent);margin-bottom:6px}.empty h3{font-size:16px;font-weight:600;color:var(--text)}.empty p{max-width:380px}@media(max-width:760px){.page{padding:20px 16px 48px}}.menu{min-width:180px;padding:5px;border-radius:11px;border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-lg);animation:pop-in .14s var(--ease);outline:none}.menu-item{display:flex;align-items:center;gap:9px;width:100%;height:34px;padding:0 10px;border:0;border-radius:7px;background:transparent;font-size:13.5px;text-align:left;cursor:pointer;outline:none}.menu-item:hover,.menu-item:focus-visible{background:var(--surface-2)}.menu-item.danger{color:var(--red)}.menu-item .check{margin-left:auto;color:var(--accent)}.menu-sep{height:1px;margin:5px 4px;background:var(--border)}.menu-label{padding:6px 10px 4px;font-size:11.5px;font-weight:500;color:var(--muted)}.lightbox-backdrop{background:#0a0a0ae6;animation:fade-in .15s var(--ease)}.lightbox-pane .cdk-dialog-container{outline:none}.cdk-overlay-dark-backdrop.dialog-backdrop{background:#14141447;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.dialog{width:min(480px,100vw - 32px);border-radius:16px;background:var(--surface);box-shadow:var(--shadow-lg);animation:pop-in .18s var(--ease);overflow:hidden}.dialog .dialog-head{padding:20px 22px 0}.dialog .dialog-head p{margin-top:4px;color:var(--text-2)}.dialog .dialog-body{display:flex;flex-direction:column;gap:16px;padding:18px 22px 22px}.dialog .dialog-foot{display:flex;justify-content:flex-end;gap:8px;padding:14px 22px;border-top:1px solid var(--border);background:var(--surface-2)}@keyframes pop-in{0%{opacity:0;transform:translateY(4px) scale(.98)}}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin .9s linear infinite}.page-drop{position:fixed;inset:0;z-index:50;pointer-events:none;background:#e5483b0a;box-shadow:inset 0 0 0 3px var(--accent);animation:fade-in .15s var(--ease)}.page-drop-card{position:absolute;top:76px;left:50%;display:flex;align-items:flex-start;gap:12px;width:min(560px,100vw - 32px);padding:14px 16px;border-radius:14px;background:var(--dark);color:#fff;box-shadow:var(--shadow-lg);transform:translate(-50%)}.page-drop-card app-icon{margin-top:1px;color:#ff8a80}.page-drop-card div{display:flex;flex-direction:column;gap:3px}.page-drop-card span{color:#c9c9c9;font-size:13px}@keyframes fade-in{0%{opacity:0}}.swatches{display:flex;flex-wrap:wrap;gap:8px}.swatches button{width:24px;height:24px;padding:0;border-radius:50%;border:2px solid var(--surface);box-shadow:0 0 0 1px var(--border-strong);cursor:pointer;transition:box-shadow .15s var(--ease)}.swatches button.active{box-shadow:0 0 0 2px var(--text)}.progress{display:block;height:6px;border-radius:99px;background:var(--surface-3);overflow:hidden}.progress>span{display:block;height:100%;border-radius:inherit;background:var(--accent);transition:width .3s var(--ease)}
