.layout[data-v-19678e9f]{background:#14110e;height:100vh;display:flex}.layout.bare[data-v-19678e9f]{display:block}.sidebar[data-v-19678e9f]{background:#1b1915;border-right:1px solid #29251e;flex-direction:column;flex-shrink:0;width:190px;padding:18px 12px;display:flex}.brand[data-v-19678e9f]{align-items:baseline;gap:8px;padding:0 8px 16px;display:flex}.brand-mark[data-v-19678e9f]{color:#e8b25a;letter-spacing:.08em;font-size:20px;font-weight:700}.brand-sub[data-v-19678e9f]{color:#8a7e6c;letter-spacing:.2em;font-size:11px}.nav[data-v-19678e9f]{flex-direction:column;gap:4px;display:flex}.nav-item[data-v-19678e9f]{color:#c9bba6;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:9px 12px;font-size:13px;text-decoration:none;display:block}.nav-item.on[data-v-19678e9f]{color:#e8b25a;background:#2a241c}.nav-item[data-v-19678e9f]:hover{color:#f2e6cf}.pwd-btn[data-v-19678e9f]{margin-top:4px}.sidebar-meta[data-v-19678e9f]{color:#8a7e6c;margin:14px 8px 2px;font-size:12px}.sidebar-foot[data-v-19678e9f]{color:#5f5748;margin-top:auto;padding:0 8px;font-size:11px}.content[data-v-19678e9f]{background:#14110e;flex:1;min-width:0;overflow:auto}.content.bare[data-v-19678e9f]{height:100vh}.pwd-mask[data-v-19678e9f]{z-index:90;background:rgba(0,0,0,.55);justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.pwd-card[data-v-19678e9f]{background:#1f1a15;border:1px solid #3a3128;border-radius:12px;flex-direction:column;gap:10px;width:300px;padding:18px;display:flex}.pwd-card b[data-v-19678e9f]{color:#ede3d3;font-size:14px}.pwd-card input[data-v-19678e9f]{color:#ede3d3;background:#171310;border:1px solid #3a3128;border-radius:8px;padding:8px 10px;font-size:13px}.pwd-ops[data-v-19678e9f]{justify-content:flex-end;gap:8px;display:flex}.pwd-ops button[data-v-19678e9f]{color:#c9bba6;cursor:pointer;background:0 0;border:1px solid #3a3128;border-radius:8px;padding:7px 14px}.pwd-ops button.primary[data-v-19678e9f]{color:#17110b;background:#b08d54;border-color:#b08d54}.pwd-msg[data-v-19678e9f]{color:#ff8a8a;font-size:12px}.login-page[data-v-a5d6b388]{background:#17110b url(/vite.svg) 0 0/0 no-repeat;justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card[data-v-a5d6b388]{text-align:center;background:#fffdf8;border:1px solid #e6ddcb;border-radius:18px;width:320px;padding:34px 28px 28px;box-shadow:0 18px 50px rgba(23,17,11,.18)}.login-brand[data-v-a5d6b388]{letter-spacing:.12em;color:#2a241c;font-size:17px;font-weight:600}.login-sub[data-v-a5d6b388]{letter-spacing:.3em;color:#a5834a;margin:8px 0 26px;font-size:11px}.login-input[data-v-a5d6b388]{color:#2a241c;background:#faf7ef;border:1px solid #e3dcc8;border-radius:10px;outline:none;width:100%;margin-bottom:12px;padding:11px 14px;font-size:14px}.login-input[data-v-a5d6b388]:focus{background:#fff;border-color:#c9a962}.login-btn[data-v-a5d6b388]{width:100%;margin-top:6px}.login-err[data-v-a5d6b388]{color:#b3483a;margin-top:12px;font-size:12px}.sv-redirect[data-v-1e9e69c9]{color:#f0e9dd;background:#0f0d0a;flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:100vh;display:flex}.sv-redirect-brand[data-v-1e9e69c9]{letter-spacing:.4em;color:#c9a962;font-size:13px}.sv-redirect-text[data-v-1e9e69c9]{letter-spacing:.2em;color:rgba(240,233,221,.5);font-size:11px}.picker-card{position:relative}.pk-img-box{background:#f8f5ee;width:100%;padding-top:100%;position:relative;overflow:hidden}.pk-img-box img{object-fit:cover;width:100%;height:100%;display:block;position:absolute;top:0;bottom:0;left:0;right:0}.picker-card img{object-fit:cover;width:100%;height:100%;display:block}*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f5f4f1;--panel:#fff;--line:#e5e2dc;--ink:#1f1d1a;--ink-2:#6b675f;--gold:#b08d54;--gold-deep:#8a6a3c;--side-bg:#14110d;--side-ink:#c9c2b6}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:HarmonyOS Sans SC,PingFang SC,Microsoft YaHei,sans-serif}.layout{min-height:100vh;display:flex}.layout.bare{background:#14110e;height:100vh;display:block;overflow:hidden}.content.bare{height:100vh;padding:0;overflow:hidden}.sidebar{background:var(--side-bg);flex-direction:column;width:200px;height:100vh;display:flex;position:-webkit-sticky;position:sticky;top:0}.brand{border-bottom:1px solid rgba(255,255,255,.08);padding:22px 20px 18px}.brand-mark{letter-spacing:.2em;color:#e8c489;font-size:18px;font-weight:700}.brand-sub{letter-spacing:.3em;color:rgba(201,194,182,.5);margin-top:4px;font-size:11px;display:block}.nav{flex-direction:column;flex:1;gap:4px;padding:14px 10px;display:flex}.nav-item{color:var(--side-ink);letter-spacing:.08em;border-radius:6px;padding:11px 14px;font-size:13px;text-decoration:none;transition:background .2s;display:block}.nav-item:hover{background:rgba(255,255,255,.06)}.nav-item.on{color:#e8c489;background:rgba(232,196,137,.14)}.sidebar-foot{color:rgba(201,194,182,.35);letter-spacing:.1em;padding:16px 20px;font-size:10px}.content{flex:1;min-width:0;padding:28px 32px}.page-title{letter-spacing:.06em;margin-bottom:4px;font-size:20px;font-weight:700}.page-sub{color:var(--ink-2);margin-bottom:22px;font-size:12px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:20px 22px}.panel+.panel{margin-top:16px}.panel-title{letter-spacing:.05em;margin-bottom:14px;font-size:14px;font-weight:600}.panel-desc{color:var(--ink-2);margin-bottom:12px;font-size:11px;line-height:1.8}.field{margin-bottom:14px}.field label{color:var(--ink-2);letter-spacing:.06em;margin-bottom:6px;font-size:12px;display:block}.field input,.field textarea,.field select{border:1px solid var(--line);width:100%;color:var(--ink);background:#fbfaf8;border-radius:6px;outline:none;padding:9px 12px;font-family:inherit;font-size:13px;transition:border-color .2s}.field input:focus,.field textarea:focus{border-color:var(--gold);background:#fff}.field textarea{resize:vertical;min-height:90px;line-height:1.7}.btn{border:1px solid var(--line);color:var(--ink);cursor:pointer;letter-spacing:.06em;background:#fff;border-radius:6px;padding:10px 22px;font-size:13px;transition:all .2s}.btn:hover{border-color:var(--gold);color:var(--gold-deep)}.btn-primary{background:var(--gold);border-color:var(--gold);color:#fff}.btn-primary:hover{background:var(--gold-deep);border-color:var(--gold-deep);color:#fff}.btn:disabled{opacity:.5;cursor:not-allowed}.msg-ok{color:#4a7a52;margin-top:12px;font-size:12px}.msg-err{color:#a0443c;margin-top:12px;font-size:12px}.empty{text-align:center;color:var(--ink-2);padding:40px;font-size:13px}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.input-inline{border:1px solid var(--line);background:#fbfaf8;border-radius:6px;outline:none;padding:9px 12px;font-family:inherit;font-size:13px}.input-inline:focus{border-color:var(--gold)}.btn-xs{padding:4px 10px;font-size:11px}.btn-lg{padding:13px 40px;font-size:14px}.cus-list{flex-direction:column;gap:8px;margin-top:14px;display:flex}.cus-item{border:1px solid var(--line);cursor:pointer;background:#fbfaf8;border-radius:8px;align-items:center;gap:12px;padding:12px 14px;display:flex}.cus-item.on{border-color:var(--gold);background:#f8f1e3}.cus-name{font-size:14px;font-weight:600}.cus-meta{color:var(--ink-2);flex:1;font-size:11px}.cus-hint{color:var(--ink-2);margin-top:12px;font-size:12px}.form-summary{background:#f8f1e3;border-radius:8px;margin-top:14px;padding:12px 14px}.prod-list{flex-direction:column;gap:8px;max-height:420px;margin-top:14px;display:flex;overflow:auto}.prod-item{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:12px;padding:10px 12px;display:flex}.prod-item.on{border-color:var(--gold);background:#f8f1e3}.prod-img{object-fit:cover;background:#f0eeea;border-radius:6px;flex-shrink:0;width:56px;height:56px}.prod-info{flex:1;min-width:0}.prod-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.5;display:-webkit-box;overflow:hidden}.prod-meta{color:var(--ink-2);margin-top:4px;font-size:11px}.prod-check{color:transparent;border:2px solid #d5d0c6;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;display:flex}.prod-item.on .prod-check{background:var(--gold);border-color:var(--gold);color:#fff}.page-head{justify-content:space-between;align-items:flex-start;display:flex}.page-actions{gap:8px;display:flex}.proposal-list{flex-direction:column;gap:8px;display:flex}.proposal-item{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;justify-content:space-between;align-items:center;padding:14px 16px;transition:border-color .2s;display:flex}.proposal-item:hover{border-color:var(--gold)}.pi-main{align-items:center;gap:14px;display:flex}.pi-no{color:var(--gold-deep);letter-spacing:.05em;font-weight:700}.pi-name{font-size:14px;font-weight:600}.pi-meta{color:var(--ink-2);font-size:11px}.pi-side{align-items:center;gap:10px;display:flex}.pi-score{width:34px;height:34px;color:var(--ink-2);background:#f0eeea;border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.pi-score.ok{color:#3f7a4a;background:#e3efe4}.pi-arrow{color:#c9c2b6;font-size:20px}.gen-actions{flex-wrap:wrap;gap:8px;display:flex}.task-list{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.task-chip{color:var(--ink-2);background:#f0eeea;border-radius:12px;padding:4px 10px;font-size:10px}.task-chip.done{color:#3f7a4a;background:#e3efe4}.task-chip.failed{color:#a0443c;background:#f6e3e0}.img-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;display:grid}.img-card{border:1px solid var(--line);border-radius:8px;position:relative;overflow:hidden}.img-card img{aspect-ratio:3/4;object-fit:cover;width:100%;display:block}.img-tag{color:#e8c489;background:rgba(20,17,13,.7);border-radius:10px;padding:3px 8px;font-size:10px;position:absolute;top:8px;left:8px}.copy-preview{flex-direction:column;gap:10px;display:flex}.copy-block{border:1px solid var(--line);border-radius:6px;overflow:hidden}.copy-key{color:var(--gold-deep);background:#f8f1e3;padding:8px 12px;font-size:12px;font-weight:600}.copy-val{white-space:pre-wrap;word-break:break-all;color:var(--ink-2);max-height:220px;padding:10px 12px;font-size:11px;line-height:1.7;overflow:auto}.q-score{color:#a0443c;font-size:42px;font-weight:700}.q-score.pass{color:#3f7a4a}.q-score small{color:var(--ink-2);font-size:16px}.q-status{margin-top:6px;font-size:13px}.q-problems{color:#a0443c;margin-top:10px;padding-left:18px;font-size:12px;line-height:1.9}.review-preview{border:1px solid var(--line);border-radius:10px;margin-top:12px;overflow:hidden}.review-preview iframe{background:#0f0d0a;border:none;width:100%;height:520px}.review-status{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.r-chip{color:var(--ink-2);border:1px solid var(--line);background:#f2efe9;border-radius:14px;padding:6px 12px;font-size:11px}.r-chip.ok{color:#3f7a4a;background:#e9f3ea;border-color:#c4ddc8}.review-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;display:flex}.review-input{border:1px solid var(--line);border-radius:8px;flex:1;min-width:200px;padding:10px 14px;font-family:inherit;font-size:13px}.sv{background:#0f0d0a;min-height:100vh;padding-bottom:40px}.sv-screen{min-height:70vh;padding:56px 28px 48px}.sv-text{color:rgba(240,233,221,.66);text-align:justify;margin-bottom:14px;font-size:13px;line-height:2.1}.sv-note{color:rgba(240,233,221,.35);text-align:center;margin-top:16px;font-size:10px}.sv-head{margin-bottom:24px}.sv-no2{letter-spacing:.3em;color:#c9a962;font-size:11px}.sv-head h2{letter-spacing:.08em;margin-top:8px;font-size:24px}.sv-head p{color:rgba(240,233,221,.4);letter-spacing:.2em;margin-top:8px;font-size:10px}.sv-sect{letter-spacing:.2em;color:#c9a962;border-bottom:1px solid rgba(201,169,98,.22);margin:22px 0 10px;padding-bottom:8px;font-size:12px}.sv-tabs{z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:rgba(15,13,10,.92);gap:8px;padding:12px 16px;display:flex;position:-webkit-sticky;position:sticky;top:0}.sv-tab{color:rgba(240,233,221,.55);letter-spacing:.04em;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:1px solid rgba(240,233,221,.15);border-radius:22px;flex:1;min-width:0;padding:10px 6px;font-family:inherit;font-size:12px;transition:all .25s;overflow:hidden}.sv-tab.on{color:#c9a962;background:rgba(201,169,98,.1);border-color:#c9a962;font-weight:600}.sv-cover{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;display:flex}.sv-brand{letter-spacing:.4em;color:#c9a962;font-size:11px}.sv-title{letter-spacing:.06em;margin-top:26px;font-size:25px;font-weight:700;line-height:1.5}.sv-subtitle{letter-spacing:.2em;color:rgba(240,233,221,.7);margin-top:18px;font-size:12px}.sv-no{letter-spacing:.25em;color:rgba(240,233,221,.4);margin-top:16px;font-size:10px}.sv-desc{color:rgba(240,233,221,.35);max-width:280px;margin-top:26px;font-size:10px;line-height:1.9}.sv-scroll{letter-spacing:.3em;color:rgba(240,233,221,.4);margin-top:60px;font-size:10px;animation:2.2s ease-in-out infinite sv-bob}@keyframes sv-bob{0%,to{opacity:.4;transform:translateY(0)}50%{opacity:.8;transform:translateY(6px)}}.sv-switch{cursor:pointer;border-radius:12px;position:relative;overflow:hidden}.sv-switch img{aspect-ratio:3/4;object-fit:cover;width:100%;display:block}.sv-switch-tag{letter-spacing:.1em;color:#e8d5b0;background:rgba(15,13,10,.6);border:1px solid rgba(201,169,98,.35);border-radius:16px;padding:5px 12px;font-size:10px;position:absolute;top:12px;left:12px}.sv-switch-hint{text-align:center;letter-spacing:.2em;color:#c9a962;margin:12px 0 18px;font-size:10px}.sv-refs{grid-template-columns:1fr 1fr;gap:10px;display:grid}.sv-refs img{aspect-ratio:3/4;object-fit:cover;border:1px solid rgba(240,233,221,.08);border-radius:8px;width:100%}.sv-cc-group{margin-bottom:20px}.sv-cc-title{letter-spacing:.18em;color:rgba(240,233,221,.55);margin-bottom:12px;font-size:11px}.sv-cc{flex-wrap:wrap;gap:12px;display:flex}.sv-cc-item{text-align:center;width:92px}.sv-swatch{border:1px solid rgba(240,233,221,.15);border-radius:50%;width:56px;height:56px;display:inline-block}.sv-cc-name{color:#f0e9dd;margin-top:8px;font-size:12px;display:block}.sv-cc-desc{color:rgba(240,233,221,.45);margin-top:4px;font-size:10px;line-height:1.7;display:block}.sv-light-block{background:rgba(201,169,98,.06);border:1px solid rgba(201,169,98,.3);border-radius:10px;margin-top:18px;padding:14px 16px}.sv-light-t{letter-spacing:.2em;color:#c9a962;margin-bottom:8px;font-size:11px}.sv-mat{border-bottom:1px solid rgba(240,233,221,.08);align-items:baseline;gap:10px;padding:11px 0;display:flex}.sv-mat b{color:#f0e9dd;white-space:nowrap;font-size:13px}.sv-mat span{color:rgba(240,233,221,.5);font-size:11px;line-height:1.8}.sv-carousel{-webkit-overflow-scrolling:touch;margin-bottom:12px;display:flex;overflow-x:auto}.sv-carousel::-webkit-scrollbar{display:none}.sv-car-track{gap:12px;display:flex}.sv-carousel img{aspect-ratio:3/4;object-fit:cover;border-radius:10px;flex:0 0 78%;width:78%}.sv-car-hint{text-align:center;letter-spacing:.2em;color:rgba(240,233,221,.4);margin-bottom:16px;font-size:10px}.sv-product{border:1px solid rgba(240,233,221,.12);border-radius:12px;padding:16px}.sv-product img{aspect-ratio:1;object-fit:cover;border-radius:8px;width:100%}.sv-pname{margin-top:12px;font-size:14px;line-height:1.6}.sv-pmeta{color:#c9a962;margin-top:6px;font-size:12px}.sv-psect{letter-spacing:.18em;color:#c9a962;margin:16px 0 8px;font-size:11px}.sv-pnote{color:rgba(240,233,221,.62);text-align:justify;font-size:12px;line-height:2}.sv-pattr{color:rgba(240,233,221,.45);font-size:11px;line-height:1.9}.sv-btn{text-align:center;color:#c9a962;letter-spacing:.2em;border:1px solid #c9a962;border-radius:24px;margin-top:16px;padding:12px 0;font-size:12px;text-decoration:none;transition:all .25s;display:block}.sv-btn:active{background:rgba(201,169,98,.12)}.sv-notice{color:rgba(201,169,98,.75);border:1px dashed rgba(201,169,98,.35);border-radius:8px;margin-bottom:20px;padding:10px 14px;font-size:10px;line-height:1.9}.sv-sty-group{margin-bottom:22px}.sv-sty-zone{letter-spacing:.25em;color:#c9a962;border-bottom:1px solid rgba(201,169,98,.25);margin-bottom:12px;padding-bottom:10px;font-size:12px}.sv-sty-item{align-items:baseline;gap:10px;padding:8px 0;display:flex}.sv-sty-item b{color:#f0e9dd;white-space:nowrap;font-size:13px}.sv-sty-item span{color:rgba(240,233,221,.5);font-size:11px;line-height:1.8}.sv-sum{color:rgba(240,233,221,.78);font-size:14px;line-height:2.2}.sv-end{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;display:flex}.sv-end-title{letter-spacing:.1em;font-size:26px;font-weight:700}.sv-end-tip{color:rgba(240,233,221,.4);max-width:260px;margin-top:20px;font-size:11px;line-height:1.9}.sv-contact{color:#14110d;letter-spacing:.2em;background:#c9a962;border-radius:28px;margin-top:36px;padding:14px 44px;font-size:14px;font-weight:600;text-decoration:none;display:inline-block}.sv-contact:active{opacity:.85}.sv-end-no{letter-spacing:.3em;color:rgba(240,233,221,.3);margin-top:40px;font-size:10px}.sv-loading{text-align:center;color:rgba(240,233,221,.5);padding:60px 30px}.tab-nav{gap:8px;margin-top:14px;display:flex}.tab-btn{border:1px solid var(--line);color:var(--ink-2);cursor:pointer;background:#fff;border-radius:20px;padding:9px 22px;font-family:inherit;font-size:13px;transition:all .2s}.tab-btn.on{background:var(--gold);border-color:var(--gold);color:#fff;font-weight:600}.cus-head{gap:10px;margin-bottom:14px;display:flex}.cus-search{border:1px solid var(--line);border-radius:8px;flex:1;padding:10px 14px;font-family:inherit;font-size:13px}.cus-list{flex-direction:column;gap:10px;display:flex}.cus-card{border:1px solid var(--line);background:#fff;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.cus-line{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.cus-line b{font-size:15px}.cus-phone{color:var(--ink-2);font-size:12px}.cus-badge{color:var(--ink-2);background:#f2efe9;border-radius:12px;padding:4px 10px;font-size:10px}.cus-badge.filled{color:#3f7a4a;background:#e9f3ea}.cus-badge.done{color:#8a6a3c;background:#f5ead8}.cus-sub{color:var(--ink-2);margin-top:6px;font-size:11px}.cus-actions{flex-shrink:0;gap:8px;display:flex}.btn-sm{padding:7px 14px;font-size:12px}
