#app{display:block}.guest-toasts{left:50%;right:auto;transform:translate(-50%);align-items:center}:root{color-scheme:light;--bg: #f5f5f7;--card: #ffffff;--card-2: #f0f0f2;--line: #e5e5ea;--text: #1d1d1f;--text-2: #3c3c3e;--muted: #86868b;--faded: #b6b6ba;--accent: #0071e3;--accent-soft: #e8f0fe;--accent-line: #c9ddf8;--accent-bg: #f7faff;--green: #34c759;--orange: #ff9500;--red: #ff3b30;--disabled: #c7c7cc;--note: #b06a4a;--overlay: rgba(0, 0, 0, .32);--header-bg: rgba(255, 255, 255, .92);--toast-bg: rgba(29, 29, 31, .92);--shadow: 0 6px 18px rgba(0, 0, 0, .06);--shadow-modal: 0 20px 60px rgba(0, 0, 0, .2);--pill-warn-bg: #fff4e5;--pill-warn-fg: #b25e00;--pill-info-bg: #e8f0fe;--pill-info-fg: #0060c0;--pill-ok-bg: #e6f9ec;--pill-ok-fg: #1d8a3d;--pill-bad-bg: #fdecea;--pill-bad-fg: #c72c22;--pill-purple-bg: #f3e8fd;--pill-purple-fg: #7d3bbd;--warn-bg: #fff4e5;--warn-fg: #8a5300;--radius: 14px;--radius-lg: 18px;--safe-t: env(safe-area-inset-top, 0px);--safe-b: env(safe-area-inset-bottom, 0px);--safe-l: env(safe-area-inset-left, 0px);--safe-r: env(safe-area-inset-right, 0px)}:root[data-theme=dark]{color-scheme:dark;--bg: #000000;--card: #1c1c1e;--card-2: #2c2c2e;--line: #38383a;--text: #f5f5f7;--text-2: #d1d1d6;--muted: #98989d;--faded: #5a5a5e;--accent: #0a84ff;--accent-soft: #0a2540;--accent-line: #0a4a80;--accent-bg: #14202e;--green: #30d158;--orange: #ff9f0a;--red: #ff453a;--disabled: #48484a;--note: #e0a080;--overlay: rgba(0, 0, 0, .6);--header-bg: rgba(28, 28, 30, .92);--toast-bg: rgba(58, 58, 60, .96);--shadow: 0 6px 18px rgba(0, 0, 0, .5);--shadow-modal: 0 20px 60px rgba(0, 0, 0, .7);--pill-warn-bg: #3a2a12;--pill-warn-fg: #ffb340;--pill-info-bg: #12283f;--pill-info-fg: #6cb6ff;--pill-ok-bg: #13301c;--pill-ok-fg: #5ede82;--pill-bad-bg: #3a1a18;--pill-bad-fg: #ff7b70;--pill-purple-bg: #2a1c3d;--pill-purple-fg: #c99bf5;--warn-bg: #3a2a12;--warn-fg: #ffc773}@media (prefers-color-scheme: dark){:root:not([data-theme]){color-scheme:dark;--bg: #000000;--card: #1c1c1e;--card-2: #2c2c2e;--line: #38383a;--text: #f5f5f7;--text-2: #d1d1d6;--muted: #98989d;--faded: #5a5a5e;--accent: #0a84ff;--accent-soft: #0a2540;--accent-line: #0a4a80;--accent-bg: #14202e;--green: #30d158;--orange: #ff9f0a;--red: #ff453a;--disabled: #48484a;--note: #e0a080;--overlay: rgba(0, 0, 0, .6);--header-bg: rgba(28, 28, 30, .92);--toast-bg: rgba(58, 58, 60, .96);--shadow: 0 6px 18px rgba(0, 0, 0, .5);--shadow-modal: 0 20px 60px rgba(0, 0, 0, .7);--pill-warn-bg: #3a2a12;--pill-warn-fg: #ffb340;--pill-info-bg: #12283f;--pill-info-fg: #6cb6ff;--pill-ok-bg: #13301c;--pill-ok-fg: #5ede82;--pill-bad-bg: #3a1a18;--pill-bad-fg: #ff7b70;--pill-purple-bg: #2a1c3d;--pill-purple-fg: #c99bf5;--warn-bg: #3a2a12;--warn-fg: #ffc773}}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overscroll-behavior:contain}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro TC,PingFang TC,Noto Sans TC,sans-serif;background:var(--bg);color:var(--text);font-size:15px;-webkit-font-smoothing:antialiased;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;transition:background-color .2s,color .2s}button,.nav,.pill,.badge,.tcard,.kcard,.optbtn,.chips span,aside,.tabbar{-webkit-user-select:none;user-select:none}input,textarea,.selectable{-webkit-user-select:text;user-select:text}input,textarea,select,button{font-family:inherit;font-size:16px}.scroll-y{overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}#app{display:flex;min-height:100vh;min-height:100dvh}aside{width:212px;flex-shrink:0;background:var(--card);border-right:1px solid var(--line);padding:calc(20px + var(--safe-t)) 12px calc(10px + var(--safe-b)) calc(12px + var(--safe-l));display:flex;flex-direction:column;gap:2px;position:sticky;top:0;height:100vh;height:100dvh}aside .brand{font-size:17px;font-weight:700;padding:0 10px 16px;letter-spacing:.2px}aside .brand small{display:block;font-weight:400;color:var(--muted);font-size:12px;margin-top:2px}aside a.nav{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:10px;color:var(--text);text-decoration:none;font-size:14px;transition:background .15s}aside a.nav:active{background:var(--card-2)}aside a.nav.on{background:var(--accent-soft);color:var(--accent);font-weight:600}aside a.nav .badge{margin-left:auto}aside .foot{margin-top:auto;padding:10px 4px;font-size:12px;color:var(--muted)}aside .conn{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--green);margin-right:6px}aside .conn.off{background:var(--red)}main{flex:1;min-width:0;padding:calc(26px + var(--safe-t)) calc(30px + var(--safe-r)) calc(26px + var(--safe-b)) 30px}main h1{font-size:22px;font-weight:700;margin-bottom:4px}main .sub{color:var(--muted);font-size:13px;margin-bottom:20px}@media (max-width: 820px){#app{flex-direction:column}aside{width:100%;height:auto;position:fixed;bottom:0;top:auto;z-index:30;flex-direction:row;border-right:0;border-top:1px solid var(--line);padding:6px calc(6px + var(--safe-r)) calc(6px + var(--safe-b)) calc(6px + var(--safe-l));overflow-x:auto;gap:4px;align-items:center}aside .brand{display:none}aside .foot{margin:0;padding:0 4px}aside .foot .conn-text{display:none}aside a.nav{flex-direction:column;gap:2px;font-size:11px;padding:8px 12px;white-space:nowrap}aside a.nav .badge{position:absolute;margin:0;transform:translate(14px,-6px)}main{padding:calc(16px + var(--safe-t)) 16px calc(86px + var(--safe-b))}}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px}.grid{display:grid;gap:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:980px;padding:9px 18px;font-size:14px;cursor:pointer;min-height:40px;transition:background .12s,transform .08s;white-space:nowrap}.btn:active{transform:scale(.97);background:var(--card-2)}.btn:disabled{opacity:.4}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-green{background:var(--green);border-color:var(--green);color:#fff}.btn-red{background:var(--red);border-color:var(--red);color:#fff}.btn-orange{background:var(--orange);border-color:var(--orange);color:#fff}.btn-danger-text{color:var(--red)}.btn-sm{padding:6px 14px;font-size:13px;min-height:34px}.btn-block{width:100%;border-radius:var(--radius);font-size:16px;font-weight:700;padding:13px}.btn-icon{width:40px;min-height:40px;padding:0;border-radius:50%}.input,.select,textarea.input{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--card);color:var(--text)}.select{padding-right:34px;min-height:44px;line-height:1.4;text-overflow:ellipsis}.input:focus,.select:focus,textarea.input:focus{outline:2px solid var(--accent-line);border-color:var(--accent)}label.f{display:block;font-size:12.5px;color:var(--muted);margin:14px 0 6px}.badge{display:inline-flex;align-items:center;background:var(--red);color:#fff;border-radius:9px;padding:1px 7px;font-size:11.5px;font-weight:600}.pill{display:inline-flex;align-items:center;border-radius:980px;padding:3px 11px;font-size:12px;font-weight:600;white-space:nowrap}.st-SUBMITTED,.st-QUEUED,.st-pending,.st-SETTLING{background:var(--pill-warn-bg);color:var(--pill-warn-fg)}.st-CONFIRMED,.st-OPEN,.st-PRINTING{background:var(--pill-info-bg);color:var(--pill-info-fg)}.st-IN_PRODUCTION{background:var(--pill-purple-bg);color:var(--pill-purple-fg)}.st-DONE,.st-PAID,.st-issued{background:var(--pill-ok-bg);color:var(--pill-ok-fg)}.st-VOID,.st-FAILED,.st-invalid,.st-failed{background:var(--pill-bad-bg);color:var(--pill-bad-fg)}.st-VOID_PENDING{background:var(--pill-warn-bg);color:var(--pill-warn-fg)}table.tb{width:100%;border-collapse:collapse}table.tb th{text-align:left;font-size:12px;color:var(--muted);font-weight:600;padding:8px 10px;border-bottom:1px solid var(--line)}table.tb td{padding:10px;border-bottom:1px solid var(--line);font-size:13.5px;vertical-align:top}table.tb tr:last-child td{border-bottom:0}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.mask{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:40;display:flex;align-items:center;justify-content:center;padding:calc(20px + var(--safe-t)) 20px calc(20px + var(--safe-b))}.mask.sheet-mode{align-items:flex-end;padding:0;z-index:45}@media (min-width: 821px){.mask.sheet-mode{align-items:center;padding:calc(20px + var(--safe-t)) 20px calc(20px + var(--safe-b))}.dlg.sheet{border-radius:var(--radius-lg);padding-bottom:22px;max-height:88vh;max-height:88dvh}}.dlg{background:var(--card);border-radius:var(--radius-lg);padding:22px 24px;width:100%;max-width:540px;max-height:88vh;max-height:88dvh;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;box-shadow:var(--shadow-modal)}.dlg.wide{max-width:980px}.dlg.sheet{max-width:560px;border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding-bottom:calc(24px + var(--safe-b));max-height:86dvh}.dlg h2{font-size:18px;font-weight:700;margin-bottom:14px}.dlg-btns{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.toasts{position:fixed;top:calc(16px + var(--safe-t));right:16px;z-index:90;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{background:var(--toast-bg);color:#fff;padding:11px 18px;border-radius:12px;font-size:13.5px;box-shadow:0 8px 24px #0000002e;max-width:380px}.toast.bad{background:#c72c22f2}.toast-fade-enter-active,.toast-fade-leave-active{transition:opacity .2s,transform .2s}.toast-fade-enter-from,.toast-fade-leave-to{opacity:0;transform:translate(16px)}.optgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:10px;margin-top:6px}.optbtn{border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:16px;padding:14px 8px 12px;min-height:96px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;transition:background .12s,border-color .12s,transform .08s}.optbtn .ic{font-size:30px;line-height:1.1}.optbtn .lb{font-size:15px;font-weight:600}.optbtn small{font-size:11.5px;color:var(--muted)}.optbtn:active{transform:scale(.97)}.optbtn.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:700;box-shadow:inset 0 0 0 1px var(--accent)}.optbtn.on small{color:var(--accent)}.optgroup{margin:10px 0 4px}.optgroup .gl{font-size:12px;color:var(--muted);font-weight:700;display:flex;align-items:center;gap:6px}.optgroup .gl em{font-style:normal;font-weight:600;border-radius:980px;padding:1px 8px;font-size:11px}.optgroup .gl .req{background:var(--pill-bad-bg);color:var(--pill-bad-fg)}.optgroup .gl .opt{background:var(--card-2);color:var(--muted)}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 2px}.chips span{border:1px solid var(--line);border-radius:980px;padding:8px 16px;font-size:14px;cursor:pointer;transition:all .12s;background:var(--card)}.chips span:active{transform:scale(.96)}.chips span.sel{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:600}.misswarn{font-size:12px;color:var(--red);margin-top:4px}.stepper{display:flex;align-items:center;gap:16px}.stepper>button{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--text);font-size:19px;cursor:pointer;line-height:1;padding:0;flex:0 0 auto}.stepper>button:active{background:var(--card-2);transform:scale(.95)}.stepper>button.btn{width:auto;height:auto;min-height:34px;border-radius:980px;padding:6px 14px;font-size:13px}.stepper b{min-width:28px;text-align:center;font-size:17px}.muted{color:var(--muted)}.right{text-align:right}.mt{margin-top:14px}.row2{display:flex;gap:12px}.row2>*{flex:1}.warnbox{background:var(--warn-bg);color:var(--warn-fg);border-radius:10px;padding:11px 14px;font-size:13.5px;margin:10px 0}.notebox{background:var(--card-2);color:var(--text-2);border-radius:10px;padding:10px 13px;font-size:12.5px;line-height:1.6;margin:10px 0}.empty{text-align:center;color:var(--muted);padding:46px 0;font-size:14px}img.qr{border:1px solid var(--line);border-radius:12px;background:#fff;padding:6px}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:980px;padding:7px 12px;font-size:13px;cursor:pointer;min-height:36px}.theme-toggle:active{background:var(--card-2);transform:scale(.97)}.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:24px;align-items:start}.split>section{min-width:0}@media (max-width: 860px){.split{grid-template-columns:1fr;gap:18px}}.pane-h{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;font-weight:700;margin:0 0 8px}.pane-h .lnk{font-size:12.5px;color:var(--accent);cursor:pointer;font-weight:600}.pick{display:flex;flex-direction:column;gap:8px}.pick-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:10px 12px;cursor:pointer;border:1px solid var(--line);border-radius:12px;background:var(--card);transition:border-color .12s,background .12s}.pick-row.on{border-color:var(--accent);background:var(--accent-soft)}.pick-row .nm{flex:1;min-width:0;font-size:14px;line-height:1.45}.pick-row .nm small{display:block;font-size:11.5px;color:var(--muted)}.pick-row .amt{font-size:14px;font-weight:600;white-space:nowrap}.pick-row.settled{cursor:default;opacity:.5}.pick-row.settled .nm{text-decoration:line-through}.pick-row .vp,.pick-row .mk{flex:0 0 100%;font-size:11.5px;line-height:1.5;cursor:default}.pick-row .vp{color:var(--orange)}.pick-row .mk{color:var(--red);font-weight:600}.pick-row.making{border-color:var(--red)}.cbx{flex:0 0 auto;width:26px;height:26px;border-radius:8px;border:2px solid var(--line);background:var(--card);display:inline-flex;align-items:center;justify-content:center;transition:background .12s,border-color .12s}.cbx:after{content:"";width:6px;height:11px;margin-top:-2px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg) scale(.4);opacity:0;transition:opacity .12s,transform .12s}.cbx.on{background:var(--accent);border-color:var(--accent)}.cbx.on:after{opacity:1;transform:rotate(45deg) scale(1)}.cbx.part{background:var(--accent);border-color:var(--accent)}.cbx.part:after{width:12px;height:2.5px;margin:0;border:0;border-radius:2px;background:#fff;transform:none;opacity:1}.stepper.sm{gap:8px}.stepper.sm>button:not(.btn){width:30px;height:30px;font-size:16px}.stepper.sm>button.btn{min-height:32px;padding:6px 12px;font-size:13px}.stepper.sm b{min-width:34px;font-size:14px}.duebox{background:var(--accent-bg);border:1px solid var(--accent-line);border-radius:12px;padding:12px 14px;margin:4px 0 2px}.duebox .r{display:flex;justify-content:space-between;font-size:13.5px;padding:2px 0}.duebox .r.total{font-size:16px;font-weight:700;margin-top:6px}.duebox .r.total b{font-size:24px;color:var(--accent)}.settled-card{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--card-2);font-size:12.5px;margin-bottom:8px}.settled-card .hd{display:flex;justify-content:space-between;font-weight:700;margin-bottom:4px}.ptabs{display:flex;gap:6px;border-bottom:2px solid var(--line);margin-bottom:14px}.ptabs button{background:none;border:0;border-bottom:3px solid transparent;margin-bottom:-2px;color:var(--muted);font-size:15px;font-weight:700;font-family:inherit;padding:8px 14px;cursor:pointer;min-height:40px}.ptabs button.on{color:var(--accent);border-bottom-color:var(--accent)}.badge-set{display:inline-block;font-size:11px;font-weight:700;line-height:1.5;padding:0 7px;border-radius:999px;background:var(--accent);color:#fff;vertical-align:middle;margin-left:5px;white-space:nowrap}
