.site-footer[data-v-7320550d]{flex:none;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 16px;width:100%;text-align:center;padding:12px 20px calc(12px + env(safe-area-inset-bottom,0px));color:#5f574a;font-size:12px;line-height:1.6}.site-footer a[data-v-7320550d]{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;color:inherit;text-decoration:none}.site-footer img[data-v-7320550d]{flex:none;object-fit:contain}.site-footer a[data-v-7320550d]:hover,.site-footer a[data-v-7320550d]:focus-visible{text-decoration:underline}.site-footer a[data-v-7320550d]:focus-visible{outline:2px solid #0f766e;outline-offset:4px}:root{--bg:#f5f1e8;--card:#ffffff;--ink:#2b2b2b;--muted:#8a7f6d;--line:#e4dccb;--brand:#b8860b;--brand-d:#946a00;--blue:#dbe9f4;--tan:#f3e6c9;--in:#1c7c3a;--out:#c0392b;--shadow:0 2px 10px rgba(120,100,60,.1);--green:#2d6a47;--green-d:#163a26}html,body{margin:0;padding:0;height:100%}body{font-family:Microsoft YaHei,PingFang SC,Segoe UI,sans-serif;background:var(--bg);color:var(--ink);font-size:15px;line-height:1.5}body.app-shell{height:100vh;display:flex;flex-direction:column;overflow:hidden}@supports (height:100dvh){body.app-shell{height:100dvh}}body.app-shell #app{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}header{flex:none;display:flex;align-items:flex-end;gap:14px;background:linear-gradient(135deg,var(--green) 0%,var(--green-d) 100%);color:#fff;padding:36px 20px;box-shadow:var(--shadow)}header h1{margin:0;font-size:19px;font-weight:700;letter-spacing:1px;line-height:1}.hd-ver{font-size:12px;opacity:.85;margin-left:14px;line-height:1.3;white-space:nowrap}nav{flex:none;display:flex;gap:4px;background:#fff;padding:6px 8px;box-shadow:var(--shadow);z-index:15;overflow-x:auto}nav button{flex:0 0 auto;border:none;background:transparent;color:var(--muted);padding:9px 16px;font-size:15px;border-radius:8px;cursor:pointer;font-weight:600;white-space:nowrap}nav button.active{background:var(--green);color:#fff}main{flex:1 1 auto;min-height:0;max-width:1100px;width:100%;margin:0 auto;padding:16px;display:flex;flex-direction:column;overflow:hidden}.view{display:none}.view.active{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}#view-settings.view.active{display:block;overflow-y:auto}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px;box-shadow:var(--shadow);margin-bottom:16px}.card h2{margin:0 0 12px;font-size:16px;color:var(--brand-d)}label{display:block;font-size:13px;color:var(--muted);margin:0 0 4px}.row{display:flex;flex-wrap:wrap;gap:12px}.field{flex:1 1 160px;min-width:140px;margin-bottom:10px}input,select,textarea,button{font-family:inherit;font-size:15px}input,select,textarea{width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink)}input:focus,select:focus,textarea:focus{outline:2px solid var(--blue);border-color:var(--brand)}.btn{background:var(--brand);color:#fff;border:none;padding:10px 18px;border-radius:8px;cursor:pointer;font-weight:700}.btn:hover{background:var(--brand-d)}.btn.ghost{background:#fff;color:var(--brand-d);border:1px solid var(--brand)}.btn.sm{padding:5px 10px;font-size:13px}.btn.danger{background:#fff;color:var(--out);border:1px solid var(--out)}.btn.danger:hover{background:var(--out);color:#fff}#entryCard{border-top:5px solid var(--accent,var(--brand));background:var(--accent-bg,var(--card));transition:border-color .3s ease,background .3s ease}#entryCard h2{display:flex;align-items:center;gap:10px;flex-wrap:wrap}#entryCard .row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}#entryCard .field{min-width:0}.type-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 14px;border-radius:999px;background:var(--accent,var(--brand));color:#fff;font-size:13px;font-weight:700;letter-spacing:.5px;box-shadow:0 2px 6px #0000001f;transition:background .3s ease}.type-badge .sign{font-size:15px;font-weight:800;line-height:1}#f-type{border:1.6px solid var(--accent,var(--line));color:var(--accent,var(--ink));font-weight:700;background:#fff;transition:border-color .3s ease,color .3s ease}#f-type:focus{outline-color:var(--accent,var(--blue));border-color:var(--accent,var(--brand))}#saveBtn{background:var(--accent,var(--brand));transition:background .3s ease}#saveBtn:hover{background:var(--accent,var(--brand-d));filter:brightness(.92)}table{border-collapse:collapse;width:100%;font-size:14px}th,td{border:1px solid var(--line);padding:7px 9px;text-align:center}th{background:var(--tan);color:var(--brand-d);font-weight:700;white-space:nowrap}tbody tr:nth-child(2n){background:#faf7f0}.matrix td.first,.matrix th.first{background:var(--blue);font-weight:600;white-space:nowrap}.matrix tr.total td{background:var(--tan);font-weight:700}.pos{color:var(--in);font-weight:600}.neg{color:var(--out);font-weight:600}.badge{display:inline-block;font-size:11px;background:#efe2bf;color:var(--brand-d);border-radius:5px;padding:1px 5px;margin-top:2px}.badge.prod{background:#eaf6ee;color:#1c7c3a}.prod-total{color:#1c7c3a;font-weight:700}.muted{color:var(--muted);font-size:13px}.empty{text-align:center;color:var(--muted);padding:28px 10px}.stock td.num{text-align:right;font-variant-numeric:tabular-nums;padding-right:14px}.stock td:first-child{text-align:left;padding-left:14px}.prod-table{table-layout:fixed}.prod-table .p-name{width:22%}.prod-table .p-unit{width:10%}.prod-table .p-bal{width:14%;text-align:right}.prod-acts{display:flex;align-items:center;justify-content:flex-end;gap:8px}.prod-acts .btn.sm{flex:0 0 auto;white-space:nowrap}.prod-acts .prod-del-slot{flex:0 0 84px;display:flex;align-items:center;justify-content:flex-start;white-space:nowrap}.stock-grid{display:flex;flex-wrap:wrap;gap:12px}.stock-card{flex:1 1 150px;min-width:140px;border:1px solid var(--line);border-radius:10px;padding:12px;background:#fff;text-align:center}.stock-card .name{font-weight:700;color:var(--brand-d)}.stock-card .num{font-size:26px;font-weight:800;margin:6px 0}.stock-card .unit{font-size:13px;color:var(--muted)}.unit-group-title{margin:6px 0 10px;font-weight:700;color:var(--brand-d);border-left:4px solid var(--brand);padding-left:8px}.tools{display:flex;flex-wrap:wrap;gap:10px}.plist{border-collapse:collapse;width:100%;max-width:360px}.plist th,.plist td{border:1px solid var(--line);padding:7px 12px;text-align:left;font-size:14px}.plist th{background:var(--tan);color:var(--brand-d);font-weight:700}.plist td:first-child,.plist th:first-child{text-align:center;width:56px}.plist td:last-child,.plist th:last-child{text-align:center;width:64px}.plist.editable{max-width:600px}.plist.editable td,.plist.editable th{padding:6px 8px}.plist.editable td:last-child,.plist.editable th:last-child{width:auto;white-space:nowrap}.plist.editable input.p-name{width:100%;min-width:70px;padding:5px 8px}.plist.editable select.p-unit{padding:5px 6px}.plist.editable .p-act .btn.sm{padding:4px 8px;margin:0 1px}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%);background:#333;color:#fff;padding:10px 18px;border-radius:24px;box-shadow:0 4px 16px #00000040;z-index:50;opacity:0;transition:opacity .25s;pointer-events:none;font-size:14px}.toast.show{opacity:1}.filter-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.filter-bar select{width:auto;min-width:120px}.scroll{overflow-x:auto}#view-entry #entryCard{flex:none}#view-entry .card:last-child{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}#view-entry .card:last-child .scroll{flex:1 1 auto;min-height:0;overflow:auto}#view-detail .card{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}#view-detail .filter-bar,#view-detail #detailTitle{flex:none}#view-detail .scroll{flex:1 1 auto;min-height:0;overflow:auto}#matrixTable thead th{position:sticky;top:0;z-index:3}#matrixTable tbody tr.total td{position:sticky;z-index:2;background:var(--tan)}#matrixTable tbody tr.total:nth-last-child(1) td{bottom:0}#matrixTable tbody tr.total:nth-last-child(2) td{bottom:36px}#matrixTable tbody tr.total:nth-last-child(3) td{bottom:72px}#view-stock .card{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}#view-stock #stockArea{flex:1 1 auto;min-height:0;overflow:auto}#productList.two-col{display:flex;gap:18px;align-items:flex-start}#productList.two-col .plist{flex:1 1 0;max-width:none}.recent thead th{position:sticky;top:0;z-index:2;box-shadow:0 1px 0 0 var(--line)}.recent td{text-align:center}.recent th:nth-child(5),.recent td:nth-child(5){text-align:right}.recent .t-in{color:var(--in)}.recent .t-out{color:var(--out)}@media (max-width:600px){header{flex-wrap:wrap}.hd-ver{margin-left:0}main{padding:10px}header h1{font-size:17px}.card{padding:12px}#entryCard .row{grid-template-columns:1fr}#productList{overflow-x:auto}.prod-table{min-width:520px}}@media (max-height:820px){header{padding:14px 20px}header h1{font-size:18px}nav button{padding:7px 14px}main{padding:10px}.card{padding:12px;margin-bottom:10px}#entryCard .row{gap:8px}#entryCard .field{margin-bottom:6px}}.write-status{padding:10px 14px;margin-bottom:10px;border-radius:8px;background:#e5f3ef;color:#145d51;flex-shrink:0}.write-status.error{background:#fff1e7;color:#8b3e14}.write-status[hidden],.write-status button[hidden]{display:none}.write-status button{margin-left:12px}#saveBtn[aria-busy=true]{cursor:wait}@media print{.write-status{display:none!important}html,body{height:auto!important;overflow:visible!important;display:block!important}main{overflow:visible!important;max-width:none!important;height:auto!important;display:block!important}#view-detail .scroll{overflow:visible!important}#matrixTable thead th,#matrixTable tbody tr.total td{position:static!important}header,nav,.no-print{display:none!important}.view{display:none!important}.view.print-active{display:block!important}.card{box-shadow:none;border:none}body{background:#fff}}.hd-user[data-v-ede82032]{margin-left:auto;display:flex;align-items:center;gap:8px}.hd-name[data-v-ede82032]{font-size:13px;color:#ffffffe6;margin-right:2px}.hd-btn[data-v-ede82032]{padding:5px 12px;font-size:13px;line-height:1.2;border:1px solid rgba(255,255,255,.55);border-radius:8px;background:transparent;color:#fff;cursor:pointer;white-space:nowrap}.hd-btn[data-v-ede82032]:hover:not(:disabled){background:#ffffff24}.hd-btn[data-v-ede82032]:disabled{opacity:.55;cursor:default}.notice[data-v-ede82032]{background:#fff7ed;border-left:3px solid #b45309;padding:8px 12px;border-radius:6px;color:#9a3412}.qr-panel[data-v-db516084]{text-align:center}.qr-panel h2[data-v-db516084]{font-size:22px;color:#193e36;margin:4px 0 12px}.tip[data-v-db516084]{font-size:14px;color:#746e62;line-height:1.7}.image[data-v-db516084]{margin:18px auto;width:min(100%,250px);background:#fff;padding:8px;box-sizing:border-box}.image img[data-v-db516084]{width:100%;display:block}.placeholder[data-v-db516084]{padding:70px 12px;color:#746e62}.phrase[data-v-db516084]{font-size:19px;font-weight:600;letter-spacing:2px;color:#193e36}.primary[data-v-db516084],.secondary[data-v-db516084]{display:block;width:100%;padding:12px;border:0;border-radius:8px;font-size:15px;margin:12px 0;cursor:pointer}.primary[data-v-db516084]{background:#0f766e;color:#fff}.secondary[data-v-db516084]{background:#f3f4f2;color:#50635c}button[data-v-db516084]:disabled{opacity:.55;cursor:default}.error[data-v-db516084]{color:#a23d2b;font-size:14px;line-height:1.6}.login-page[data-v-6c59edf9]{flex:1 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;gap:16px}.login-card[data-v-6c59edf9]{width:100%;max-width:400px;background:#fff;border:1px solid #e4dccb;border-radius:16px;box-shadow:0 6px 28px #78643c1a;padding:32px 28px}.brand[data-v-6c59edf9]{display:flex;align-items:center;gap:12px;margin-bottom:20px}.brand-mark[data-v-6c59edf9]{width:44px;height:44px;border-radius:12px;background:#0f766e;color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700}.brand-title[data-v-6c59edf9]{font-size:18px;font-weight:700;color:#2b2b2b}.brand-sub[data-v-6c59edf9]{font-size:12px;color:#8a7f6d}.lead[data-v-6c59edf9]{font-size:14px;color:#5f574a;line-height:1.6;margin:0 0 16px}.qr-box[data-v-6c59edf9]{display:flex;justify-content:center;margin:12px 0 10px;padding:10px;background:#fff;border:1px solid #e4dccb;border-radius:12px}.qr-img[data-v-6c59edf9]{width:200px;height:200px;display:block;image-rendering:pixelated}.qr-alt[data-v-6c59edf9]{font-size:12px;color:#8a7f6d;text-align:center;margin:0 0 12px}.qr-code[data-v-6c59edf9]{color:#0f766e;letter-spacing:2px;font-size:14px}.code-row[data-v-6c59edf9]{display:flex;gap:6px;justify-content:center;margin:8px 0 16px}.code-digit[data-v-6c59edf9]{flex:1 1 0;min-width:0;max-width:46px;height:58px;display:flex;align-items:center;justify-content:center;background:#f5f1e8;border:1px solid #e4dccb;border-radius:10px;font-size:28px;font-weight:700;color:#0f766e;font-variant-numeric:tabular-nums}.phrase-row[data-v-6c59edf9]{display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 12px;border-radius:10px;background:#e8f5ee;margin-bottom:8px}.phrase-label[data-v-6c59edf9]{font-size:12px;color:#4c7c68}.phrase-value[data-v-6c59edf9]{font-size:16px;font-weight:700;color:#0f766e;letter-spacing:1px}.hint[data-v-6c59edf9]{font-size:12px;color:#8a7f6d;text-align:center;margin:0 0 16px}.confirmed-box[data-v-6c59edf9]{background:#e8f5ee;border-radius:12px;padding:18px 16px;margin-bottom:16px;text-align:center}.confirmed-title[data-v-6c59edf9]{font-size:15px;color:#14532d}.confirmed-name[data-v-6c59edf9]{font-weight:700;color:#0f766e}.confirmed-sub[data-v-6c59edf9]{font-size:12px;color:#4c7c68;margin-top:6px}.error[data-v-6c59edf9]{font-size:13px;color:#b91c1c;margin:0 0 12px;text-align:center}.btn-primary[data-v-6c59edf9]{width:100%;padding:12px;border:none;border-radius:10px;background:#0f766e;color:#fff;font-size:15px;font-weight:700;cursor:pointer}.btn-primary[data-v-6c59edf9]:disabled{opacity:.6;cursor:default}.btn-plain[data-v-6c59edf9]{width:100%;margin-top:10px;padding:11px;border:1px solid #e4dccb;border-radius:10px;background:#fff;color:#8a7f6d;font-size:14px;cursor:pointer}.login-foot[data-v-6c59edf9]{font-size:12px;color:#a89e8c}@media (max-width: 360px){.login-page[data-v-6c59edf9]{padding:16px}.login-card[data-v-6c59edf9]{padding:26px 22px}.code-digit[data-v-6c59edf9]{height:52px;font-size:24px}}*{box-sizing:border-box}html,body{margin:0;padding:0}body:not(.app-shell) #app{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}body{background:#f5f1e8;color:#2b2b2b;font-family:-apple-system,PingFang SC,Microsoft YaHei,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased}button{font-family:inherit}
