:root{--brand: #0562fe;--brand-strong: #0453da;--brand-sub1: #5f41e0;--brand-sub2: #22bdff;--blue: #0562fe;--blue2: #3a8ef6;--navy: #0f172a;--navy2: #1e293b;--ink: #0f172a;--muted: #64748b;--line: #e8edf4;--line2: #f1f5f9;--bg: #eef2f8;--lighter: #eef4ff;--light: #cfe5fb;--side: #0f172a;--side2: #1e293b;--g: #15803d;--g-bg: #e9f7ef;--b: #0562fe;--b-bg: #e7efff;--y: #b45309;--y-bg: #fdf3e3;--r: #be123c;--r-bg: #fdeaee;--n: #64748b;--n-bg: #eef1f6;--p: #7c3aed;--p-bg: #f1ebfe;--radius: 16px;--shadow-sm: 0 1px 2px rgba(16,24,40,.04);--shadow: 0 4px 14px rgba(16,24,40,.07);--shadow-lg: 0 18px 48px rgba(15,23,42,.16);--side-w: 228px;--top-h: 52px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;color:var(--ink);font-family:Pretendard,Inter,Pretendard Variable,system-ui,-apple-system,sans-serif;font-size:13.5px;line-height:1.5;-webkit-font-smoothing:antialiased;background:radial-gradient(1200px 600px at 100% -10%,#e8eefb 0%,transparent 55%),radial-gradient(1000px 500px at -10% 110%,#e9f0fb 0%,transparent 50%),var(--bg)}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}h1,h2,h3,h4{margin:0}.mono{font-family:Consolas,SFMono-Regular,monospace}.muted{color:var(--muted)}svg{vertical-align:-.15em}:where(.pos-root) p,:where(.pos-root) ul,:where(.pos-root) li,:where(.pos-root) h3,:where(.pos-root) h4,:where(.pos-root) dl,:where(.pos-root) dd{margin:0;padding:0}:where(.pos-root) ul,:where(.pos-root) li{list-style:none}.pos-root .prd_list_area>ul.prd_list_wrap{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px;align-content:start}.pos-root .prd_list_area>ul.prd_list_wrap>li.prd_list{width:auto;height:60px}.pos-root .barcode_double_wrap .saledate_wrap{flex:0 0 auto}.pos-root .saledate_wrap input{flex:none;width:172px;font-size:17px;padding:0 10px}.pos-root .barcode_wrap{gap:8px}.pos-root .barcode_double_wrap .barcode_wrap,.pos-root .barcode_double_wrap .barcode_wrap input{min-width:0}.pos-root .barcode_double_wrap .btn_customer_search,.pos-root .barcode_double_wrap .btn_barcode_search{flex:0 0 auto;white-space:nowrap}.pos-root .barcode_divider{margin:0 10px}.pos-root .customer_inline_info{flex:1;min-width:0;height:48px;display:flex;align-items:center;gap:6px;padding:0 14px;background:#fff8f0;border:2px solid #ff6b35;border-radius:8px;font-size:15px;white-space:nowrap;overflow:hidden}.pos-root.pos-mobile .customer_barcode_wrap.has-customer{display:flex}.pos-root.pos-mobile .customer_barcode_wrap.has-customer label{display:none}@media(orientation:portrait){.pos-root .orderlist_wrap .oderlist .salelist_wrap{height:230px;min-height:230px}.pos-root .pay_area{min-height:0}.pos-root .calculator_area .calculator_buttons,.pos-root .calculator_area .calculator_buttons .calc_row{flex:none}.pos-root .calculator_area .calculator_buttons .calc_row .btn_calc{height:50px}.pos-root .container>ul.cnt>li.right_area{flex:1 1 0;min-height:140px}.pos-root .prd_list_area{flex:1;min-height:0}.pos-root .prd_list_area>ul{flex:1 1 0;min-height:0;height:auto;overflow-y:auto}}@media(orientation:portrait)and (min-width:600px){.pos-root .barcode_double_wrap{flex-direction:row;gap:0}.pos-root .barcode_divider{display:block}.pos-root .barcode_double_wrap .barcode_wrap,.pos-root .barcode_double_wrap .barcode_wrap input{min-width:0}.pos-root .barcode_double_wrap .btn_customer_search,.pos-root .barcode_double_wrap .btn_barcode_search{flex-shrink:0;white-space:nowrap}}@media(max-width:700px){.pos-root.pos-mobile .page-wraper{display:block;height:auto;min-height:100%;overflow:visible;padding-bottom:0}.pos-root.pos-mobile .container{display:block}.pos-root.pos-mobile .container>ul.cnt.flex{display:block}.pos-root.pos-mobile #header,.pos-root.pos-mobile .barcode_area,.pos-root.pos-mobile .container>ul.cnt>li,.pos-root.pos-mobile #footer{order:0}.pos-root.pos-mobile .barcode_area{margin:0 10px 10px}.pos-root.pos-mobile .top2 .notice_area{display:none}.pos-root.pos-mobile .header .top1 .left_area .btn_list p{font-size:11px}.pos-root.pos-mobile .customer_barcode_wrap,.pos-root.pos-mobile .barcode_divider{display:none}.pos-root.pos-mobile .barcode_double_wrap{flex-direction:column;gap:0}.pos-root.pos-mobile .product_barcode_wrap label{display:none}.pos-root.pos-mobile .product_barcode_wrap input{min-width:0;flex:1}.pos-root.pos-mobile .pos-seg{position:sticky;top:0;z-index:6;display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:8px 10px;background:#edf0f9}.pos-root.pos-mobile .pos-seg button{display:flex;align-items:center;justify-content:center;gap:6px;padding:11px 0;border:1.5px solid #cfd9e6;border-radius:10px;background:#fff;color:#475569;font-size:14.5px;font-weight:800;font-family:inherit}.pos-root.pos-mobile .pos-seg button.on{background:#0562fe;border-color:#0562fe;color:#fff}.pos-root.pos-mobile .pos-seg button em{font-style:normal;font-size:12px;font-weight:800;min-width:20px;padding:1px 6px;border-radius:999px;background:#0f172a1f;color:inherit}.pos-root.pos-mobile .pos-seg button.on em{background:#ffffff47}.pos-root.pos-mobile .container>ul.cnt>li{width:auto;max-width:none;margin:0;padding:0 10px;height:auto;flex:none}.pos-root.pos-mobile.pane-prd .container>ul.cnt>li.left_area,.pos-root.pos-mobile.pane-prd .container>ul.cnt>li.center_area{display:none}.pos-root.pos-mobile.pane-order .container>ul.cnt>li.right_area{display:none}.pos-root.pos-mobile .container{padding-bottom:132px}.pos-root.pos-mobile .order_title .prd_price,.pos-root.pos-mobile .order_title .prd_dc,.pos-root.pos-mobile .salelist .sale_price,.pos-root.pos-mobile .salelist .sale_dc{display:none}.pos-root.pos-mobile .order_title .prd_name,.pos-root.pos-mobile .salelist .sale_name{flex:1 1 auto;text-align:left}.pos-root.pos-mobile .orderlist_wrap .oderlist .salelist_wrap{height:auto;min-height:180px;max-height:42vh}.pos-root.pos-mobile .pay_area{display:block;min-height:0}.pos-root.pos-mobile .calculator_area,.pos-root.pos-mobile .pay_summary{width:auto;max-width:none;min-width:0;margin:0 0 10px}.pos-root.pos-mobile .quick_amount_buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.pos-root.pos-mobile .quick_amount_buttons .btn_quick{width:auto;white-space:nowrap}.pos-root.pos-mobile .calculator_area .calculator_buttons{display:block}.pos-root.pos-mobile .calculator_area .calc_row{display:flex;gap:6px;margin-bottom:6px}.pos-root.pos-mobile .calculator_area .calc_row .btn_calc{flex:1 1 0;width:auto;height:48px;white-space:nowrap}.pos-root.pos-mobile .category_tab_area{overflow-x:auto;-webkit-overflow-scrolling:touch}.pos-root.pos-mobile .category_tab_wrap{display:flex;flex-wrap:nowrap;gap:6px}.pos-root.pos-mobile .category_tab{flex:0 0 auto;white-space:nowrap}.pos-root.pos-mobile .prd_list_area{display:block;flex:none;height:auto;min-height:0}.pos-root.pos-mobile .prd_list_area>ul.prd_list_wrap{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px;height:auto;max-height:none;overflow:visible;flex:none}.pos-root.pos-mobile .prd_list_area>ul.prd_list_wrap>li.prd_list{height:66px}.pos-root.pos-mobile .pos-paybar{position:fixed;left:0;right:0;bottom:0;z-index:20;background:#fff;border-top:1px solid #dfe5ee;padding:8px 10px calc(8px + env(safe-area-inset-bottom));box-shadow:0 -6px 20px #0f172a1a}.pos-root.pos-mobile .pos-paybar .pb-sum{display:flex;align-items:baseline;justify-content:space-between;padding:0 2px 7px}.pos-root.pos-mobile .pos-paybar .pb-sum span{font-size:12.5px;font-weight:700;color:#64748b}.pos-root.pos-mobile .pos-paybar .pb-sum b{font-size:21px;font-weight:900;color:#0f172a}.pos-root.pos-mobile .pos-paybar .pb-sum b i{font-style:normal;font-size:13px;margin-left:2px;font-weight:700}.pos-root.pos-mobile .pos-paybar .pb-btns{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.pos-root.pos-mobile .pos-paybar .pb-btns button{padding:13px 0;border:0;border-radius:10px;font-size:14.5px;font-weight:800;font-family:inherit;color:#fff}.pos-root.pos-mobile .pos-paybar .pb-btns button:disabled{opacity:.5}.pos-root.pos-mobile .pos-paybar .pb-card{background:#0562fe}.pos-root.pos-mobile .pos-paybar .pb-cash{background:#15803d}.pos-root.pos-mobile .pos-paybar .pb-credit{background:#b45309}.pos-root.pos-mobile .pos-paybar .pb-more{background:#eef2f8;color:#334155}.pos-root.pos-mobile #footer.pos-collapsed{display:none}.pos-root.pos-mobile #footer{position:fixed;left:0;right:0;bottom:118px;z-index:19;width:auto;height:auto;max-height:46vh;overflow-y:auto;background:#fff;border-top:1px solid #dfe5ee;padding:0;box-shadow:0 -6px 20px #0f172a1a}.pos-root.pos-mobile #footer .cnt{width:auto;max-width:none;padding:0}.pos-root.pos-mobile #footer .cnt>ul{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:10px}.pos-root.pos-mobile #footer ul .ft_list{width:auto;height:auto;margin:0;padding:14px 0;border-radius:10px;display:flex;align-items:center;justify-content:center}.pos-root.pos-mobile #footer ul .ft_list p{font-size:13.5px;white-space:nowrap}}.thumb{width:34px;height:34px;border-radius:8px;object-fit:cover;vertical-align:middle}.img-box{border-radius:12px;overflow:hidden}.img-box img{width:100%;height:100%;object-fit:cover;display:block}*::-webkit-scrollbar{width:9px;height:9px}*::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}*::-webkit-scrollbar-thumb:hover{background:#94a3b8}*::-webkit-scrollbar-track{background:transparent}.btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:7px 14px;border-radius:10px;border:1px solid #e3e8ef;background:#fff;color:var(--ink);font-weight:600;font-size:13px;white-space:nowrap;transition:.14s}.btn:hover{background:#f6f9fe;border-color:#c5d3e6;transform:translateY(-1px)}.btn:active{transform:none}.btn.pri{background:linear-gradient(135deg,var(--brand),var(--brand-strong));color:#fff;border:0;box-shadow:0 3px 10px #0562fe47}.btn.pri:hover{filter:brightness(1.04)}.btn.nav{background:linear-gradient(135deg,#1e293b,#334155);color:#fff;border:0}.btn.dang{color:var(--r);border-color:#f3c0cb;background:#fff}.btn.dang:hover{background:var(--r-bg)}.btn.warn{color:var(--y);border:1.5px dashed #e9b877;background:#fff}.btn.excel{color:#15733b;border-color:#b8e2c6;background:#f1faf4}.btn.sm{padding:5px 10px;font-size:11.5px;border-radius:8px}.btn.lg{padding:11px 20px;font-size:14px;border-radius:12px}.btn.block{display:flex;width:100%}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.st{display:inline-flex;align-items:center;padding:1px 9px;border-radius:999px;font-size:11px;font-weight:600;white-space:nowrap}.st.g{background:var(--g-bg);color:var(--g)}.st.b{background:var(--b-bg);color:var(--b)}.st.y{background:var(--y-bg);color:var(--y)}.st.r{background:var(--r-bg);color:var(--r)}.st.n{background:var(--n-bg);color:var(--n)}.st.p{background:var(--p-bg);color:var(--p)}.panel{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow-sm);overflow:hidden;margin-bottom:14px}.panel.grow{flex:1;min-height:0}.panel.grow>.panel-b{flex:1;min-height:0;overflow:auto}.panel-h{display:flex;align-items:center;gap:8px;padding:11px 14px;border-bottom:1px solid var(--line2)}.panel-h b{font-size:13px;font-weight:700}.panel-h .cnt{color:var(--muted);font-weight:600}.panel-h .right{margin-left:auto;display:flex;gap:8px;align-items:center}.panel-b{padding:12px 14px}.panel-b.nopad{padding:0}.kpis{display:grid;gap:12px;margin-bottom:14px}.kpi{position:relative;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 14px 10px 16px;box-shadow:var(--shadow-sm);overflow:hidden;transition:.16s}.kpi:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.kpi .bar{position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:4px 0 0 4px}.kpi.g .bar{background:linear-gradient(180deg,#22c55e,#15803d)}.kpi.b .bar{background:linear-gradient(180deg,#3a8ef6,#0562fe)}.kpi.y .bar{background:linear-gradient(180deg,#f59e0b,#b45309)}.kpi.r .bar{background:linear-gradient(180deg,#f43f5e,#be123c)}.kpi.n .bar{background:linear-gradient(180deg,#94a3b8,#64748b)}.kpi.p .bar{background:linear-gradient(180deg,#a855f7,#7c3aed)}.kpi .lab{font-size:11.5px;color:var(--muted);font-weight:600}.kpi .val{font-size:21px;font-weight:800;letter-spacing:-.5px;margin-top:2px;color:var(--navy)}.kpi .val small{font-size:12px;font-weight:600;color:var(--muted);margin-left:3px;letter-spacing:0}.kpi .delta{display:block;font-size:10.5px;font-weight:700;margin-top:3px}.kpi .delta.up{color:var(--g)}.kpi .delta.down{color:var(--r)}.filter{display:flex;align-items:flex-end;flex-wrap:wrap;gap:8px 14px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:9px 12px;box-shadow:var(--shadow-sm);margin-bottom:12px}.filter .flds{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px 14px;flex:1}.filter .fbtns{display:flex;gap:8px;margin-left:auto}.fld{display:flex;flex-direction:column;gap:4px}.fld>label{font-size:11px;font-weight:600;color:var(--muted)}.fld input,.fld select{padding:6px 9px;border:1px solid #e2e8f0;border-radius:10px;font-size:12.5px;font-family:inherit;background:#fff}.fld input:focus,.fld select:focus{outline:0;border-color:var(--brand);box-shadow:0 0 0 3px #0562fe1f}.fld.f-xs input,.fld.f-xs select{width:90px}.fld.f-sm input,.fld.f-sm select{width:120px}.fld.f-lg input,.fld.f-lg select{width:200px}.fld.f-grow{flex:1}.fld.f-grow input{width:100%}.tbl-wrap{width:100%;overflow:auto}table.tbl{width:100%;border-collapse:collapse;font-size:12.5px}table.tbl th{position:sticky;top:0;z-index:1;background:#f8fafc;text-align:left;padding:9px 10px;color:var(--muted);font-size:11.5px;font-weight:700;border-bottom:1px solid #e7ecf3;white-space:nowrap}table.tbl td{padding:9px 10px;border-bottom:1px solid var(--line2);vertical-align:middle;color:#334155}table.tbl tr:last-child td{border-bottom:none}table.tbl tbody tr:hover{background:#f8fbff}table.tbl td.r,table.tbl th.r{text-align:right;font-variant-numeric:tabular-nums}table.tbl td.c,table.tbl th.c{text-align:center}table.tbl td.lk{color:var(--brand);font-weight:600;cursor:pointer}table.tbl td.mono{font-family:Consolas,monospace;color:#475569}table.tbl tr.warn-row{background:#fff8f8}table.tbl tr.warn-row:hover{background:#fff1f1}table.tbl tr.good-row{background:#f2f9f2}table.tbl.dense th{padding:7px 10px}table.tbl.dense td{padding:5px 10px;line-height:1.35}table.tbl.dense td small{font-size:11px}table.tbl td.grp{vertical-align:top}table.tbl th.fit,table.tbl td.fit{width:1%;white-space:nowrap}table.tbl tbody tr.grp-first>td{border-top:1px solid var(--line)}table.tbl tbody tr.grp-first:first-child>td{border-top:0}.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:13px 16px}.fitem{display:flex;flex-direction:column;gap:5px}.fitem.full{grid-column:1 / -1}.fitem label{font-size:12px;font-weight:600;color:#4b5563}.fitem label .req{color:var(--r);margin-left:2px}.fitem input,.fitem select,.fitem textarea{padding:9px 11px;border:1.5px solid #cfd9e6;border-radius:10px;font-size:13.5px;font-family:inherit;background:#fff}.fitem textarea{min-height:72px;resize:vertical}.fitem input:focus,.fitem select:focus,.fitem textarea:focus{outline:0;border-color:var(--brand);box-shadow:0 0 0 3px #0562fe1f}.chips{display:flex;flex-wrap:wrap;gap:7px}.chip{border:1.5px solid #cfd9e6;border-radius:999px;padding:6px 12px;font-size:12.5px;font-weight:700;background:#fff;color:#475569;transition:.12s}.chip:hover{border-color:var(--brand)}.chip.on{background:var(--lighter);border-color:var(--brand);color:var(--brand-strong)}.banner{border-radius:12px;padding:11px 14px;font-size:13px;font-weight:600;margin-bottom:12px;background:var(--g-bg);border:1px solid #c8e6d1;color:#166534}.banner.b{background:var(--b-bg);border-color:#bcd4ff;color:var(--brand-strong)}.banner.y{background:var(--y-bg);border-color:#f5dca8;color:#8a5300}.banner.r{background:var(--r-bg);border-color:#f6c9d3;color:var(--r)}.prog{background:#eef1f4;border-radius:8px;height:9px;overflow:hidden}.prog i{display:block;height:100%;background:linear-gradient(90deg,var(--brand),var(--brand-sub2));border-radius:8px}.prog.g i{background:linear-gradient(90deg,#22c55e,#15803d)}.prog.r i{background:linear-gradient(90deg,#f43f5e,#be123c)}.cta{display:flex;align-items:center;gap:14px;background:#fff;border:2px solid var(--brand);border-radius:14px;padding:16px;box-shadow:var(--shadow-sm);margin-bottom:14px}.cta .cta-ic{font-size:26px}.cta .cta-body{flex:1;min-width:0}.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.two.a2{align-items:start}@media(max-width:900px){.two{grid-template-columns:1fr}}.pgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}@media(max-width:1360px){.pgrid{grid-template-columns:repeat(3,1fr)}}@media(max-width:860px){.pgrid{grid-template-columns:repeat(2,1fr)}}.pcard{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fff;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:10px;transition:.16s}.pcard:hover{box-shadow:var(--shadow)}.pcard.alert{border-color:#f5b5bb;background:#fff7f7}.pcard-h{display:flex;align-items:center;justify-content:space-between;gap:8px}.pcard-h b{font-size:14px;font-weight:800;color:var(--navy)}.pcard-h .pc-route{font-size:11.5px;color:var(--muted);margin-left:6px;font-weight:600}.pcard-body{display:flex;align-items:center;gap:12px}.pc-gauge{display:flex;flex-direction:column;align-items:center;gap:3px;flex-shrink:0}.pc-gauge span{font-size:11px;color:var(--muted);font-weight:700}.gauge{display:block}.gauge-t{font-size:14px;font-weight:800;fill:var(--navy)}.pc-metrics{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.pc-sales{display:flex;align-items:baseline;justify-content:space-between;gap:6px}.pc-sales b{font-size:16px;font-weight:800;color:var(--navy);letter-spacing:-.4px}.pc-sales span{font-size:11px;color:var(--muted);font-weight:700;white-space:nowrap}.spark{display:block;width:100%;height:26px}.pcard-f{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line2);padding-top:8px;font-size:12px;color:var(--muted)}.pcard-f b{color:var(--navy)}.mtrends{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}@media(max-width:900px){.mtrends{grid-template-columns:1fr}}.mtrend{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff}.mt-top{display:flex;align-items:baseline;justify-content:space-between}.mt-lab{font-size:12px;color:var(--muted);font-weight:700}.mt-val{font-size:18px;font-weight:800;color:var(--navy);letter-spacing:-.4px}.mt-svg{display:block;width:100%;height:42px;margin:4px 0 2px}.mt-delta{font-size:11px;font-weight:700}.catperf{padding:8px 16px 4px}.cp-row{display:flex;align-items:center;gap:10px;padding:7px 0}.cp-name{width:76px;flex-shrink:0;font-size:13px;font-weight:700;color:var(--navy)}.cp-bar{flex:1;height:8px;background:#eef2f8;border-radius:999px;overflow:hidden}.cp-bar span{display:block;height:100%;border-radius:999px}.cp-mape{width:72px;flex-shrink:0;text-align:right;font-size:12px;font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums}.adopt{display:flex;align-items:center;gap:16px}.adopt-gauge{display:flex;flex-direction:column;align-items:center;gap:2px;flex-shrink:0}.adopt-gauge span{font-size:11px;color:var(--muted);font-weight:700}.adopt-list{flex:1;min-width:0;display:flex;flex-direction:column;gap:9px}.ad-row{display:flex;align-items:center;gap:10px}.ad-t{width:104px;flex-shrink:0;font-size:12.5px;font-weight:600;color:var(--ink)}.ad-r{width:38px;flex-shrink:0;text-align:right;font-size:13px;font-weight:800;color:var(--navy)}.sec-hd{font-size:13px;font-weight:800;color:var(--muted);letter-spacing:-.2px}.ex-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:10px}.ex-head>span{font-size:12px;color:var(--muted);font-weight:600}.ex-head b{font-size:15px;color:var(--navy);font-weight:800}.ex-qty{color:var(--brand-strong);font-size:19px}.ex-bar{display:flex;height:34px;border-radius:9px;overflow:hidden;border:1px solid var(--line)}.exb-need{background:linear-gradient(180deg,var(--brand-sub2),var(--brand));color:#fff;display:flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:800;min-width:0;white-space:nowrap}.exb-have{background:#eef2f8;color:var(--muted);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;min-width:0;white-space:nowrap}.ex-axis{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin:5px 2px 0;font-weight:600}.ex-effect{display:flex;gap:8px;margin-bottom:12px}.efx{flex:1;text-align:center;background:var(--lighter);border-radius:9px;padding:7px 4px}.efx b{display:block;font-size:15px;color:var(--brand-strong);font-weight:800}.efx span{font-size:10.5px;color:var(--muted);font-weight:600}.ex-drivers{display:flex;flex-direction:column;gap:9px}.exd{display:flex;align-items:flex-start;gap:9px}.exd-ic{width:26px;height:26px;border-radius:7px;background:var(--lighter);color:var(--brand-strong);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.exd-ic.t-r{background:var(--r-bg);color:var(--r)}.exd-ic.t-g{background:var(--g-bg);color:var(--g)}.exd-ic.t-b{background:var(--b-bg);color:var(--b)}.exd-ic.t-y{background:var(--y-bg);color:var(--y)}.exd b{display:block;font-size:12.5px;color:var(--navy);font-weight:700}.exd small{display:block;font-size:11.5px;color:var(--muted);line-height:1.4}.cap{margin-bottom:12px}.cap-top{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:5px}.cap-top span{font-size:12px;color:var(--muted);font-weight:700}.cap-top b{font-size:13px;font-weight:800}.cap-note{display:block;font-size:10.5px;color:var(--muted);margin-top:5px}.rlist{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.rl-row{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;border:1px solid var(--line);cursor:pointer;background:#fff;transition:.12s}.rl-row:hover{border-color:var(--brand)}.rl-row.on{border-color:var(--brand);background:var(--lighter)}.rl-nm{flex:1;min-width:0;font-size:13px;font-weight:700;color:var(--navy)}.rl-qty{font-size:15px;font-weight:800;color:var(--brand-strong);flex-shrink:0}.rl-qty small{font-size:11px;color:var(--muted);font-weight:600;margin-left:1px}.ex-sub{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:800;color:var(--navy);margin:4px 0 8px}.ex-sub svg{color:var(--brand-strong)}.rgain{display:flex;align-items:flex-start;gap:9px;background:var(--lighter);border-left:3px solid var(--brand);border-radius:8px;padding:10px 12px;margin-bottom:12px}.rg-ic{width:24px;height:24px;border-radius:6px;background:var(--brand);color:#fff;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.rgain b{display:block;font-size:12.5px;color:var(--brand-strong);font-weight:800}.rgain small{display:block;font-size:11.5px;color:var(--ink);line-height:1.5;margin-top:2px}.rseq{display:flex;align-items:center;gap:8px;margin-bottom:6px}.rseq-lab{flex-shrink:0;width:38px;font-size:11px;font-weight:800;color:var(--muted)}.rseq-lab.pri{color:var(--brand-strong)}.rseq-flow{flex:1;min-width:0;display:flex;align-items:center;flex-wrap:wrap}.rseq-cell{display:inline-flex;align-items:center}.rseq-stop{font-size:11.5px;font-weight:700;color:var(--ink);background:#eef2f8;border-radius:6px;padding:3px 7px;white-space:nowrap}.rseq-stop.ch{background:var(--y-bg);color:var(--y)}.rseq-arw{color:var(--muted);font-weight:800;padding:0 3px}.scan{background:#101418;color:#9fe6a0;border-radius:14px;padding:22px;text-align:center;font-weight:700;position:relative}.scan small{display:block;color:#8a919c;font-weight:400;margin-top:5px}.list-item{display:flex;align-items:center;gap:10px;padding:11px 2px;border-bottom:1px solid var(--line2);font-size:14px}.list-item:last-child{border-bottom:none}.list-item .r{margin-left:auto;text-align:right;font-weight:700}.list-item .r small{display:block;font-weight:400;color:var(--muted);font-size:11px}.pager{display:flex;align-items:center;justify-content:center;gap:5px;padding:12px}.pager button{min-width:30px;height:30px;padding:0 8px;border:1px solid #e3e8ef;background:#fff;border-radius:8px;font-size:12.5px;font-weight:600;color:#475569}.pager button:hover{border-color:var(--brand)}.pager button.on{background:linear-gradient(135deg,var(--brand),var(--brand-strong));color:#fff;border:0}.pager .range{color:var(--muted);font-size:11.5px;margin-left:8px}.obs-tabs{display:flex;flex-direction:column}.obs-tabbar{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:14px}.obs-tabbar button{padding:9px 16px;border:0;background:none;font-size:13px;font-weight:700;color:var(--muted);border-bottom:2px solid transparent}.obs-tabbar button.on{color:var(--brand);border-bottom-color:var(--brand)}.obs-async{display:flex;align-items:center;justify-content:center;gap:10px;padding:40px 16px;color:var(--muted, #64748b);font-size:14px}.obs-async.error{flex-direction:column}.obs-async-msg{color:var(--r, #dc2626);font-weight:600;text-align:center}.obs-async-retry{margin-top:4px;padding:7px 16px;border:1px solid var(--line,#e2e8f0);border-radius:8px;background:#fff;color:var(--ink,#0f172a);font-size:13px;cursor:pointer}.obs-async-retry:hover{background:var(--wash,#f8fafc)}.obs-spinner{width:16px;height:16px;border:2px solid var(--line,#e2e8f0);border-top-color:var(--brand,#0562fe);border-radius:50%;animation:obs-spin .7s linear infinite}@keyframes obs-spin{to{transform:rotate(360deg)}}.sale-split{display:grid;grid-template-columns:minmax(0,1fr) 400px;grid-template-rows:minmax(0,1fr);gap:12px;align-items:stretch}.page-fill .sale-split{flex:1 1 auto;min-height:0}.sale-split .panel{margin-bottom:0;min-height:0}.sale-split .panel>.panel-b{flex:1;min-height:0;display:flex;flex-direction:column}.sale-split .sale-list{flex:1;min-height:0;overflow:auto;outline:0}@media(max-width:1100px){.sale-split{grid-template-columns:minmax(0,1fr);grid-template-rows:none}.page-fill .sale-split{flex:0 0 auto}.sale-split .sale-list{max-height:60vh}}.sale-split .sale-list:focus-visible{box-shadow:inset 0 0 0 2px var(--light)}table.tbl tr.sale-row{cursor:pointer}table.tbl tr.sale-row.sel td{background:var(--lighter)}table.tbl tr.sale-row.sel td:first-child{box-shadow:inset 3px 0 0 var(--brand)}table.tbl tr.sale-row.cancel td{color:var(--muted)}table.tbl tr.sale-row.cancel td.r{text-decoration:line-through}.sale-split .receipt>.panel-b{overflow:auto}.rcp{padding:14px 16px}.rcp-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding-bottom:10px;border-bottom:1px dashed #cfd9e6}.rcp-no{font-size:15px;font-weight:800;color:var(--navy)}.rcp-when{font-size:12px;color:var(--muted);font-weight:600;white-space:nowrap}.rcp-meta{display:grid;grid-template-columns:72px minmax(0,1fr);gap:6px 10px;margin:10px 0 12px;font-size:12.5px}.rcp-meta dt{color:var(--muted);font-weight:600}.rcp-meta dd{margin:0;color:var(--ink);font-weight:600}table.rcp-lines{border-top:1px dashed #cfd9e6}table.rcp-lines th{background:#fff;padding:8px 6px;position:static}table.rcp-lines td{padding:8px 6px}table.rcp-lines td.nm{font-weight:600;color:var(--navy)}table.rcp-lines td.nm small{display:block;font-weight:500;margin-top:2px}.rcp-total{margin-top:8px;padding-top:10px;border-top:1px dashed #cfd9e6;font-size:12.5px}.rcp-total>div{display:flex;justify-content:space-between;align-items:baseline;padding:3px 0;color:var(--muted);font-weight:600}.rcp-total>div.grand{color:var(--navy);font-size:13px;margin-top:4px;padding-top:8px;border-top:2px solid var(--line)}.rcp-total>div.grand b{font-size:21px;font-weight:800;letter-spacing:-.5px}.rcp.cancel .rcp-no,.rcp.cancel .rcp-total>div.grand b{text-decoration:line-through;color:var(--r)}.rcp-note{margin-top:12px;padding:9px 11px;border-radius:10px;background:var(--n-bg);font-size:12px;line-height:1.5;color:#475569;font-weight:600}.rcp-note.r{background:var(--r-bg);color:var(--r)}.rcp-note .lnk{border:0;background:none;padding:0 2px;font:inherit;font-weight:800;color:var(--brand);cursor:pointer;text-decoration:underline}.rcp-empty{padding:44px 16px;text-align:center;color:var(--muted);font-size:12.5px}.sales-filter{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-bottom:10px}.sales-range{display:inline-flex;align-items:center;gap:6px;margin-left:auto}.sales-range input[type=date]{border:1.5px solid #cfd9e6;border-radius:10px;padding:7px 9px;font-size:13px;font-family:inherit;background:#fff}.sales-range input[type=date]:focus{outline:0;border-color:var(--brand);box-shadow:0 0 0 3px #0562fe1f}.sales-sum{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px;padding:8px 12px;margin-bottom:8px;border-radius:12px;background:#f6f8fc;font-size:12.5px;font-weight:600;color:var(--muted)}.sales-sum b{margin:0 2px 0 6px;font-size:15px;font-weight:800;color:var(--navy);letter-spacing:-.3px}.sales-sum .amt{margin-left:auto}.sales-sum .amt b{font-size:18px;color:var(--brand-strong)}.pos-root .receipt_table th{padding:6px 8px}.pos-root .receipt_table td{padding:3px 8px;line-height:1.3}.pos-root .receipt_table .btn_print_receipt,.pos-root .receipt_table .btn_load_pending{padding:3px 9px}.pos-root .receipt_table input[type=number]{padding:2px 6px;height:24px}.pos-root .receipt_summary{margin-bottom:6px}.app-shell{display:flex;flex-direction:column;height:100vh}.app-shell .top{display:flex;align-items:center;height:var(--top-h);flex-shrink:0;background:#fff;border-bottom:1px solid var(--line);padding-right:16px}.app-shell .brand-zone{width:var(--side-w);display:flex;align-items:center;gap:8px;padding:0 14px;flex-shrink:0}.app-shell .brand{display:flex;align-items:center;gap:7px}.app-shell .brand-logo{font-size:16px;font-weight:900;color:var(--brand-strong);letter-spacing:-.4px}.app-shell .brand-admin{font-size:11px;font-weight:800;color:var(--brand);letter-spacing:1px}.app-shell .top .sub{color:var(--muted);font-size:11.5px;font-weight:600}.app-shell .top .sp{flex:1}.app-shell .top-right{display:flex;align-items:center;gap:8px}.app-shell .brand-mark{color:var(--brand-strong);flex-shrink:0}.app-shell .side-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.app-shell .side-head .sh-brand{min-width:0}.app-shell .nav-toggle{flex-shrink:0;width:30px;height:30px;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:#ffffff0f;color:#fffc;display:inline-flex;align-items:center;justify-content:center}.app-shell .nav-toggle:hover{color:#fff;background:#ffffff26}.app-shell .brand-zone,.app-shell .side{transition:width .15s ease}.app-shell.nav-collapsed{--side-w: 64px}.app-shell.nav-collapsed .brand-zone{justify-content:center;padding:0}.app-shell.nav-collapsed .brand-logo,.app-shell.nav-collapsed .brand-admin{display:none}.app-shell.nav-collapsed .side{padding:12px 8px}.app-shell.nav-collapsed .side-head{justify-content:center}.app-shell.nav-collapsed .side-head .sh-brand,.app-shell.nav-collapsed .nav .sec{display:none}.app-shell.nav-collapsed .nav button{justify-content:center;padding:10px 0}.app-shell.nav-collapsed .nav button>span:not(.ni){display:none}.app-shell.nav-collapsed .nav .bdg{display:none}.app-shell .top-search{display:flex;align-items:center;gap:8px;flex:0 0 240px;min-width:0;border:1px solid var(--line);border-radius:10px;padding:7px 12px;color:var(--muted);background:#f5f8fc;cursor:text}.app-shell .top-search:focus-within{border-color:var(--brand);background:#fff;box-shadow:0 0 0 3px var(--lighter)}.app-shell .top-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;font-size:13px;color:var(--ink)}.app-shell .top-search kbd{font-family:Consolas,monospace;font-size:11px;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:5px;padding:0 6px;line-height:16px}.app-shell .wms-facility{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:9px;padding:6px 11px;font-size:12.5px;font-weight:700;color:var(--ink);background:#fff}.app-shell .wms-facility:hover{border-color:var(--brand);color:var(--brand-strong)}.app-shell .wms-iconbtn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--muted)}.app-shell .wms-iconbtn:hover{color:var(--brand);border-color:var(--brand)}.app-shell .wms-dot{position:absolute;top:-6px;right:-6px;background:var(--r);color:#fff;font-size:10px;font-weight:800;border-radius:999px;padding:0 5px;line-height:15px}.app-shell .wms-user{display:inline-flex;align-items:center;gap:8px;padding-left:12px;margin-left:4px;border-left:1px solid var(--line)}.app-shell .wms-avatar{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--brand),var(--brand-strong));color:#fff;font-weight:800;display:inline-flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0}.app-shell .wms-user b{display:block;font-size:12.5px;font-weight:800;color:var(--ink);line-height:1.15}.app-shell .wms-user small{display:block;font-size:10.5px;color:var(--muted)}.app-shell .work-head{padding:8px 20px 0}.app-shell .work-head .crumb{display:flex;align-items:center;gap:5px;font-size:11.5px;font-weight:700;color:var(--muted);margin-bottom:6px}.app-shell .work-head .page-h{margin-bottom:0}.app-shell .body{flex:1;display:flex;min-height:0}.app-shell .side{width:var(--side-w);flex-shrink:0;overflow-y:auto;padding:12px 10px;background:linear-gradient(180deg,var(--brand),var(--brand-strong));color:#fff}.app-shell .side{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.22) transparent}.app-shell .side::-webkit-scrollbar{width:6px}.app-shell .side::-webkit-scrollbar-track{background:transparent}.app-shell .side::-webkit-scrollbar-thumb{background:#ffffff38;border-radius:999px}.app-shell .side::-webkit-scrollbar-thumb:hover{background:#ffffff5c}.app-shell .side .side-head{padding:6px 10px 14px}.app-shell .side .side-head b{display:block;font-size:15px;font-weight:900}.app-shell .side .side-head small{display:block;color:#ffffffb8;font-size:11px;font-weight:600;margin-top:3px}.app-shell .nav{display:flex;flex-direction:column;gap:1px}.app-shell .nav .sec{color:#ffffff80;font-size:10.5px;font-weight:800;padding:12px 12px 4px;letter-spacing:1px}.app-shell .nav button{display:flex;align-items:center;gap:9px;border:0;background:none;text-align:left;padding:9px 12px;border-radius:9px;font-size:13px;font-weight:700;color:#ffffffd1;width:100%}.app-shell .nav button:hover{background:#ffffff1a;color:#fff}.app-shell .nav button.on{background:#fff;color:var(--brand-strong)}.app-shell .nav button .ni{width:18px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.app-shell .nav .bdg{margin-left:auto;background:var(--r);color:#fff;border-radius:999px;font-size:10px;font-weight:700;padding:1px 7px}.app-shell .nav button.on .bdg{background:var(--r)}.app-shell.dark .side{background:var(--side);color:#aeb6c2}.app-shell.dark .side .side-head b{color:#fff}.app-shell.dark .nav button{color:#aeb6c2}.app-shell.dark .nav button:hover{background:#ffffff14;color:#fff}.app-shell.dark .nav button.on{background:#ffffff1f;color:#fff}.app-shell.dark .nav .sec{color:#6b7280}.app-shell .work{flex:1;min-width:0;overflow:auto;display:flex;flex-direction:column}.app-shell .work-head{flex-shrink:0}.page.page-fill{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:auto}.page-fill>*{flex-shrink:0}.app-shell .tabstrip{flex:1;min-width:0;align-self:stretch;display:flex;align-items:flex-end;padding:0 6px}.app-shell .ts-nav{flex-shrink:0;align-self:center;width:24px;height:28px;border:0;border-radius:7px;background:none;color:var(--muted);display:inline-flex;align-items:center;justify-content:center}.app-shell .ts-nav:hover{color:var(--brand);background:#f1f4f9}.app-shell .ts-scroll{flex:1;min-width:0;display:flex;align-items:flex-end;gap:3px;overflow-x:auto;scrollbar-width:none}.app-shell .ts-scroll::-webkit-scrollbar{display:none}.app-shell .ts-tab{position:relative;top:1px;display:inline-flex;align-items:center;gap:7px;white-space:nowrap;padding:0 8px 0 13px;height:46px;font-size:12.5px;font-weight:700;color:var(--muted);background:#eef2f7;border:1px solid var(--line);border-bottom:0;border-radius:9px 9px 0 0;cursor:pointer}.app-shell .ts-tab:hover{color:var(--ink);background:#f4f7fb}.app-shell .ts-tab.on{color:var(--brand-strong);background:#fff;border-top:2px solid var(--brand)}.app-shell .ts-close{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:0;border-radius:6px;background:#0f172a0f;color:#64748b;flex-shrink:0;cursor:pointer;transition:background .12s ease,color .12s ease}.app-shell .ts-tab:hover .ts-close{background:#0f172a1a;color:var(--ink)}.app-shell .ts-tab.on .ts-close{background:#0f172a17;color:var(--ink)}.app-shell .ts-close:hover,.app-shell .ts-tab.on .ts-close:hover{background:var(--r);color:#fff}.page{padding:14px 20px 22px}.page-h{display:flex;align-items:center;gap:10px;margin-bottom:14px}.page-h h2{font-size:18px;font-weight:800;letter-spacing:-.6px}.page-h .sfr{font-family:Consolas,monospace;font-size:11px;font-weight:700;color:var(--muted);background:#eef2f8;border:1px solid var(--line);border-radius:999px;padding:2px 9px}.page-h .sp{flex:1}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}@media(max-width:900px){.grid-3,.grid-2{grid-template-columns:1fr}}.map-box{border-radius:12px;display:flex;align-items:center;justify-content:center;text-align:center;color:#558b2f;font-weight:800;background:linear-gradient(135deg,#dcedc8,#f1f8e9)}.map-box.blue{color:#3b5b8c;background:linear-gradient(135deg,#e3ecfb,#f2f6fd)}.phone-stage{height:100vh;display:flex;justify-content:center;align-items:stretch;background:radial-gradient(1200px 600px at 50% -10%,#dce6f6 0%,transparent 60%),#eef2f8}.phone{--wrap-max: 1200px;width:min(1240px,100vw);height:100%;background:var(--bg);overflow:hidden;position:relative;border-left:1px solid var(--line);border-right:1px solid var(--line);box-shadow:0 0 60px #0f172a1a;display:flex;flex-direction:column}.phone .screen{flex:1;overflow-y:auto;padding-bottom:78px}.phone .phone-wrap{max-width:840px;margin:0 auto}.phone .phone-wrap:not(.solo){max-width:var(--wrap-max)}.phone .phone-hd{padding-left:max(14px,calc((100% - var(--wrap-max)) / 2));padding-right:max(14px,calc((100% - var(--wrap-max)) / 2))}.phone .tabbar{padding-left:max(0px,calc((100% - var(--wrap-max)) / 2));padding-right:max(0px,calc((100% - var(--wrap-max)) / 2))}.phone .phone-wrap:not(.solo){--col-min: 330px}.phone .phone-wrap.wide{--col-min: 560px}@media(min-width:700px){.phone .phone-wrap:not(.solo){display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--col-min),1fr));gap:14px;align-content:start}.phone .phone-wrap.wide{align-items:start}.phone .phone-wrap:not(.solo)>*{margin-bottom:0}.phone .phone-wrap:not(.solo)>.day-hero,.phone .phone-wrap:not(.solo)>.day-stats,.phone .phone-wrap:not(.solo)>.banner,.phone .phone-wrap:not(.solo)>.scan,.phone .phone-wrap:not(.solo)>.chips,.phone .phone-wrap:not(.solo)>.hint,.phone .phone-wrap:not(.solo)>.m-btn,.phone .phone-wrap:not(.solo)>.span-all,.phone .phone-wrap:not(.solo)>.m-row:has(.m-btn){grid-column:1 / -1}.phone .phone-wrap:not(.solo)>div:empty{display:none}}@media(min-width:1280px){.phone{--wrap-max: 1440px;width:min(1720px,100vw)}.phone .phone-wrap{max-width:1120px}}.phone .phone-wrap.narrow{max-width:460px}.phone.no-tabs .screen{padding-bottom:24px}.phone .phone-wrap.pick-wrap{max-width:var(--wrap-max)}.pick-split{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:12px;align-items:start}@media(max-width:760px){.pick-split{grid-template-columns:minmax(0,1fr)}}.pick-pick{display:block;width:100%;text-align:left;background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:10px 12px;margin-bottom:8px}.pick-pick.on{border-color:var(--brand);box-shadow:0 0 0 3px #0562fe1f}.pick-pick b{display:block;font-size:13.5px;font-weight:700}.pick-pick small{display:block;margin-top:2px;font-size:11.5px;color:var(--muted)}.pick-bar{display:block;height:6px;margin-top:7px;border-radius:999px;background:#e6ecf5;overflow:hidden}.pick-bar i{display:block;height:100%;background:var(--brand)}.pick-scroll{overflow-x:auto}.pick-tbl{width:100%;border-collapse:collapse;font-size:13px}.pick-tbl th{padding:6px 8px;text-align:right;white-space:nowrap;font-size:11.5px;font-weight:700;color:var(--muted);border-bottom:1px solid var(--line)}.pick-tbl td{padding:9px 8px;text-align:right;white-space:nowrap;border-bottom:1px solid var(--line)}.pick-tbl th:first-child,.pick-tbl td:first-child{text-align:left}.pick-tbl td.nm{white-space:normal;min-width:150px}.pick-tbl tr.done td{color:var(--g)}.pdrawer{position:absolute;inset:0;z-index:40;background:#0f172a73;animation:pd-fade .18s ease}@keyframes pd-fade{0%{opacity:0}to{opacity:1}}.pd-panel{position:absolute;top:0;left:0;bottom:0;width:min(324px,86%);background:#fff;box-shadow:12px 0 44px #0f172a47;display:flex;flex-direction:column;overflow-y:auto;animation:pd-in .24s cubic-bezier(.2,.7,.3,1)}@keyframes pd-in{0%{transform:translate(-100%)}to{transform:translate(0)}}.pd-head{display:flex;align-items:center;gap:12px;padding:22px 16px 18px;background:linear-gradient(135deg,var(--brand),var(--brand-strong));color:#fff}.pd-avatar{width:46px;height:46px;border-radius:50%;background:#ffffff38;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:19px;flex-shrink:0}.pd-who b{font-size:15.5px;font-weight:800}.pd-who small{display:block;font-size:11.5px;color:#ffffffd1;margin-top:3px}.pd-close{margin-left:auto;border:0;background:#ffffff2e;color:#fff;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.pd-sync{display:flex;align-items:center;gap:7px;width:100%;border:0;padding:11px 16px;font-size:12px;font-weight:700;color:var(--y);background:var(--y-bg);border-bottom:1px solid var(--line);text-align:left}.pd-nav{flex:1;padding:8px 10px}.pd-sec{font-size:10.5px;font-weight:800;color:var(--muted);padding:13px 10px 5px;letter-spacing:.6px}.pd-nav button{display:flex;align-items:center;gap:13px;width:100%;border:0;background:none;padding:11px 12px;border-radius:11px;font-size:14px;font-weight:600;color:var(--ink);text-align:left}.pd-nav button:hover{background:var(--lighter)}.pd-nav button.on{background:var(--lighter);color:var(--brand-strong);font-weight:800}.pd-nav button .ni,.pd-foot button .ni{color:var(--muted);display:flex;flex-shrink:0}.pd-nav button.on .ni{color:var(--brand)}.pd-foot{border-top:1px solid var(--line);padding:8px 10px 18px}.pd-foot button{display:flex;align-items:center;gap:13px;width:100%;border:0;background:none;padding:10px 12px;border-radius:11px;font-size:13.5px;font-weight:600;color:var(--muted);text-align:left}.pd-foot button:hover{background:#f5f7fa;color:var(--ink)}.day-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--brand),var(--brand-strong));color:#fff;border-radius:20px;padding:20px 20px 18px;margin-bottom:14px;box-shadow:0 12px 28px #0562fe3d}.day-hero:after{content:"";position:absolute;right:-30px;top:-30px;width:150px;height:150px;border-radius:50%;background:#ffffff14}.dh-top{display:flex;align-items:flex-start;position:relative;z-index:1}.dh-hi{font-size:19px;font-weight:800;letter-spacing:-.3px}.dh-date{font-size:12.5px;color:#ffffffd9;margin-top:4px}.dh-weather{margin-left:auto;display:flex;align-items:center;gap:5px;font-size:12px;font-weight:700;background:#fff3;padding:6px 11px;border-radius:999px;white-space:nowrap}.dh-mission{position:relative;z-index:1;margin-top:14px;font-size:13.5px;color:#fffffff2;background:#ffffff21;border-radius:13px;padding:11px 13px;line-height:1.5}.dh-amount{position:relative;z-index:1;margin-top:14px;font-size:30px;font-weight:900;letter-spacing:-.6px}.dh-amount span{display:block;font-size:12px;font-weight:600;color:#ffffffd9;margin-top:3px;letter-spacing:0}.day-steps{display:flex;margin-top:4px}.ds{flex:1;text-align:center;position:relative}.ds:not(:last-child):after{content:"";position:absolute;top:13px;left:50%;width:100%;height:3px;background:#e5eaf2;z-index:0}.ds.done:not(:last-child):after{background:var(--brand)}.ds-dot{position:relative;z-index:1;width:27px;height:27px;border-radius:50%;background:#e5eaf2;color:#fff;display:inline-flex;align-items:center;justify-content:center}.ds.done .ds-dot{background:var(--brand)}.ds.now .ds-dot{background:var(--brand);box-shadow:0 0 0 4px var(--lighter)}.ds-lb{display:block;font-size:10.5px;font-weight:700;color:var(--muted);margin-top:6px}.ds.done .ds-lb{color:var(--ink)}.ds.now .ds-lb{color:var(--brand-strong);font-weight:800}.day-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.day-stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px;box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:10px}.dst-ic{width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.dst-ic.b{background:var(--b-bg);color:var(--b)}.dst-ic.g{background:var(--g-bg);color:var(--g)}.dst-ic.y{background:var(--y-bg);color:var(--y)}.dst-ic.p{background:var(--p-bg);color:var(--p)}.day-stat b{font-size:18px;font-weight:800;color:var(--navy);letter-spacing:-.4px;display:block;line-height:1.1}.day-stat span{font-size:11px;color:var(--muted)}@media(max-width:620px){.day-stats{grid-template-columns:repeat(2,1fr)}}.village{display:flex;align-items:center;gap:11px;padding:11px 0;border-bottom:1px solid var(--line2)}.village:last-child{border-bottom:0}.vg-st{width:25px;height:25px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:#eef2f8;color:var(--muted);font-size:11px;font-weight:800}.vg-st.done{background:var(--g-bg);color:var(--g)}.vg-st.now{background:var(--brand);color:#fff;box-shadow:0 0 0 3px var(--lighter)}.vg-main{flex:1;min-width:0}.vg-main b{font-size:14px}.vg-main small{display:block;color:var(--muted);font-size:11.5px;margin-top:1px}.vg-amt{font-weight:800;color:var(--navy);text-align:right;white-space:nowrap}.vg-amt small{display:block;font-weight:400;color:var(--muted);font-size:11px}.village.up .vg-main b,.village.up .vg-amt{color:#9aa2ac}.card-h{display:flex;align-items:center;margin:0 0 10px}.card-h h4{margin:0;font-size:12.5px;color:var(--muted);font-weight:700}.card-h .ch-r{margin-left:auto;font-size:11.5px;font-weight:700;color:var(--brand);cursor:pointer}.stock-tbl-wrap{overflow-x:auto;margin:0 -2px}.stock-tbl{width:100%;border-collapse:collapse;font-size:13px;min-width:680px}.stock-tbl th{text-align:right;padding:7px 8px;color:var(--muted);font-weight:700;font-size:11.5px;border-bottom:1.5px solid #e2e8f0;white-space:nowrap}.stock-tbl th:first-child,.stock-tbl th:nth-child(2){text-align:left}.stock-tbl th.l,.stock-tbl td.l{text-align:left}.stock-tbl td{padding:9px 8px;border-bottom:1px solid #eef2f7;white-space:nowrap}.stock-tbl td.nm{font-weight:700;color:var(--navy)}.stock-tbl td.n{text-align:right;font-variant-numeric:tabular-nums;color:#475569}.stock-tbl td.pos{color:var(--brand-strong);font-weight:700}.stock-tbl td.neg{color:var(--r)}.stock-tbl td.end{font-weight:800;color:var(--navy)}.stock-tbl tbody tr:last-child td{border-bottom:0}.stock-bar{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:11px 14px;margin-bottom:12px;box-shadow:var(--shadow-sm)}.stock-bar .sb-main{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--muted)}.stock-bar .sb-main b{font-size:18px;font-weight:800;color:var(--navy);letter-spacing:-.4px}.stock-bar .sb-right{margin-left:auto;display:inline-flex;align-items:center;gap:8px}.stock-bar .sb-cost{font-size:12px;color:var(--muted)}.stock-ctl{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:10px}.stock-search{display:inline-flex;align-items:center;gap:6px;flex:1 1 160px;min-width:0;border:1.5px solid #cfd9e6;border-radius:10px;padding:7px 10px;color:var(--muted);background:#fff}.stock-search:focus-within{border-color:var(--brand)}.stock-search input{flex:1;min-width:0;border:0;outline:0;font-size:13.5px;color:var(--ink);background:transparent}.stock-search .sx-clear{border:0;background:transparent;color:var(--muted);font-size:18px;line-height:1;cursor:pointer;padding:0 2px}.ld-prog{display:flex;align-items:center;gap:14px}.ld-num{font-size:26px;font-weight:900;color:var(--brand-strong);letter-spacing:-.5px;white-space:nowrap}.ld-num span{font-size:15px;color:var(--muted);font-weight:700}.ld-barwrap{flex:1;min-width:0}.ld-bar{height:8px;background:#eef2f8;border-radius:999px;overflow:hidden}.ld-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--brand),var(--brand-strong));border-radius:999px}.ld-legend{font-size:11.5px;color:var(--muted);margin-top:6px}.map-preview .mp-canvas{border-radius:13px;min-height:170px;background:linear-gradient(135deg,#dbe9c9,#eef4dd);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#558b2f;font-weight:700;font-size:13px}.sales-row{display:flex;align-items:center;gap:12px;padding:9px 0}.sr-name{font-size:13.5px;font-weight:600;width:74px;flex-shrink:0}.sr-bar{flex:1;height:8px;background:#eef2f8;border-radius:999px;overflow:hidden}.sr-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--brand),var(--brand-sub2));border-radius:999px}.sr-amt{font-size:13px;font-weight:800;color:var(--navy);width:66px;text-align:right;flex-shrink:0}.bar-chart{display:flex;align-items:flex-end;gap:12px;height:132px;padding:8px 6px 0}.bc-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}.bc-val{font-size:11px;font-weight:700;color:var(--muted);margin-bottom:4px}.bc-val.on{color:var(--brand-strong)}.bc-bar{width:100%;border-radius:7px 7px 0 0;background:linear-gradient(180deg,#c4dcf9,#8bb6f0)}.bc-bar.on{background:linear-gradient(180deg,var(--brand-sub2),var(--brand))}.bc-lb{font-size:11px;color:var(--muted);font-weight:600;margin-top:6px}.phone-hd{position:sticky;top:0;z-index:5;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px;padding:12px 14px;font-weight:800;font-size:16.5px}.phone-hd .hd-brand{display:inline-flex;align-items:center;gap:5px;font-size:15px;font-weight:900;color:var(--brand-strong);letter-spacing:-.3px;white-space:nowrap;flex-shrink:0}.phone-hd .hd-brand svg{color:var(--brand)}.phone-hd .hd-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.phone-hd .hd-title:empty{display:none}.phone-hd .back{border:0;background:none;font-size:20px;padding:0 4px;color:var(--ink);line-height:1}.phone-hd .sp{flex:1}.phone-hd .hd-menu{border:0;background:none;color:var(--ink);padding:2px 4px 2px 0;display:flex;align-items:center;line-height:1}.phone-hd .hd-menu:hover{color:var(--brand)}.sync{font-size:11px;font-weight:700;border-radius:999px;padding:4px 10px;white-space:nowrap}.sync.ok{background:var(--n-bg);color:#5a6472}.sync.wait{background:var(--y-bg);color:var(--y)}.sync.off{background:var(--r-bg);color:var(--r)}.phone-wrap{padding:14px}.m-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;margin-bottom:12px;box-shadow:var(--shadow-sm)}.m-card h4{margin:0 0 8px;font-size:12.5px;color:var(--muted);font-weight:700}.m-btn{display:block;width:100%;border:0;border-radius:14px;padding:15px;font-size:15.5px;font-weight:800;text-align:center}.m-btn.pri{background:linear-gradient(135deg,var(--brand),var(--brand-strong));color:#fff;box-shadow:0 6px 16px #0562fe47}.m-btn.line{background:#fff;border:1.5px solid #cfd9e6;color:var(--ink)}.m-btn.warn{background:#fff;border:1.5px dashed var(--r);color:var(--r)}.m-row{display:flex;gap:10px}.m-row>*{flex:1;min-width:0}.m-row .m-btn{white-space:nowrap;font-size:14px;padding:14px 10px}.m-row .m-btn svg{flex-shrink:0}.m-kpi{background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px;text-align:center;box-shadow:var(--shadow-sm)}.m-kpi b{display:block;font-size:22px;font-weight:800;color:var(--brand-strong);letter-spacing:-.5px}.m-kpi span{font-size:11.5px;color:var(--muted)}.stepper{display:inline-flex;align-items:center;gap:8px}.stepper button{width:34px;height:34px;border-radius:10px;border:1.5px solid #cfd9e6;background:#fff;font-size:17px;font-weight:800}.stepper b{min-width:26px;text-align:center}.big-num{font-size:30px;font-weight:900;text-align:center;background:#f1f5f9;border-radius:12px;padding:12px;margin:8px 0}.pad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.pad button{padding:15px 0;font-size:20px;font-weight:800;border-radius:12px;border:1px solid #e2e8f0;background:#fff}.pad button.ok{background:linear-gradient(135deg,var(--brand),var(--brand-strong));color:#fff;border:0}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.qk{background:#fff;border:1.5px solid #cfd9e6;border-radius:12px;padding:10px 4px;text-align:center;font-size:12.5px;font-weight:700}.qk small{display:block;color:var(--brand);font-weight:800;margin-top:2px}.photo{background:#eef2f8;border:1.5px dashed #b0bccc;border-radius:14px;padding:22px;text-align:center;color:var(--muted);font-size:13px;font-weight:600}.hint{background:#f1f5f9;border-radius:10px;padding:8px 10px;font-size:12px;color:var(--muted)}.m-tag{font-size:10.5px;border:1px solid #cfd9e6;color:var(--muted);border-radius:999px;padding:1px 7px;white-space:nowrap}.cartbar{position:sticky;bottom:86px;margin:8px 14px 0;background:var(--brand-strong);color:#fff;border-radius:16px;padding:12px 14px;display:flex;align-items:center;gap:8px;box-shadow:0 8px 20px #0562fe47;z-index:5}.cartbar b{font-size:17px}.paybtns{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-left:auto}.paybtns button{border:0;border-radius:9px;padding:8px 6px;font-size:11.5px;font-weight:800;background:#fff;color:var(--brand-strong)}.paybtns button.ghost{background:#ffffff2e;color:#fff}.tabbar{position:absolute;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);display:flex;z-index:6}.tabbar button{flex:1;border:0;background:none;padding:8px 0 12px;font-size:10.5px;color:#8a919c;font-weight:700;display:flex;flex-direction:column;align-items:center;gap:3px}.tabbar button i{display:flex;align-items:center;justify-content:center;font-style:normal}.tabbar button.on{color:var(--brand)}.m-ovl{position:absolute;inset:0;background:#0f172a73;z-index:20;display:flex;flex-direction:column;justify-content:flex-end}.m-ovl.center{justify-content:center;padding:22px}.m-sheet{background:#fff;border-radius:22px 22px 0 0;padding:18px 16px 26px;max-height:86%;overflow:auto}.m-dlg{background:#fff;border-radius:20px;padding:20px 18px;width:min(560px,100%);margin:0 auto;max-height:100%;overflow-y:auto}.m-sheet h3,.m-dlg h3{margin:0 0 12px;font-size:16px}.grab{width:44px;height:5px;border-radius:3px;background:#d7dbe0;margin:0 auto 14px}.obs-toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%);background:linear-gradient(100deg,#0f172a,#1e293b);color:#fff;padding:12px 20px;border-radius:999px;font-size:13.5px;font-weight:700;z-index:3000;box-shadow:var(--shadow-lg)}.phone .obs-toast{position:absolute;bottom:150px}.obs-overlay{position:fixed;inset:0;background:#0f172a73;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}.modal{background:#fff;border-radius:16px;box-shadow:var(--shadow-lg);width:440px;max-width:100%;max-height:86vh;overflow:auto}.modal .m-h{display:flex;align-items:center;padding:16px 18px;border-bottom:1px solid var(--line2)}.modal .m-h b{font-size:15.5px;font-weight:800}.modal .m-h .x{margin-left:auto;border:0;background:none;font-size:20px;color:var(--muted);line-height:1}.modal .m-b{padding:18px}.modal .m-f{display:flex;gap:8px;justify-content:flex-end;padding:14px 18px;border-top:1px solid var(--line2)}.launcher{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:60px 20px}.launcher .lc-head{text-align:center;margin-bottom:40px}.launcher .lc-head .lc-logo{font-size:30px;font-weight:900;color:var(--brand-strong);letter-spacing:-1px}.launcher .lc-head .lc-sub{color:var(--muted);margin-top:8px;font-size:14px}.launcher .lc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;width:100%;max-width:760px}@media(max-width:640px){.launcher .lc-grid{grid-template-columns:1fr}}.lc-card{display:block;background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:var(--shadow-sm);transition:.16s}.lc-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--light)}.lc-card .lc-ic{font-size:30px}.lc-card .lc-badge{float:right;font-size:11px;font-weight:700;color:var(--muted);background:#eef2f8;border-radius:999px;padding:3px 10px}.lc-card h3{font-size:18px;font-weight:800;margin:12px 0 6px;letter-spacing:-.4px}.lc-card p{color:var(--muted);font-size:13px;line-height:1.6;margin:0}.lc-card .lc-count{display:inline-block;margin-top:12px;font-size:12px;font-weight:700;color:var(--brand)}.launcher .lc-foot{margin-top:34px;color:var(--muted);font-size:12px;text-align:center;line-height:1.7}.obs-auth-card{width:100%;max-width:384px}.obs-auth-card h2{font-size:20px;font-weight:900;letter-spacing:-.02em}.obs-auth-card .ac-sub{margin-top:5px;font-size:13px;color:var(--muted)}.obs-auth-card .ac-fields{margin-top:22px}.obs-auth-card label{display:block;font-size:12.5px;font-weight:700;color:#475569;margin:14px 0 5px}.obs-auth-card label:first-child{margin-top:0}.obs-auth-card input{width:100%;box-sizing:border-box;padding:12px 13px;border:1.5px solid #cfd9e6;border-radius:11px;font-family:inherit;font-size:14.5px;background:#fff;color:var(--ink)}.obs-auth-card input:focus{outline:0;border-color:var(--brand);box-shadow:0 0 0 3px #0562fe1f}.obs-auth-card .ac-submit{width:100%;margin-top:20px;padding:14px 0;border:0;border-radius:12px;font-family:inherit;font-size:15px;font-weight:800;color:#fff;cursor:pointer;background:linear-gradient(135deg,var(--brand),var(--brand-strong));box-shadow:0 6px 16px #0562fe42}.obs-auth-card .ac-submit:disabled{opacity:.6;box-shadow:none;cursor:default}.obs-auth-card .ac-foot{margin-top:18px;padding-top:16px;border-top:1px solid var(--line);font-size:12.5px;line-height:1.7;color:var(--muted)}.obs-auth-card .ac-foot b{color:#334155}.obs-auth{min-height:100vh;display:grid;grid-template-columns:1fr;background:#fff}@media(min-width:900px){.obs-auth{grid-template-columns:1.1fr .9fr}}.obs-auth-brand{position:relative;overflow:hidden;color:#fff;display:flex;flex-direction:column;justify-content:center;padding:40px 32px}@media(min-width:900px){.obs-auth-brand{padding:56px clamp(40px,6vw,88px)}}.obs-auth-brand .ab-motif{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.obs-auth-brand .ab-body{position:relative;z-index:1;max-width:480px}.obs-auth-brand .ab-body>svg{display:block}.obs-auth-brand .ab-kicker{display:inline-block;margin-top:20px;padding:5px 11px;border-radius:999px;background:#ffffff29;font-size:12px;font-weight:800;letter-spacing:.01em}.obs-auth-brand h1{margin:14px 0 0;font-size:clamp(24px,3.2vw,34px);font-weight:900;line-height:1.32;letter-spacing:-.03em;word-break:keep-all;overflow-wrap:break-word}.obs-auth-brand .ab-tag{margin-top:12px;font-size:15px;line-height:1.7;color:#ffffffd1;word-break:keep-all}.obs-auth-brand ul{margin:26px 0 0;padding:0;list-style:none;display:grid;gap:11px}.obs-auth-brand ul li{display:flex;align-items:flex-start;gap:9px;font-size:14px;line-height:1.6;color:#ffffffe6}.obs-auth-brand ul li svg{flex-shrink:0;margin-top:2px;opacity:.9}@media(max-width:899px){.obs-auth-brand{padding:28px 22px 32px;border-radius:0 0 22px 22px}.obs-auth-brand h1{font-size:22px}.obs-auth-brand .ab-tag{font-size:13.5px;margin-top:9px}.obs-auth-brand ul{display:none}.obs-auth-brand .ab-motif{opacity:.85}.obs-auth-form{padding:24px 18px 40px}}@media(max-width:599px){.obs-auth-brand{padding:22px 18px 26px}.obs-auth-brand h1{font-size:19.5px;margin-top:12px}.obs-auth-brand .ab-kicker{margin-top:14px}.obs-auth-brand .ab-tag{display:none}}.obs-auth-form{display:flex;align-items:center;justify-content:center;padding:40px 24px}.obs-auth.partner .obs-auth-brand{background:linear-gradient(158deg,#0562fe,#0453da 52%,#073a9e)}.obs-auth.supplier .obs-auth-brand{background:radial-gradient(760px 420px at 12% 6%,rgba(26,141,112,.55) 0%,transparent 62%),radial-gradient(620px 380px at 96% 92%,rgba(169,224,157,.22) 0%,transparent 60%),#003742}.obs-auth.admin .obs-auth-brand{background:radial-gradient(720px 460px at 8% 8%,rgba(5,98,254,.38) 0%,transparent 62%),radial-gradient(660px 420px at 98% 94%,rgba(34,189,255,.24) 0%,transparent 60%),#0f172a}.obs-auth-brand:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(100deg,#00000057,#00000029 42%,#0000 78%)}
