:root{--frame:#f3f6f4;--sheet:#fff;--edge:#e8ecea;--rule:#eef1ef;--raised:#f7f9f8;--ink:#0f1712;--muted:#66706b;--faint:#9aa39e;--accent:#1b7a4e;--accent-soft:#e8f5ee;--negative:#b4382c;--warn:#9a6a00;--chart-1:#1b7a4e;--chart-muted:#c9d1cc;--grid:#eef1ef;--axis-ink:#8a938e;--surface:#fff;--r:10px;font-feature-settings:"tnum" 1, "cv11" 1;color:var(--ink);font-family:Inter,system-ui,sans-serif}*{box-sizing:border-box}html,body{background:var(--frame);margin:0}body{font-size:14px;line-height:1.45}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}.app{grid-template-rows:48px 1fr;grid-template-columns:232px 1fr;min-height:100vh;display:grid}.side{flex-direction:column;grid-row:1/3;gap:2px;padding:12px 12px 16px;display:flex}.brand{align-items:center;gap:10px;height:36px;margin-bottom:14px;padding:0 8px;display:flex}.mark{background:var(--accent);border-radius:8px;place-items:center;width:26px;height:26px;display:grid}.brand b{letter-spacing:-.01em;font-size:15px;font-weight:600}.shop{background:var(--sheet);border:1px solid var(--edge);border-radius:10px;justify-content:space-between;align-items:center;margin:0 0 14px;padding:8px 10px;display:flex}.shop small{color:var(--muted);font-size:12px;display:block}.nav a{color:#4c5550;border-radius:8px;align-items:center;gap:10px;height:34px;padding:0 10px;transition:background .15s,color .15s;display:flex}.nav a:hover{color:var(--ink);background:#e9eeeb}.nav a.on{color:var(--ink);background:#e3e9e5;font-weight:500}.nav i{font-size:17px}.side .grow{flex:1}.side .user{color:var(--muted);align-items:center;gap:10px;padding:8px 10px;font-size:13px;display:flex}.avatar{width:28px;height:28px;color:var(--accent);background:#dfece5;border-radius:50%;place-items:center;font-size:12px;font-weight:600;display:grid}.top{justify-content:flex-end;align-items:center;gap:14px;padding:0 20px 0 0;display:flex}.lang{background:#e6ebe8;border-radius:8px;padding:2px;display:flex}.lang button{color:var(--muted);background:0 0;border:0;border-radius:6px;padding:3px 9px;font-size:12px}.lang button.on{background:var(--sheet);color:var(--ink);font-weight:500}.top .out{color:var(--muted);align-items:center;gap:6px;font-size:13px;display:flex}.sheet{background:var(--sheet);border:1px solid var(--edge);border-radius:16px;min-width:0;margin:0 8px 8px 0;padding:24px 28px 32px}.title{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}h1{letter-spacing:-.015em;margin:0;font-size:22px;font-weight:600}.title p{color:var(--muted);margin:4px 0 0}.seg{background:var(--raised);border-radius:9px;padding:3px;display:flex}.seg button{color:var(--muted);background:0 0;border:0;border-radius:7px;padding:5px 12px;font-size:13px;transition:background .15s}.seg button.on{background:var(--sheet);color:var(--ink);outline:1px solid var(--edge);font-weight:500}.btn{border:1px solid var(--edge);background:var(--sheet);border-radius:9px;align-items:center;gap:6px;height:34px;padding:0 14px;font-size:13px;font-weight:500;transition:transform .12s,background .15s;display:inline-flex}.btn:hover{background:var(--raised)}.btn:active{transform:scale(.97)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{background:#176a44}.card{border:1px solid var(--edge);border-radius:14px;min-width:0;padding:18px 20px}.card h2{margin:0;font-size:14px;font-weight:600}.card header{justify-content:space-between;align-items:baseline;margin-bottom:12px;display:flex}.card header a{color:var(--muted);font-size:13px}.card header a:hover{color:var(--ink)}.tabs{grid-template-columns:repeat(3,minmax(0,260px));gap:40px;margin:-4px 0 14px;display:grid}.tab{text-align:left;background:0 0;border:0;border-bottom:2px solid #0000;padding:6px 0 12px;transition:border-color .15s}.tab span{color:var(--muted);font-size:13px;display:block}.tab b{letter-spacing:-.02em;margin-top:2px;font-size:28px;font-weight:600;display:block}.tab b small{color:var(--muted);letter-spacing:0;font-size:14px;font-weight:500}.tab:not(.on) b{font-weight:500}.tab.on{border-bottom-color:var(--accent)}.tab .d{color:var(--muted);margin-top:2px;font-size:12.5px;display:block}.tab .d span{display:inline}.up{color:var(--accent)}.down{color:var(--negative)}.chart{height:220px}.grid2{grid-template-columns:1fr 1fr;gap:16px;margin-top:16px;display:grid}.grid3{grid-template-columns:1.15fr 1fr 1fr;gap:16px;margin-top:16px;display:grid}table{border-collapse:collapse;width:100%}th{text-align:left;color:var(--muted);padding:0 0 8px;font-size:12.5px;font-weight:500}td{border-top:1px solid var(--rule);padding:9px 0}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.dim{color:var(--muted)}.pay{flex-direction:column;gap:12px;display:flex}.pay .row{grid-template-columns:70px 1fr auto;align-items:center;gap:12px;display:grid}.bar{background:var(--raised);border-radius:4px;height:8px;overflow:hidden}.bar i{background:var(--chart-1);border-radius:4px;height:100%;display:block}.bar.g i{background:#9cc7b2}.thumb{background:var(--raised);object-fit:cover;border-radius:8px;flex:none;width:32px;height:32px}.pname{align-items:center;gap:10px;display:flex}.pill{background:var(--raised);color:var(--muted);border-radius:99px;padding:1px 8px;font-size:12px;display:inline-block}.pill.warn{color:var(--warn);background:#fbf2dc}.pill.neg{color:var(--negative);background:#fbe9e6}.banner{color:#5c4200;background:#fbf2dc;border-radius:12px;align-items:center;gap:12px;margin-bottom:18px;padding:10px 14px;font-size:13.5px;display:flex}.banner .btn{height:30px;margin-left:auto}@media (width<=1100px){.grid3{grid-template-columns:1fr 1fr}.grid3>:first-child{grid-column:1/-1}}@media (width<=900px){.app{grid-template-rows:48px 1fr;grid-template-columns:1fr}.side{display:none}.sheet{border-width:1px 0 0;border-radius:0;margin:0;padding:18px 16px}.tabs{grid-template-columns:1fr 1fr;gap:6px}.tabs .tab:last-child{grid-column:1/-1}.tab{border-bottom:0;border-radius:10px;padding:8px 10px}.tab.on{background:var(--accent-soft)}.tab b{font-size:22px}.grid2,.grid3{grid-template-columns:1fr}.title{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}#root{min-height:100vh}.beta{color:var(--accent);background:var(--accent-soft);border-radius:99px;margin-left:2px;padding:1px 7px;font-size:11px;font-weight:600}.beta-note{color:var(--faint);padding:4px 10px;font-size:12px}.top .shopname{margin-right:auto;padding-left:4px;font-weight:600;display:none}.menu-btn{background:0 0;border:0;padding:4px 8px;font-size:22px;display:none}.muted{color:var(--muted)}.small{font-size:12.5px}.err{color:var(--negative);margin-top:8px;font-size:13px}.center{place-items:center;min-height:100vh;padding:16px;display:grid}.empty{color:var(--muted);padding:18px 0 8px}.skeleton{background:var(--raised);border-radius:8px;min-height:18px;animation:1.2s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.55}}.login{background:var(--sheet);border:1px solid var(--edge);border-radius:18px;width:100%;max-width:380px;padding:28px 26px}.login .brand{margin:0 0 22px;padding:0}.login h1{font-size:20px}.login p{color:var(--muted);margin:6px 0 20px}.field{background:var(--sheet);border:1px solid #d7ddd9;border-radius:12px;align-items:center;gap:8px;height:44px;padding:0 12px;display:flex}.field:focus-within{border-color:var(--accent)}.field input{font:inherit;letter-spacing:.01em;background:0 0;border:0;outline:none;flex:1;min-width:0;font-size:16px}.field .pre{color:var(--muted);font-size:16px}.login .btn{justify-content:center;width:100%;height:44px;margin-top:14px;font-size:14.5px}.link{color:var(--muted);background:0 0;border:0;padding:8px 0 0;font-size:13px}.link:hover{color:var(--ink)}.login .foot{text-align:center;color:var(--faint);margin-top:18px;font-size:12px}.counts{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-bottom:16px;display:grid}.count{text-align:left;border:1.5px solid var(--edge);background:var(--sheet);border-radius:12px;padding:10px 12px;transition:border-color .15s,background .15s}.count span{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:13px;display:block;overflow:hidden}.count b{font-size:17px;font-weight:600}.count.on{border-color:var(--accent);background:var(--accent-soft)}.count:hover:not(.on){border-color:#d3dad6}.tools{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;display:flex}.search{background:var(--raised);min-width:200px;height:36px;color:var(--muted);border-radius:10px;flex:1;align-items:center;gap:8px;padding:0 12px;display:flex}.search input{font:inherit;color:var(--ink);background:0 0;border:0;outline:none;flex:1;min-width:0}select.btn{max-width:240px;padding-right:10px}.sel{background:var(--ink);color:#fff;border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 8px;padding:8px 10px 8px 14px;font-size:13.5px;display:flex}.sel .btn{color:#fff;background:#26302a;border-color:#26302a;height:30px}.sel .btn:hover{background:#33403a}.sel .x{color:#aab3ae;background:0 0;border:0;margin-left:auto;font-size:16px}.tablewrap{overflow-x:auto}.t{min-width:900px}.t td,.t th{padding-left:8px;padding-right:8px}.t th{white-space:nowrap;-webkit-user-select:none;user-select:none}.t th.sortable{cursor:pointer}.t th.sortable:hover,.t th.sorted{color:var(--ink)}.t th:first-child,.t td:first-child{width:36px;padding-left:4px}.t tr.picked td{background:#f5faf7}.t tbody tr:hover td{background:var(--raised)}.cb{vertical-align:middle;background:var(--sheet);border:1.5px solid #c4ccc7;border-radius:5px;place-items:center;width:16px;height:16px;padding:0;display:inline-grid}.cb.on{background:var(--accent);border-color:var(--accent);color:#fff}.cb i{font-size:12px}.pname .sub{color:var(--faint);font-size:12px;display:block}.pname .nm{cursor:pointer}.pname .nm:hover{color:var(--accent)}.cell-edit{position:relative}.edit{color:var(--ink);font:inherit;font-variant-numeric:tabular-nums;background:0 0;border:0;border-radius:6px;padding:2px 6px}.edit:hover{background:var(--accent-soft);color:var(--accent)}.inline-input{border:1px solid var(--accent);width:110px;height:30px;font:inherit;text-align:right;font-variant-numeric:tabular-nums;border-radius:8px;outline:none;padding:0 8px}.pop{background:var(--sheet);border:1px solid var(--edge);z-index:5;text-align:left;white-space:normal;border-radius:14px;width:300px;padding:16px;animation:.14s ease-out rise;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 6px 16px #0f171212}@keyframes rise{0%{opacity:0;transform:translateY(-4px)scale(.98)}}.pop label{color:var(--muted);margin-bottom:6px;font-size:12.5px;display:block}.qty{align-items:center;gap:10px;margin-bottom:14px;display:flex}.qty input{width:100px;height:38px;font:inherit;font-variant-numeric:tabular-nums;border:1px solid #d7ddd9;border-radius:10px;outline:none;padding:0 10px;font-size:16px;font-weight:600}.qty input:focus{border-color:var(--accent)}.chips{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.chip{border:1px solid var(--edge);background:var(--sheet);border-radius:99px;padding:4px 11px;font-size:13px;transition:background .12s}.chip.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:500}.acts{justify-content:flex-end;gap:8px;display:flex}.foot-row{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:14px 4px 0;font-size:13px;display:flex}.foot-row b{color:var(--ink);font-weight:600}.pager{align-items:center;gap:6px;display:flex}.pager .btn{height:30px;padding:0 10px}.scrim{z-index:20;background:#0f171247;place-items:center;padding:16px;animation:.15s ease-out fade;display:grid;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.dialog{background:var(--sheet);border-radius:16px;width:100%;max-width:460px;max-height:86vh;padding:20px 22px;animation:.16s ease-out rise;overflow:auto;box-shadow:0 16px 40px #0f17122e}.dialog h3{margin:0 0 14px;font-size:16px;font-weight:600}.dialog .row2{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.dialog input,.dialog select{height:40px;font:inherit;border:1px solid #d7ddd9;border-radius:10px;outline:none;padding:0 10px}.dialog input:focus,.dialog select:focus{border-color:var(--accent)}.preview{max-height:220px;margin-bottom:14px;overflow:auto}.preview td{padding:6px 0;font-size:13px}.drawer-scrim{z-index:20;background:#0f17122e;animation:.15s ease-out fade;position:fixed;inset:0}.drawer{background:var(--sheet);border:1px solid var(--edge);z-index:21;border-radius:16px;width:min(420px,100vw - 16px);padding:20px 22px;animation:.2s cubic-bezier(.2,.8,.2,1) slide;position:fixed;top:8px;bottom:8px;right:8px;overflow:auto;box-shadow:0 16px 40px #0f171224}@keyframes slide{0%{opacity:0;transform:translate(24px)}}.drawer .head{align-items:center;gap:14px;margin-bottom:16px;padding-right:24px;display:flex}.drawer .head img,.drawer .head .ph{object-fit:cover;background:var(--raised);border-radius:12px;flex:none;width:64px;height:64px}.drawer h3{margin:0;font-size:17px;font-weight:600}.kv{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px;display:grid}.kv div{background:var(--raised);border-radius:12px;padding:10px 12px}.kv span{color:var(--muted);font-size:12.5px;display:block}.kv b{font-size:16px;font-weight:600}.close{color:var(--muted);background:0 0;border:0;font-size:18px;position:absolute;top:14px;right:14px}.sub-card{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;display:flex}.sub-card .big{letter-spacing:-.01em;font-size:22px;font-weight:600}.toast{background:var(--ink);color:#fff;z-index:30;border-radius:12px;padding:10px 16px;font-size:13.5px;animation:.16s ease-out rise;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}@media (width<=1200px){.counts{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=900px){.top{justify-content:space-between;padding:0 12px}.top .shopname,.menu-btn{display:block}.app.nav-open .side{background:var(--frame);z-index:25;display:flex;position:fixed;inset:0 30% 0 0;box-shadow:0 0 40px #00000026}.counts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){*,:before,:after{animation:none!important}}.faint{color:var(--faint)}.btn.danger{background:var(--negative);border-color:var(--negative)}.btn.danger:hover{background:#9c2f25}.btn:disabled{opacity:.5;cursor:default;transform:none}.drawer .head .ph{display:block}.dialog .seg button{height:34px}th.num,td.num{padding-left:14px}.tabs.four{grid-template-columns:repeat(4,minmax(0,230px))}@media (width<=900px){.tabs.four{grid-template-columns:1fr 1fr}.tabs.four .tab:last-child{grid-column:auto}}svg.mark{background:0 0;border-radius:0;flex:none;width:24px;height:30px;display:block}.period{position:relative}.period .seg{flex-wrap:wrap}input.dt{width:100%;height:38px;font:inherit;border:1px solid #d7ddd9;border-radius:10px;outline:none;padding:0 10px}input.dt:focus{border-color:var(--accent)}.rtabs{border-bottom:1px solid var(--rule);gap:4px;margin:-4px 0 4px;display:flex;overflow-x:auto}.rtabs button{color:var(--muted);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;padding:9px 14px;font-weight:500}.rtabs button.on{color:var(--ink);border-bottom-color:var(--accent)}.kpis{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:16px;display:grid}.kpis.two{grid-template-columns:repeat(2,minmax(0,1fr))}.kpis>div{border:1px solid var(--edge);border-radius:14px;padding:14px 16px}.kpis span{color:var(--muted);font-size:13px;display:block}.kpis b{letter-spacing:-.015em;margin-top:2px;font-size:22px;font-weight:600;display:block}.kpis b small{color:var(--muted);font-size:13px;font-weight:500}.kpis em{color:var(--muted);font-size:12.5px;font-style:normal}.small-btn{height:30px;padding:0 10px;font-size:12.5px}.card header .seg button{padding:4px 10px;font-size:12.5px}.heat{align-items:center;gap:3px;display:grid}.heat .cell{background:var(--raised);border-radius:4px;height:22px}.heat .hl{color:var(--muted);text-align:center;font-size:11px}tr.totrow td{border-top:1.5px solid var(--edge);font-weight:600}@media (width<=900px){.kpis{grid-template-columns:1fr 1fr}.title .period{width:100%}.period .pop{left:0;right:auto}}.login h1{margin-bottom:18px}.sent-to{color:var(--muted);background:0 0;border:0;align-items:center;gap:6px;margin:-6px 0 12px;padding:0;font-size:14px;display:inline-flex}.sent-to:hover{color:var(--ink)}.sent-to i{font-size:15px}.login .resend{margin:6px auto 0;display:block}
