:root{--ink: #17202a;--ink-2: #5b6672;--bg: #f4f6f8;--surface: #ffffff;--border: #d9dfe5;--accent: #0b5cd5;--accent-press: #0a4fb4;--green: #0e8345;--green-bg: #e7f5ec;--red: #c62828;--red-bg: #fbeae9;--amber: #b45309;--amber-bg: #fdf3d7}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);font-family:-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:17px;-webkit-tap-highlight-color:transparent}button{font-family:inherit;cursor:pointer}.screen{height:100%;max-width:480px;margin:0 auto;display:flex;flex-direction:column}.top{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:var(--surface);border-bottom:1px solid var(--border)}.brand{font-size:17px;font-weight:700}.sync{display:inline-flex;align-items:center;gap:6px;font-size:16px;color:var(--ink-2);background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:6px 12px}.sync .dot{width:10px;height:10px;border-radius:50%;background:var(--green)}.sync .dot.amber{background:var(--amber)}.sync .dot.red{background:var(--red)}.shop{padding:20px 16px 8px;font-size:20px;font-weight:700}.shop small{display:block;font-size:16px;color:var(--ink-2);font-weight:400;margin-top:2px}.users{display:flex;gap:12px;padding:12px 16px;flex-wrap:wrap}.user-chip{min-height:64px;padding:10px 18px;border-radius:12px;border:1px solid var(--border);background:var(--surface);font-size:17px;font-weight:600;color:var(--ink);display:flex;align-items:center;gap:10px}.user-chip.active{border:2px solid var(--accent);color:var(--accent)}.avatar{width:36px;height:36px;border-radius:50%;background:#e7ebef;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:var(--ink-2)}.other-login{font-size:16px;color:var(--accent);background:none;border:none;padding:12px 16px;text-align:left;min-height:48px}.plaque{margin:0 16px 12px;padding:12px;border-radius:12px;font-size:16px;text-align:center}.plaque.amber{background:var(--amber-bg);color:var(--amber)}.plaque.red{background:var(--red-bg);color:var(--red)}.pin-zone{margin-top:auto;background:var(--surface);border-top:1px solid var(--border);padding:16px 16px 24px}.pin-hint{text-align:center;font-size:16px;color:var(--ink-2);margin-bottom:12px;min-height:20px}.dots{display:flex;gap:16px;justify-content:center;margin-bottom:20px}.pdot{width:16px;height:16px;border-radius:50%;border:2px solid var(--ink-2)}.pdot.fill{background:var(--ink);border-color:var(--ink)}@keyframes pdot-pulse{50%{opacity:.35}}.dots.busy .pdot{animation:pdot-pulse .9s ease-in-out infinite}.pad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.key{height:68px;border-radius:12px;border:1px solid var(--border);background:var(--bg);font-size:28px;font-weight:700;color:var(--ink);display:flex;align-items:center;justify-content:center}.key:active{background:var(--border)}.key.fn{font-size:20px;color:var(--ink-2);background:#edf0f3}.key.empty{border:none;background:none;pointer-events:none}.key:disabled{opacity:.45}.phone-display{text-align:center;font-size:28px;font-weight:700;font-variant-numeric:tabular-nums;min-height:40px;margin-bottom:20px}.phone-display .muted{color:var(--ink-2);font-weight:400}.btn-primary{width:100%;height:64px;margin-top:12px;border:none;border-radius:12px;background:var(--accent);color:#fff;font-size:20px;font-weight:700}.btn-primary:active{background:var(--accent-press)}.btn-primary:disabled{background:var(--border);color:var(--ink-2)}.dash-body{flex:1;padding:16px;display:flex;flex-direction:column;gap:16px}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px}.card .caption{font-size:16px;color:var(--ink-2)}.card .title{font-size:20px;font-weight:700;margin-top:2px}.empty-shift{text-align:center;padding:32px 16px}.empty-shift .title{font-size:20px;font-weight:700}.empty-shift .caption{font-size:16px;color:var(--ink-2);margin-top:6px}.btn-secondary{width:100%;min-height:48px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--ink-2);font-size:17px;font-weight:600}.btn-secondary:active{background:var(--bg)}.loading-screen{height:100%;display:flex;align-items:center;justify-content:center;color:var(--ink-2);font-size:17px}.ttl{font-size:20px;font-weight:700}.ttl-back,.menu-btn{font-size:20px;font-weight:700;background:none;border:none;color:var(--ink);padding:4px 0;text-align:left}.menu-btn{font-size:18px}.sync{cursor:pointer}.ctx{padding:14px 16px 4px;font-size:16px;color:var(--ink-2)}.ctx b{color:var(--ink)}.hint{margin:6px 16px;padding:12px 14px;border-radius:12px;background:var(--surface);border:1px solid var(--border);font-size:16px;color:var(--ink-2);display:flex;justify-content:space-between;gap:8px}.hint b{color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}.entry{margin-top:auto;background:var(--surface);border-top:1px solid var(--border);padding:14px 16px 20px}.entry-label{font-size:16px;color:var(--ink-2);text-align:center}.entry-val{font-size:40px;font-weight:800;text-align:center;margin:6px 0 12px;font-variant-numeric:tabular-nums}.entry-val.dim{color:#9aa4ae}.entry-note{text-align:center;color:var(--amber);font-size:16px;margin:-4px 0 12px}.cta{margin-top:12px;height:64px;width:100%;border:none;border-radius:12px;background:var(--accent);color:#fff;font-size:19px;font-weight:700}.cta:active{background:var(--accent-press)}.cta:disabled{background:#b9c6d6}.cta.green{background:var(--green)}.cta.red{background:var(--red)}.cta.red:active{background:#a71f1f}.cta.outline{background:var(--surface);color:var(--accent);border:1px solid var(--accent);height:56px}.search{display:flex;gap:8px;padding:12px 16px 4px}.search input{flex:1;height:48px;border:1px solid var(--border);border-radius:12px;padding:0 14px;font-size:17px;background:var(--surface);color:var(--ink)}.barcode{width:48px;height:48px;border:1px solid var(--border);border-radius:12px;background:var(--surface);font-size:20px;color:var(--ink-2)}.grid{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:96px;align-content:start;gap:10px;padding:12px 16px;overflow:auto;flex:1}.tile{position:relative;min-height:96px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px;display:flex;flex-direction:column;justify-content:space-between;text-align:left}.tile:active{background:var(--bg)}.tile .nm{font-size:17px;font-weight:600;line-height:1.25;color:var(--ink)}.tile .pr{font-size:16px;color:var(--ink-2);font-variant-numeric:tabular-nums}.tile .uom{position:absolute;top:8px;right:8px;font-size:13px;font-weight:700;color:var(--ink-2);background:#edf0f3;border-radius:6px;padding:2px 6px}.tile.mine{border:2px solid var(--accent)}.mine-tag{font-size:13px;color:var(--accent);font-weight:600}.cartbar{padding:10px 16px 18px;background:var(--surface);border-top:1px solid var(--border)}.cart-pay{width:100%;height:64px;border:none;border-radius:12px;background:var(--accent);color:#fff;font-size:19px;font-weight:700;display:flex;align-items:center;justify-content:space-between;padding:0 18px}.cart-pay:active{background:var(--accent-press)}.cart-pay .cnt{font-weight:400;font-size:17px;font-variant-numeric:tabular-nums}.kp-head{padding:14px 16px 0}.kp-price{font-size:16px;color:var(--ink-2);font-variant-numeric:tabular-nums}.running{margin:14px 16px 0;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px 16px;text-align:center}.running .expr{font-size:17px;color:var(--ink-2);font-variant-numeric:tabular-nums}.running .sum{font-size:40px;font-weight:800;font-variant-numeric:tabular-nums;margin-top:2px}.lines{padding:8px 16px;display:flex;flex-direction:column;gap:8px;overflow:auto;flex:1}.line{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px 14px;position:relative}.line.open{border:2px solid var(--accent)}.line .nm{font-size:17px;font-weight:600}.line .calc{font-size:16px;color:var(--ink-2);font-variant-numeric:tabular-nums;margin-top:2px}.line .lt{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:28px;font-weight:700;font-variant-numeric:tabular-nums}.line-actions{display:flex;gap:8px;margin-top:10px}.line-actions button{flex:1;height:48px;border-radius:10px;border:1px solid var(--border);background:var(--bg);font-size:16px;font-weight:600;color:var(--ink)}.line-actions .del{color:var(--red);border-color:#f0c7c4;background:var(--red-bg)}.stepper{flex:1;display:flex;align-items:center;justify-content:space-between;border:1px solid var(--border);border-radius:10px;background:var(--bg);padding:0 6px}.stepper button{width:48px;height:48px;border:none;background:none;font-size:26px;font-weight:700;color:var(--ink);flex:none}.stepper span{font-size:17px;font-weight:600;font-variant-numeric:tabular-nums}.totalrow{display:flex;justify-content:space-between;align-items:baseline;padding:6px 16px 0}.totalrow .lbl{font-size:17px;color:var(--ink-2)}.totalrow .val{font-size:40px;font-weight:800;font-variant-numeric:tabular-nums}.pay-total{text-align:center;padding:26px 16px 8px}.pay-total .lbl{font-size:17px;color:var(--ink-2)}.pay-total .val{font-size:40px;font-weight:800;font-variant-numeric:tabular-nums}.paybtns{display:flex;flex-direction:column;gap:12px;padding:16px}.paybig{height:76px;border:none;border-radius:12px;font-size:22px;font-weight:700;color:#fff;background:var(--accent)}.paybig:active{background:var(--accent-press)}.paybig.alt{background:var(--surface);color:var(--accent);border:2px solid var(--accent)}.split-link{background:none;border:none;color:var(--accent);font-size:17px;padding:14px}.split-zone{display:flex;flex-direction:column;flex:1}.split{margin:12px 16px 0;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px}.split .row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;font-size:17px}.split .row b{font-size:28px;font-variant-numeric:tabular-nums}.split .row.active b{color:var(--accent)}.split .row.hr{border-top:1px solid var(--border)}.badge-ok{color:var(--green);font-size:16px;text-align:center;padding-top:8px}.done{margin:auto 16px;text-align:center}.done .ic{width:96px;height:96px;border-radius:50%;background:var(--green-bg);color:var(--green);font-size:52px;display:flex;align-items:center;justify-content:center;margin:0 auto 18px}.done .sum{font-size:40px;font-weight:800;font-variant-numeric:tabular-nums}.done .st{font-size:17px;color:var(--ink-2);margin-top:6px}.done .q{font-size:16px;color:var(--amber);margin-top:6px}.calc{margin:10px 16px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:6px 14px}.calc .r{display:flex;justify-content:space-between;padding:9px 0;font-size:16px;color:var(--ink-2);border-bottom:1px solid #edf0f3}.calc .r b{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}.calc .r.tot{border-bottom:none;font-size:17px;color:var(--ink);font-weight:700}.calc .r.tot b{font-size:28px;font-weight:800}.pair{display:flex;gap:10px;margin:12px 16px 0}.pair .cell{flex:1;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px;text-align:center}.pair .cell .l{font-size:16px;color:var(--ink-2)}.pair .cell .v{font-size:28px;font-weight:700;font-variant-numeric:tabular-nums;margin-top:2px}.verdict{margin:10px 16px;border-radius:12px;padding:18px;text-align:center}.verdict .big{font-size:40px;font-weight:800;font-variant-numeric:tabular-nums}.verdict .w{font-size:17px;font-weight:600;margin-top:4px}.verdict.ok{background:var(--green-bg);color:var(--green)}.verdict.short{background:var(--red-bg);color:var(--red)}.verdict.over{background:var(--amber-bg);color:var(--amber)}.foot{margin-top:auto;padding:12px 16px 18px;background:var(--surface);border-top:1px solid var(--border)}.foot .cta{margin-top:0}.foot .back{background:none;border:none;width:100%;color:var(--ink-2);font-size:16px;padding:12px 0 0}.exp-cats{display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px 0}.exp-chip{min-height:48px;padding:0 16px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--ink);font-size:17px;font-weight:600}.exp-chip.on{border:2px solid var(--accent);color:var(--accent)}.exp-chip:active{background:var(--bg)}.exp-custom{margin:10px 16px 0;height:48px;width:calc(100% - 32px);border:1px solid var(--border);border-radius:12px;padding:0 14px;font-size:17px;background:var(--surface);color:var(--ink)}.exp-methods{display:flex;gap:8px;padding:12px 16px 0}.exp-seg{flex:1;min-height:52px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--ink-2);font-size:17px;font-weight:600}.exp-seg.on{border:2px solid var(--accent);color:var(--accent)}.addexp-link{display:block;width:calc(100% - 32px);margin:4px 16px 0;min-height:48px;background:none;border:none;color:var(--accent);font-size:17px;font-weight:600}.hero{margin:16px;border-radius:12px;padding:20px;text-align:center;background:var(--surface);border:1px solid var(--border)}.hero .st{font-size:20px;font-weight:700}.hero .sub{font-size:16px;color:var(--ink-2);margin-top:4px}.hero.ok .st{color:var(--green)}.hero.q{background:var(--amber-bg);border-color:#f0dfa8}.hero.q .st{color:var(--amber)}.hero.err{background:var(--red-bg);border-color:#f0c7c4}.hero.err .st{color:var(--red)}.sec{font-size:16px;color:var(--ink-2);padding:8px 16px 4px;font-weight:600}.list{margin:0 16px;display:flex;flex-direction:column;gap:8px}.item{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px 14px;display:flex;justify-content:space-between;align-items:center;gap:8px}.item .nm{font-size:17px;font-weight:600}.item .meta{font-size:16px;color:var(--ink-2);margin-top:2px}.item .amt{font-size:17px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.item.bad{border:1px solid #f0c7c4}.item .why{font-size:16px;color:var(--red);margin-top:4px}.item .acts{display:flex;gap:8px;margin-top:10px}.item .acts button{height:48px;padding:0 16px;border-radius:10px;border:1px solid var(--border);background:var(--bg);font-size:16px;font-weight:600;color:var(--ink)}.item .acts .prim{background:var(--accent);color:#fff;border:none}.kv{margin:12px 16px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:4px 14px}.kv .r{display:flex;justify-content:space-between;padding:10px 0;font-size:16px;color:var(--ink-2);border-bottom:1px solid #edf0f3}.kv .r:last-child{border-bottom:none}.kv .r b{color:var(--ink);font-weight:600}.empty-catalog{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;gap:10px}.empty-catalog .title{font-size:20px;font-weight:700}.empty-catalog .caption{font-size:16px;color:var(--ink-2)}.empty-catalog .btn-primary{margin-top:12px;max-width:240px}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#17202a66;display:flex;align-items:flex-end;z-index:20}.sheet{width:100%;max-width:480px;margin:0 auto;background:var(--surface);border-radius:16px 16px 0 0;padding:8px}.sheet-item{width:100%;height:60px;border:none;background:none;font-size:18px;font-weight:600;color:var(--ink);border-bottom:1px solid var(--border)}.sheet-item.cancel{color:var(--ink-2);border-bottom:none}.sale-legend{display:flex;gap:16px;flex-wrap:wrap;padding:10px 16px 0;font-size:15px;color:var(--ink-2)}.sale-legend .k{display:flex;align-items:center;gap:6px}.sale-legend .sw{width:16px;height:16px;border-radius:4px;border:2px solid var(--accent);display:inline-block}.sale-legend .sw.own{border:1px solid var(--border);background:var(--surface)}.mytag{font-size:13px;font-weight:700;color:var(--accent);background:#e3edfb;border-radius:5px;padding:1px 6px;margin-left:4px}.tile .mytag{align-self:flex-start;margin:0 0 2px}.tile.mine .pr{color:var(--accent);font-weight:700}.tile.mine .uom{background:#e3edfb;color:var(--accent)}.myprice{margin:10px 16px 0;background:#edf2fa;border:1px solid #cbdcf5;border-radius:12px;padding:10px 12px;display:flex;justify-content:space-between;align-items:center;gap:10px}.myprice .mp{font-size:16px;color:#365b92}.myprice .mp b{font-size:18px;color:var(--accent);font-variant-numeric:tabular-nums}.myprice .edit{min-height:48px;padding:0 16px;border-radius:10px;border:1px solid var(--accent);background:var(--surface);color:var(--accent);font-size:16px;font-weight:700}.dolyaline{margin:8px 16px 0;font-size:16px;color:var(--green);font-weight:600;text-align:center;font-variant-numeric:tabular-nums}.dolyaline.neg{color:var(--red)}.line.mine{border-left:4px solid var(--accent)}.line .dl{font-size:15px;color:var(--green);font-weight:600;margin-top:4px;font-variant-numeric:tabular-nums}.line .dl.neg{color:var(--red)}.dolyatotal{display:flex;justify-content:space-between;padding:6px 16px 0;font-size:16px;color:var(--green);font-weight:600;font-variant-numeric:tabular-nums}.warn{margin:8px 16px 0;background:var(--amber-bg);border:1px solid #f0dfa8;border-radius:10px;padding:10px 12px;font-size:15px;color:var(--amber);text-align:center}.lead{padding:14px 16px 4px;font-size:16px;color:var(--ink-2)}.rows{padding:8px 16px;display:flex;flex-direction:column;gap:10px;overflow:auto;flex:1}.rows .row{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px;display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:72px;text-align:left}.rows .row.mine{border:2px solid var(--accent)}.rows .row .nm{font-size:18px;font-weight:600}.rows .row .sub{font-size:16px;color:var(--ink-2);margin-top:3px;font-variant-numeric:tabular-nums}.rows .row .chev{font-size:24px;color:#b9c6d6}.badge{display:inline-block;font-size:13px;font-weight:700;color:var(--accent);background:#e3edfb;border-radius:6px;padding:2px 7px;margin-left:6px}.running .running-lbl{font-size:16px;color:var(--amber);font-weight:600;margin-top:6px}.srcbar{margin:12px 16px 0;background:#edf2fa;border:1px solid #cbdcf5;border-radius:12px;padding:11px 14px}.srcbar .a{font-size:17px;font-weight:700}.srcbar .b{font-size:16px;color:#365b92;margin-top:2px;font-variant-numeric:tabular-nums}.plist{padding:10px 16px 2px;display:flex;flex-direction:column;gap:8px;overflow:auto;flex:1}.part{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:11px 14px;display:flex;justify-content:space-between;align-items:center;gap:10px;text-align:left;width:100%}.part.mine{border-left:4px solid var(--accent)}.part .pnm{font-size:17px;font-weight:600}.part .mini{font-size:13px;font-weight:700;color:var(--accent);background:#e3edfb;border-radius:5px;padding:1px 6px;margin-left:4px}.part .pcalc{font-size:16px;color:var(--ink-2);margin-top:2px;font-variant-numeric:tabular-nums}.part .prev{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.addpart{margin:8px 16px 0;min-height:56px;width:calc(100% - 32px);border:2px dashed var(--accent);border-radius:12px;background:#f4f8ff;color:var(--accent);font-size:18px;font-weight:700}.pool{margin:12px 16px 0;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px 16px}.pool .cap{font-size:16px;color:var(--ink-2)}.pool .big{font-size:32px;font-weight:800;font-variant-numeric:tabular-nums;margin:2px 0 10px}.scale{height:26px;border-radius:7px;background:#edf0f3;position:relative;overflow:hidden}.scale i{position:absolute;top:0;bottom:0;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff}.scale i.tr{background:#7c8b9b}.scale i.dl{background:var(--green)}.legend{display:flex;justify-content:space-between;gap:8px;margin-top:10px;font-size:16px}.legend .k{display:flex;align-items:center;gap:6px;color:var(--ink-2)}.legend .sw{width:12px;height:12px;border-radius:3px;display:inline-block}.legend .sw.tr{background:#7c8b9b}.legend .sw.dl{background:var(--green)}.legend b{color:var(--ink);font-variant-numeric:tabular-nums}.legend b.g{color:var(--green)}.legend b.r{color:var(--red)}.foot .meta{display:flex;justify-content:space-between;font-size:16px;color:var(--ink-2);margin-bottom:10px;font-variant-numeric:tabular-nums}.chips{display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px 4px}.chip{min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--border);background:var(--surface);font-size:16px;font-weight:600;color:var(--ink-2)}.chip.on{background:var(--accent);border-color:var(--accent);color:#fff}.fields{display:flex;gap:10px;padding:10px 16px 0}.fld{flex:1;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:10px 12px;text-align:left}.fld.on{border:2px solid var(--accent)}.fld .l{font-size:15px;color:var(--ink-2)}.fld .v{font-size:24px;font-weight:800;font-variant-numeric:tabular-nums;margin-top:2px}.fld .v.dim{color:#9aa4ae}.tbl{margin:10px 16px 0;background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.th,.tr2{display:grid;grid-template-columns:1fr auto auto;gap:8px;padding:10px 14px;align-items:center}.th{background:var(--bg);font-size:14px;color:var(--ink-2);font-weight:600}.th span:not(:first-child),.tr2 .n{text-align:right;min-width:88px}.tr2{border-top:1px solid #edf0f3}.tr2 .pnm{font-size:16px;font-weight:600}.tr2 .pc{font-size:14px;color:var(--ink-2);margin-top:1px;font-variant-numeric:tabular-nums}.tr2 .n{font-size:16px;font-variant-numeric:tabular-nums}.tr2 .n.t{color:var(--ink-2)}.tr2.tot{background:var(--bg);border-top:2px solid var(--border);font-weight:700}.tr2.tot .n{font-size:17px}.verdict-cut{margin:12px 16px 0;background:var(--green-bg);border:1px solid #bfe6cd;border-radius:12px;padding:14px 16px;display:flex;justify-content:space-between;align-items:center}.verdict-cut .l{font-size:17px;color:var(--green);font-weight:600}.verdict-cut .v{font-size:32px;font-weight:800;color:var(--green);font-variant-numeric:tabular-nums}.verdict-cut.neg{background:var(--red-bg);border-color:#f0c7c4}.verdict-cut.neg .l,.verdict-cut.neg .v{color:var(--red)}.hintline{font-size:15px;color:var(--ink-2);padding:10px 16px 0;line-height:1.4}.surplus{overflow-y:auto}.hero-surplus{margin:16px;background:var(--green-bg);border:1px solid #bfe6cd;border-radius:14px;padding:20px 18px;text-align:center}.hero-surplus .l{font-size:16px;color:var(--green);font-weight:600}.hero-surplus .bal{font-size:44px;font-weight:800;color:var(--green);font-variant-numeric:tabular-nums;line-height:1.1;margin:4px 0}.hero-surplus .note{font-size:16px;color:var(--ink-2);margin-top:6px;line-height:1.4}.rollup{display:flex;gap:8px;margin:0 16px}.rollup .c{flex:1;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:11px 8px;text-align:center}.rollup .c .rl{font-size:14px;color:var(--ink-2)}.rollup .c .rv{font-size:18px;font-weight:700;font-variant-numeric:tabular-nums;margin-top:3px}.rollup .c .rv.g{color:var(--green)}.rollup .c .rv.r{color:var(--red)}.period{display:flex;gap:8px;padding:14px 16px 4px}.period button{flex:1;min-height:44px;border-radius:10px;border:1px solid var(--border);background:var(--surface);font-size:16px;font-weight:600;color:var(--ink-2)}.period button.on{background:var(--accent);border-color:var(--accent);color:#fff}.surplus-list{padding:0 0 8px}.daylbl{font-size:15px;color:var(--ink-2);font-weight:600;padding:12px 16px 6px}.oplist{padding:0 16px;display:flex;flex-direction:column;gap:8px}.op{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px 14px}.op.open{border:2px solid var(--accent)}.op .head{display:flex;justify-content:space-between;align-items:center;gap:10px}.op .tagcol{display:flex;align-items:center;gap:10px}.op .tg{width:36px;height:36px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:19px;font-weight:800;flex:none}.op .tg.earn{background:var(--green-bg);color:var(--green)}.op .tg.wo{background:var(--red-bg);color:var(--red)}.op .tg.pay{background:#edf0f3;color:var(--ink-2)}.op .nm{font-size:17px;font-weight:600}.op .opmeta{font-size:15px;color:var(--ink-2);margin-top:2px;font-variant-numeric:tabular-nums}.op .amt{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.op .amt.g{color:var(--green)}.op .amt.r{color:var(--red)}.op .amt.n{color:var(--ink)}.opcalc{margin-top:12px;background:var(--bg);border-radius:10px;padding:12px 14px}.opcalc .cr{display:flex;justify-content:space-between;font-size:16px;color:var(--ink-2);padding:4px 0;font-variant-numeric:tabular-nums}.opcalc .cr b{color:var(--ink);font-weight:600}.opcalc .src{font-size:15px;color:var(--ink-2);margin-top:8px;line-height:1.4}.trust{margin:14px 16px 20px;font-size:15px;color:var(--ink-2);text-align:center;line-height:1.45}.prodcard{margin:14px 16px 0;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:13px 14px;display:flex;justify-content:space-between;align-items:center;gap:10px}.prodcard.mine{border:2px solid var(--accent)}.prodcard .nm{font-size:19px;font-weight:700}.prodcard .sub{font-size:16px;color:var(--ink-2);margin-top:2px;font-variant-numeric:tabular-nums}.prodcard .mini{font-size:13px;font-weight:700;color:var(--accent);background:#e3edfb;border-radius:5px;padding:1px 7px;margin-left:6px}.swap{font-size:16px;color:var(--accent);font-weight:600;white-space:nowrap;background:none;border:none;padding:8px 4px}.sec .req{color:var(--amber);font-weight:600}.dolimpact{margin:14px 16px 0;background:var(--red-bg);border:1px solid #f0c7c4;border-radius:12px;padding:13px 14px}.dolimpact .r{display:flex;justify-content:space-between;align-items:center}.dolimpact .l{font-size:17px;color:var(--red);font-weight:600}.dolimpact .v{font-size:26px;font-weight:800;color:var(--red);font-variant-numeric:tabular-nums}.dolimpact .ex{font-size:15px;color:#8a4441;margin-top:4px;font-variant-numeric:tabular-nums}.bearer{margin:10px 16px 0;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:11px 14px;display:flex;justify-content:space-between;align-items:center;gap:10px}.bearer .bl{font-size:16px;color:var(--ink-2)}.bearer .bv{font-size:17px;font-weight:700;display:flex;align-items:center;gap:6px}.bearer .lock{font-size:14px;color:#9aa4ae}.bnote{font-size:14px;color:var(--ink-2);padding:6px 18px 0;line-height:1.4}.dispute-link{background:none;border:none;color:var(--accent);font-weight:600;font-size:15px;padding:0}.stockline{margin:14px 16px 0;background:var(--bg);border:1px dashed #c6cdd4;border-radius:12px;padding:12px 14px;font-size:16px;color:var(--ink-2);text-align:center}.confirm{margin:auto 16px;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:20px 18px}.confirm .q{font-size:22px;font-weight:700;text-align:center;margin-bottom:14px}.confirm .kv{margin:0;background:none;border:none;border-radius:0;display:flex;justify-content:space-between;align-items:center;padding:9px 0;font-size:17px;color:var(--ink-2);border-bottom:1px solid #edf0f3;font-variant-numeric:tabular-nums}.confirm .kv b{color:var(--ink);font-weight:600}.confirm .kv:last-of-type{border-bottom:none}.confirm .kv.loss b{color:var(--red)}.cfoot{padding:0 16px 18px}.cfoot .cta{margin-top:10px}.cfoot .back{background:none;border:none;width:100%;color:var(--ink-2);font-size:17px;padding:14px 0 0}.done .sum.loss{color:var(--red)}.st-counter{padding:4px 16px 8px;font-size:16px;color:var(--ink-2)}.st-counter b{color:var(--ink);font-variant-numeric:tabular-nums}.rows .row.counted{border:2px solid var(--green)}.rows .row .st-line{display:flex;gap:10px;align-items:baseline;margin-top:4px;font-size:16px;font-variant-numeric:tabular-nums}.rows .row .st-line>span:first-child{color:var(--ink);font-weight:600}.st-diff{font-weight:700;font-variant-numeric:tabular-nums;border-radius:6px;padding:1px 8px}.st-diff.over{color:var(--green);background:var(--green-bg)}.st-diff.short{color:var(--amber);background:var(--amber-bg)}.st-diff.exact{color:var(--ink-2);background:var(--bg)}.st-hint{text-align:center;font-size:17px;margin:2px 0 12px;color:var(--ink-2);font-variant-numeric:tabular-nums}.st-hint b{font-size:20px}.st-hint.over b{color:var(--green)}.st-hint.short b{color:var(--amber)}.st-hint.exact b{color:var(--ink)}.confirm .kv b.short{color:var(--amber)}.confirm .kv b.over{color:var(--green)}.st-note{padding:10px 16px 2px}.st-note input{width:100%;box-sizing:border-box;padding:14px;font-size:17px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--ink)}.done-actions{display:flex;flex-direction:column;gap:10px;margin:18px 16px 0}.btn-print{width:100%;min-height:56px;border-radius:12px;border:1px solid var(--accent);background:var(--surface);color:var(--accent);font-size:18px;font-weight:700}.btn-print:active{background:var(--bg)}.scan-hint{margin:0 16px 8px;padding:10px 12px;border-radius:12px;font-size:16px;font-weight:600}.scan-hint.err{background:var(--amber-bg);color:var(--amber)}.scan-hint.ok{background:var(--green-bg);color:var(--green)}.recent-list{flex:1;overflow-y:auto;padding:8px 16px 16px}.recent-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;min-height:64px;padding:12px 14px;margin-bottom:8px;background:var(--surface);border:1px solid var(--border);border-radius:12px}.recent-row:active{background:var(--bg)}.recent-row .rr-main .rr-num{font-size:17px;font-weight:700}.recent-row .rr-main .rr-sub{font-size:16px;color:var(--ink-2);margin-top:2px}.recent-row .rr-main .rr-sub.pending{color:var(--amber)}.recent-row .rr-sum{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.recent-empty{margin:auto 16px;text-align:center;color:var(--ink-2);font-size:17px}.receipt{display:none;font-family:Menlo,Consolas,Courier New,monospace;color:#000;background:#fff}.receipt .r-shop{font-size:15px;font-weight:700;text-align:center}.receipt .r-sub{font-size:11px;text-align:center;margin-top:2px}.receipt .r-meta{display:flex;justify-content:space-between;font-size:12px;margin-top:8px}.receipt .r-num{font-size:12px;font-weight:700;margin-top:4px}.receipt .r-num.pending{font-weight:400}.receipt .r-rule{border-top:1px dashed #000;margin:8px 0}.receipt .r-line{margin-bottom:6px}.receipt .r-line .r-name{font-size:13px}.receipt .r-line .r-calc{display:flex;justify-content:space-between;font-size:12px}.receipt .r-line .r-calc .r-sum{font-weight:700}.receipt .r-total{display:flex;justify-content:space-between;font-size:15px;font-weight:700}.receipt .r-pays{margin-top:6px}.receipt .r-pay{display:flex;justify-content:space-between;font-size:12px}.receipt .r-foot{text-align:center;font-size:11px;margin-top:10px}@media print{@page{margin:4mm}html,body{background:#fff!important;height:auto!important}body *{visibility:hidden!important}.receipt,.receipt *{visibility:visible!important}.receipt{display:block!important;position:absolute;top:0;left:0;width:72mm;padding:0}}
