:root{--blue:#2563eb;--blue-dark:#1d4ed8;--bg:#f4f6fb;--card:#fff;--text:#1f2937;--muted:#6b7280;--border:#e5e7eb;--danger:#dc2626;--warn:#f59e0b;--ok:#16a34a;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Apple SD Gothic Neo,Malgun Gothic,sans-serif}*{box-sizing:border-box}html,body,#app{height:100%;margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-tap-highlight-color:transparent}#app{background:var(--bg);flex-direction:column;max-width:520px;min-height:100%;margin:0 auto;display:flex}button{cursor:pointer;border:none;border-radius:10px;font-family:inherit;font-size:15px}button:disabled{opacity:.5;cursor:default}input,select{border:1px solid var(--border);background:#fff;border-radius:10px;width:100%;padding:10px 12px;font-family:inherit;font-size:15px}a{color:var(--blue)}.btn-primary{background:var(--blue);color:#fff;padding:11px 16px;font-weight:600}.btn-primary:active{background:var(--blue-dark)}.btn-primary:disabled{opacity:.5}.btn-ghost{color:var(--blue);background:#eef2ff;padding:8px 12px}.btn-sm{padding:6px 10px;font-size:13px}.btn-round{width:36px;height:36px;color:var(--blue);background:#eef2ff;border-radius:50%;justify-content:center;align-items:center;font-size:18px;font-weight:700;display:flex}.card{background:var(--card);border-radius:14px;margin:12px;padding:14px;box-shadow:0 1px 3px #0000000d}.app-header{z-index:10;background:var(--blue);color:#fff;justify-content:space-between;align-items:center;padding:14px 16px;display:flex;position:sticky;top:0}.app-header h1{margin:0;font-size:17px}.app-header button{color:#fff;background:#ffffff2e;padding:6px 10px;font-size:13px}.bottom-nav{border-top:1px solid var(--border);background:#fff;display:flex;position:sticky;bottom:0}.bottom-nav a{text-align:center;color:var(--muted);flex:1;padding:12px 0;font-size:13px;font-weight:600;text-decoration:none}.bottom-nav a.router-link-active{color:var(--blue)}.row{align-items:center;gap:8px;display:flex}.col{flex-direction:column;gap:8px;display:flex}.muted{color:var(--muted);font-size:13px}.spacer{flex:1}.pill{border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.pill-low{color:#92400e;background:#fef3c7}.nav-badge{background:var(--danger);color:#fff;text-align:center;border-radius:999px;min-width:18px;margin-left:4px;padding:0 5px;font-size:11px;font-weight:700;line-height:18px;display:inline-block}.toast{color:#fff;z-index:200;pointer-events:none;white-space:nowrap;text-overflow:ellipsis;background:#1f2937eb;border-radius:999px;max-width:90vw;padding:9px 16px;font-size:13.5px;position:fixed;bottom:68px;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 4px 14px #0000002e}.toast-enter-active,.toast-leave-active{transition:opacity .18s,transform .18s}.toast-enter-from,.toast-leave-to{opacity:0;transform:translate(-50%)translateY(6px)}.content{flex:1;padding-bottom:24px}.error{color:var(--danger);margin-top:8px;font-size:13px}.empty{text-align:center;color:var(--muted);padding:28px 12px;font-size:14px}.section-title{color:var(--muted);margin:4px 0 8px;font-size:13px;font-weight:700}.tree-row{border-radius:8px;align-items:center;gap:6px;padding:8px 6px;display:flex}.tree-row.selected{background:#eef2ff}.tree-toggle{text-align:center;width:18px;color:var(--muted);font-size:12px}.tree-name{flex:1;font-size:15px}.tree-count{color:var(--muted);font-size:12px}.item-row{border-top:1px solid var(--border);align-items:center;gap:10px;padding:10px 0;display:flex}.item-thumb{object-fit:cover;color:#cbd5e1;background:#f1f5f9;border-radius:8px;justify-content:center;align-items:center;width:46px;height:46px;font-size:18px;display:flex}.item-name{font-weight:600}.qty{font-variant-numeric:tabular-nums;text-align:center;min-width:54px;font-weight:600}.modal-backdrop{z-index:50;background:#0006;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:18px 18px 0 0;width:100%;max-width:520px;padding:18px}.modal h3{margin:0 0 14px}.field{margin-bottom:10px}.field label{color:var(--muted);margin-bottom:4px;font-size:13px;display:block}.grid-2{grid-template-columns:1fr 1fr;gap:10px;display:grid}@media (width>=1024px){#app{max-width:none}.content{padding-bottom:0}}.dt-row[data-v-728cfc73]{cursor:pointer;-webkit-user-select:none;user-select:none;font-size:var(--t-base);color:var(--text);white-space:nowrap;border-radius:7px;align-items:center;gap:6px;padding:6px 8px;display:flex}.dt-row[data-v-728cfc73]:hover{background:var(--hover)}.dt-row.sel[data-v-728cfc73]{background:var(--sel);color:var(--accent-strong);font-weight:600}.dt-row.drop[data-v-728cfc73]{outline:2px dashed var(--accent);outline-offset:-2px;background:var(--accent-soft)}.dt-twist[data-v-728cfc73]{text-align:center;width:14px;color:var(--text-3);font-size:calc(10px * var(--fs,1));flex:none}.dt-ic[data-v-728cfc73]{font-size:calc(15px * var(--fs,1));opacity:.9;flex:none}.dt-name[data-v-728cfc73]{text-overflow:ellipsis;flex:1;overflow:hidden}.dt-count[data-v-728cfc73]{font-family:var(--mono);font-size:var(--t-xs);color:var(--text-3);background:color-mix(in srgb, var(--text-3) 12%, transparent);border-radius:20px;flex:none;padding:0 7px}.dt-row.sel .dt-count[data-v-728cfc73]{color:var(--accent-strong);background:color-mix(in srgb, var(--accent) 16%, transparent)}.hi-desktop[data-v-3882db26]{--accent:#2563eb;--accent-strong:#1d4ed8;--accent-soft:#eef2ff;--bg:#e9edf4;--panel:#fff;--panel-2:#f6f8fc;--sidebar:#f3f6fb;--text:#1f2937;--text-2:#59626f;--text-3:#8b94a3;--border:#e2e7f0;--border-strong:#d2d9e6;--hover:#eef2f9;--sel:#e6eefc;--low-bg:#fef3c7;--low-text:#92400e;--low-bar:#f59e0b;--ok-bar:#22a565;--danger:#dc2626;--danger-soft:#fbe6e6;--shadow:0 1px 2px #1018280f, 0 4px 12px #1018280d;--mono:ui-monospace, "SF Mono", "Cascadia Mono", "Segoe UI Mono", Menlo, Consolas, monospace;--t-xs:calc(11px * var(--fs));--t-sm:calc(12.5px * var(--fs));--t-base:calc(13.5px * var(--fs));--t-md:calc(14px * var(--fs));--t-lg:calc(15px * var(--fs));--t-xl:calc(18px * var(--fs));--t-2xl:calc(26px * var(--fs));--t-mono:calc(11.5px * var(--fs));background:var(--bg);height:100vh;color:var(--text);font-size:var(--t-md);grid-template-rows:52px 1fr 26px;display:grid;overflow:hidden}.hi-desktop[data-v-3882db26] *{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.hi-desktop[data-v-3882db26] ::-webkit-scrollbar{width:7px;height:7px}.hi-desktop[data-v-3882db26] ::-webkit-scrollbar-thumb{background:var(--border-strong);background-clip:padding-box;border:2px solid #0000;border-radius:8px}.hi-desktop button[data-v-3882db26]{cursor:pointer;font-family:inherit}.hi-desktop input[data-v-3882db26]{font-family:inherit}.topbar[data-v-3882db26]{background:var(--panel);border-bottom:1px solid var(--border);align-items:center;gap:16px;padding:0 16px;display:flex}.brand[data-v-3882db26]{font-weight:700;font-size:var(--t-lg);align-items:center;gap:9px;display:flex}.brand .logo[data-v-3882db26]{background:linear-gradient(135deg, var(--accent), var(--accent-strong));color:#fff;border-radius:7px;place-items:center;width:26px;height:26px;font-size:15px;display:grid}.search[data-v-3882db26]{background:var(--panel-2);border:1px solid var(--border);max-width:520px;color:var(--text-3);border-radius:9px;flex:1;align-items:center;gap:8px;margin:0 auto;padding:7px 11px;display:flex}.search input[data-v-3882db26]{font-size:var(--t-base);color:var(--text);background:0 0;border:none;outline:none;flex:1}.top-right[data-v-3882db26]{align-items:center;gap:10px;display:flex}.user[data-v-3882db26]{font-size:var(--t-base);color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:8px;max-width:180px;display:flex;overflow:hidden}.avatar[data-v-3882db26]{background:color-mix(in srgb, var(--accent) 18%, var(--panel));width:28px;height:28px;color:var(--accent-strong);font-weight:700;font-size:var(--t-sm);border-radius:50%;flex:none;place-items:center;display:grid}.ghost-btn[data-v-3882db26]{border:1px solid var(--border);background:var(--panel);color:var(--text-2);font-size:var(--t-sm);border-radius:8px;align-items:center;gap:6px;padding:6px 11px;display:inline-flex}.ghost-btn[data-v-3882db26]:hover{background:var(--hover);color:var(--text)}.badge[data-v-3882db26]{background:var(--low-bar);color:#fff;font-size:calc(10px * var(--fs));border-radius:999px;padding:0 6px;font-weight:700}.fs-ctl[data-v-3882db26]{align-items:center;gap:8px;display:flex}.fs-ctl>span[data-v-3882db26]{font-size:var(--t-sm);color:var(--text-3)}.seg-toggle[data-v-3882db26]{background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:2px;display:flex}.seg-toggle button[data-v-3882db26]{color:var(--text-2);font-size:var(--t-sm);white-space:nowrap;background:0 0;border:none;border-radius:6px;padding:5px 10px}.seg-toggle button.on[data-v-3882db26]{background:var(--panel);color:var(--accent-strong);box-shadow:var(--shadow);font-weight:600}.workspace[data-v-3882db26]{grid-template-columns:var(--left-w) 5px 1fr 5px var(--right-w);min-height:0;display:grid}.gutter[data-v-3882db26]{cursor:col-resize;position:relative}.gutter[data-v-3882db26]:after{content:"";background:var(--border);transition:background .15s;position:absolute;inset:0 2px}.gutter[data-v-3882db26]:hover:after{background:var(--accent)}.panel[data-v-3882db26]{background:var(--panel);flex-direction:column;min-height:0;display:flex;overflow:hidden}.panel.left[data-v-3882db26]{background:var(--sidebar)}.panel-head[data-v-3882db26]{border-bottom:1px solid var(--border);font-size:var(--t-xs);letter-spacing:.07em;text-transform:uppercase;color:var(--text-3);flex:none;align-items:center;gap:8px;padding:10px 14px;font-weight:700;display:flex}.panel-head .count[data-v-3882db26]{letter-spacing:0;text-transform:none;font-weight:600;font-size:var(--t-mono);font-family:var(--mono);margin-left:auto}.panel-body[data-v-3882db26]{flex:auto;overflow-y:auto}.tree[data-v-3882db26]{padding:6px 8px}.panel-foot[data-v-3882db26]{border-top:1px solid var(--border);background:var(--sidebar);flex:none;gap:6px;padding:8px 10px;display:flex}.mini-btn[data-v-3882db26]{border:1px solid var(--border-strong);background:var(--panel);color:var(--text-2);font-size:var(--t-sm);border-radius:7px;flex:1;padding:5px 9px}.mini-btn[data-v-3882db26]:hover:not(:disabled){background:var(--hover);color:var(--text)}.mini-btn[data-v-3882db26]:disabled{opacity:.45;cursor:default}.mini-btn.danger[data-v-3882db26]:hover:not(:disabled){color:var(--danger);border-color:var(--danger);background:var(--danger-soft)}.center-head[data-v-3882db26]{border-bottom:1px solid var(--border);background:var(--panel);flex:none;align-items:center;gap:12px;padding:10px 16px;display:flex}.crumb[data-v-3882db26]{font-size:var(--t-base);flex-wrap:wrap;align-items:center;gap:4px;display:flex}.crumb .lead[data-v-3882db26]{color:var(--text-3);margin-right:2px}.crumb .seg[data-v-3882db26]{color:var(--text-2);cursor:pointer;border-radius:6px;padding:2px 6px}.crumb .seg[data-v-3882db26]:hover{background:var(--hover);color:var(--text)}.crumb .seg.here[data-v-3882db26]{color:var(--text);cursor:default;font-weight:600}.crumb .sep[data-v-3882db26]{color:var(--text-3);font-size:var(--t-sm)}.center-actions[data-v-3882db26]{align-items:center;gap:10px;margin-left:auto;display:flex}.add-btn[data-v-3882db26]{background:var(--accent);color:#fff;font-weight:600;font-size:var(--t-sm);border:none;border-radius:8px;padding:7px 13px}.add-btn[data-v-3882db26]:hover{background:var(--accent-strong)}.banner-error[data-v-3882db26]{background:var(--danger-soft);color:var(--danger);font-size:var(--t-sm);border-bottom:1px solid var(--border);margin:0;padding:9px 16px}.list-wrap[data-v-3882db26]{flex:auto;overflow:auto}table.items[data-v-3882db26]{border-collapse:collapse;width:100%;font-size:var(--t-base)}table.items thead th[data-v-3882db26]{z-index:1;text-align:left;background:var(--panel-2);color:var(--text-3);font-size:var(--t-xs);letter-spacing:.05em;text-transform:uppercase;border-bottom:1px solid var(--border);padding:9px 14px;font-weight:700;position:sticky;top:0}table.items th.num[data-v-3882db26],table.items td.num[data-v-3882db26]{text-align:right;font-variant-numeric:tabular-nums}table.items tbody td[data-v-3882db26]{border-bottom:1px solid var(--border);vertical-align:middle;padding:9px 14px}table.items tbody tr[data-v-3882db26]{cursor:pointer}table.items tbody tr[data-v-3882db26]:hover{background:var(--hover)}table.items tbody tr.sel[data-v-3882db26]{background:var(--sel)}table.items tbody tr.sel td[data-v-3882db26]:first-child{box-shadow:inset 3px 0 0 var(--accent)}.cell-name[data-v-3882db26]{align-items:center;gap:10px;display:flex}.thumb[data-v-3882db26]{object-fit:cover;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;flex:none;width:34px;height:34px}.thumb.ph[data-v-3882db26]{color:var(--text-3);place-items:center;font-size:17px;display:grid}.nm[data-v-3882db26]{font-weight:600}.qtybar[data-v-3882db26]{width:120px}.qtybar.wide[data-v-3882db26]{width:100%}.bar[data-v-3882db26]{background:color-mix(in srgb, var(--text-3) 20%, transparent);border-radius:4px;height:6px;overflow:hidden}.bar>i[data-v-3882db26]{background:var(--ok-bar);border-radius:4px;height:100%;display:block}.bar.low>i[data-v-3882db26]{background:var(--low-bar)}.qtxt[data-v-3882db26]{font-family:var(--mono);font-size:var(--t-mono);color:var(--text-2);margin-top:3px}.pill[data-v-3882db26]{font-size:var(--t-xs);white-space:nowrap;border-radius:999px;padding:2px 9px;font-weight:700}.pill.low[data-v-3882db26]{background:var(--low-bg);color:var(--low-text)}.pill.ok[data-v-3882db26]{background:color-mix(in srgb, var(--ok-bar) 16%, transparent);color:var(--ok-bar)}.pill.nu[data-v-3882db26]{color:var(--text-3)}.stepper[data-v-3882db26]{opacity:0;align-items:center;gap:2px;transition:opacity .12s;display:inline-flex}tr:hover .stepper[data-v-3882db26]{opacity:1}.rbtn[data-v-3882db26]{border:1px solid var(--border-strong);background:var(--panel);width:26px;height:26px;color:var(--text-2);font-size:calc(15px * var(--fs));border-radius:6px;place-items:center;line-height:1;display:grid}.rbtn[data-v-3882db26]:hover{background:var(--accent-soft);color:var(--accent-strong);border-color:var(--accent)}.cards[data-v-3882db26]{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;padding:16px;display:grid}.card[data-v-3882db26]{background:var(--panel);border:1px solid var(--border);cursor:pointer;border-radius:12px;flex-direction:column;gap:9px;padding:13px;transition:box-shadow .15s,border-color .15s,transform .1s;display:flex}.card[data-v-3882db26]:hover{box-shadow:var(--shadow);border-color:var(--border-strong);transform:translateY(-1px)}.card.sel[data-v-3882db26]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.card .chead[data-v-3882db26]{align-items:flex-start;gap:10px;display:flex}.card .thumb[data-v-3882db26]{width:46px;height:46px}.card .thumb.ph[data-v-3882db26]{font-size:23px}.card .cnm[data-v-3882db26]{font-weight:600;font-size:var(--t-base)}.card .cloc[data-v-3882db26]{margin-top:5px}.rows[data-v-3882db26]{padding:8px 0}.rlist[data-v-3882db26]{border-bottom:1px solid var(--border);cursor:pointer;align-items:center;gap:12px;padding:10px 16px;display:flex}.rlist[data-v-3882db26]:hover{background:var(--hover)}.rmain[data-v-3882db26]{flex:1;min-width:0}.rpath[data-v-3882db26]{font-size:var(--t-mono);color:var(--text-3);margin-top:3px}.buy.sm[data-v-3882db26]{font-size:var(--t-sm);flex:none;width:auto;padding:7px 12px}.detail[data-v-3882db26]{flex:auto;overflow-y:auto}.empty[data-v-3882db26]{text-align:center;color:var(--text-3);font-size:var(--t-base);padding:34px 20px;line-height:1.6}.empty.big[data-v-3882db26]{padding:48px 20px}.dhero[data-v-3882db26]{border-bottom:1px solid var(--border);text-align:center;padding:22px 20px 18px}.dthumb[data-v-3882db26]{background:var(--panel-2);border:1px solid var(--border);border-radius:18px;place-items:center;width:128px;height:128px;margin:0 auto 14px;display:grid;overflow:hidden}.dthumb img[data-v-3882db26]{object-fit:cover;width:100%;height:100%}.dthumb .ph[data-v-3882db26]{color:var(--text-3);font-size:56px}.dthumb.sm[data-v-3882db26]{border-radius:12px;width:60px;height:60px;margin:0}.dthumb.sm .ph[data-v-3882db26],.dthumb.sm.ph[data-v-3882db26]{font-size:26px}.dname[data-v-3882db26]{font-size:var(--t-xl);font-weight:700}.dpath[data-v-3882db26]{font-size:var(--t-sm);color:var(--text-3);margin-top:5px}.dsection[data-v-3882db26]{border-bottom:1px solid var(--border);padding:16px 20px}.dsection.last[data-v-3882db26]{border-bottom:none}.dsection h4[data-v-3882db26]{font-size:var(--t-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);margin:0 0 12px;font-weight:700}.stepper-lg[data-v-3882db26]{justify-content:center;align-items:center;gap:12px;margin-bottom:12px;display:flex}.stepper-lg button[data-v-3882db26]{border:1px solid var(--border-strong);background:var(--panel);width:40px;height:40px;color:var(--text);font-size:calc(22px * var(--fs));border-radius:10px;place-items:center;line-height:1;display:grid}.stepper-lg button[data-v-3882db26]:hover{background:var(--accent-soft);color:var(--accent-strong);border-color:var(--accent)}.stepper-lg .big[data-v-3882db26]{font-family:var(--mono);font-size:var(--t-2xl);text-align:center;font-variant-numeric:tabular-nums;min-width:96px;font-weight:700}.stepper-lg .of[data-v-3882db26]{color:var(--text-3);font-size:.7em}.kv[data-v-3882db26]{font-size:var(--t-base);justify-content:space-between;align-items:center;padding:7px 0;display:flex}.kv .k[data-v-3882db26]{color:var(--text-2)}.kv .v[data-v-3882db26]{font-weight:600}.buy[data-v-3882db26]{background:var(--accent);color:#fff;width:100%;font-weight:600;font-size:var(--t-md);border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:12px;text-decoration:none;display:flex}.buy[data-v-3882db26]:hover{background:var(--accent-strong)}.affiliate-note[data-v-3882db26]{font-size:var(--t-xs);color:var(--text-3);text-align:center;margin-top:10px;line-height:1.5}.drow[data-v-3882db26]{gap:8px;margin-top:4px;display:flex}.drow button[data-v-3882db26]{text-align:center;font-size:var(--t-sm);border-radius:9px;flex:1;padding:10px}.btn-edit[data-v-3882db26]{border:1px solid var(--accent);background:var(--accent-soft);color:var(--accent-strong);font-weight:600}.btn-edit[data-v-3882db26]:hover{background:color-mix(in srgb, var(--accent) 16%, transparent)}.btn-del[data-v-3882db26]{border:1px solid var(--border-strong);background:var(--panel);color:var(--text-2)}.btn-del[data-v-3882db26]:hover{color:var(--danger);border-color:var(--danger);background:var(--danger-soft)}.btn-del.plain[data-v-3882db26]:hover{color:var(--text);border-color:var(--border-strong);background:var(--hover)}.field[data-v-3882db26]{margin-bottom:10px}.field label[data-v-3882db26]{font-size:var(--t-xs);color:var(--text-2);margin-bottom:4px;display:block}.field input[data-v-3882db26]{width:100%;font-size:var(--t-base);border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:9px;padding:9px 11px}.field input[data-v-3882db26]:focus{border-color:var(--accent);outline:none}.grid-2[data-v-3882db26]{grid-template-columns:1fr 1fr;gap:10px;display:grid}.photo-pick[data-v-3882db26]{align-items:center;gap:12px;display:flex}.statusbar[data-v-3882db26]{background:var(--accent);color:#fff;font-size:var(--t-mono);font-family:var(--mono);align-items:center;gap:18px;padding:0 16px;display:flex}.statusbar .s[data-v-3882db26]{opacity:.95;align-items:center;gap:6px;display:flex}.statusbar .right[data-v-3882db26]{opacity:.85;margin-left:auto}.ctx-menu[data-v-3882db26]{z-index:100;background:var(--panel);border:1px solid var(--border-strong);box-shadow:var(--shadow);border-radius:10px;flex-direction:column;min-width:168px;padding:5px;display:flex;position:fixed}.ctx-menu button[data-v-3882db26]{text-align:left;font-size:var(--t-base);color:var(--text);background:0 0;border:none;border-radius:7px;padding:8px 12px}.ctx-menu button[data-v-3882db26]:hover{background:var(--hover)}.ctx-menu button.danger[data-v-3882db26]:hover{background:var(--danger-soft);color:var(--danger)}.modal-backdrop[data-v-3882db26]{z-index:90;background:#0f141e66;place-items:center;display:grid;position:fixed;inset:0}.lmodal[data-v-3882db26]{background:var(--panel);width:380px;max-width:90vw;box-shadow:var(--shadow);border-radius:16px;padding:20px}.lmodal h3[data-v-3882db26]{font-size:var(--t-lg);margin:0 0 14px}.lmodal input[data-v-3882db26]{width:100%;font-size:var(--t-base);border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:9px;margin-bottom:14px;padding:10px 12px}.lmodal input[data-v-3882db26]:focus{border-color:var(--accent);outline:none}
