:root{--navy: #0b1f3a;--blue: #1f6feb;--blue-soft: #e8f0fd;--bg: #f4f6f9;--white: #ffffff;--grey: #6b7280;--line: #e5e7eb;--ink: #111827;--green: #15803d;--green-soft: #e7f6ec;--amber: #b45309;--amber-soft: #fef3c7;--red: #b91c1c;--red-soft: #fdecec;--radius: 16px;--shadow: 0 1px 2px rgba(11, 31, 58, .06), 0 4px 12px rgba(11, 31, 58, .06)}*{box-sizing:border-box}html,body{margin:0;background:#dde3ec;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--ink);-webkit-tap-highlight-color:transparent}#app{min-height:100dvh}.shell{max-width:480px;min-height:100dvh;margin:0 auto;background:var(--bg);display:flex;flex-direction:column;position:relative;box-shadow:0 0 40px #00000014}@media (max-width: 480px){.shell{box-shadow:none}}.appbar{background:var(--navy);color:#fff;padding:calc(env(safe-area-inset-top,0px) + 14px) 16px 14px;display:flex;justify-content:space-between;align-items:center;gap:8px;position:sticky;top:0;z-index:5}.appbar .t{font-size:18px;font-weight:700}.appbar .s{font-size:12px;opacity:.78;margin-top:2px}.content{flex:1;padding:14px 14px 96px;display:flex;flex-direction:column;gap:12px}.card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);padding:12px 14px}.row{display:flex;justify-content:space-between;align-items:center;gap:8px}.list{display:flex;flex-direction:column;gap:6px}.muted{color:var(--grey);font-size:12px}.small{font-size:12px}.money{font-weight:700;color:var(--navy);white-space:nowrap}.h{font-size:13px;font-weight:700;color:var(--navy)}.sync{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600}.dot{width:8px;height:8px;border-radius:50%;display:inline-block}.pill{display:inline-block;font-size:11px;font-weight:600;padding:3px 9px;border-radius:999px;white-space:nowrap}.p-blue{background:var(--blue-soft);color:var(--blue)}.p-green{background:var(--green-soft);color:var(--green)}.p-amber{background:var(--amber-soft);color:var(--amber)}.p-red{background:var(--red-soft);color:var(--red)}.p-grey{background:#eef0f3;color:var(--grey)}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:var(--blue);color:#fff;border-radius:14px;padding:13px 14px;font-size:15px;font-weight:700;font-family:inherit;cursor:pointer;text-align:center}.btn:disabled{opacity:.5;cursor:default}.btn.navy{background:var(--navy)}.btn.ghost{background:var(--white);color:var(--navy);border:1px solid var(--line)}.btn.danger{background:var(--white);color:var(--red);border:1px solid #f3c4c4}.btn.sm{padding:7px 11px;font-size:12px;border-radius:11px}.btn.block{width:100%}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.input{width:100%;background:var(--white);border:1px solid var(--line);border-radius:12px;padding:12px 13px;font-size:15px;font-family:inherit;color:var(--ink)}.input:focus{outline:2px solid var(--blue);border-color:transparent}.num{width:84px;text-align:center;font-weight:700;font-size:16px;padding:10px 6px}.qty{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.qty label{font-size:11px;color:var(--grey);display:flex;flex-direction:column;gap:4px}.chips{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px}.chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:var(--white);border-radius:999px;padding:6px 12px;font-size:12px;white-space:nowrap;font-family:inherit;color:var(--ink);cursor:pointer}.chip.on{background:var(--navy);color:#fff;border-color:var(--navy)}.stat{background:var(--white);border-radius:14px;padding:12px;box-shadow:var(--shadow)}.stat .n{font-size:18px;font-weight:700;color:var(--navy)}.stat .l{font-size:11px;color:var(--grey);margin-top:2px}.bnav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;background:var(--white);border-top:1px solid var(--line);display:flex;justify-content:space-around;padding:6px 4px calc(env(safe-area-inset-bottom,0px) + 8px);z-index:6}.bnav button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;font:inherit;font-size:11px;color:var(--grey);flex:1;padding:6px 0;cursor:pointer}.bnav button.on{color:var(--blue);font-weight:700}.bnav .ic{display:block;width:22px;height:22px;margin:0 auto 3px;border-radius:7px;background:#e5e7eb}.bnav button.on .ic{background:var(--blue)}.toast{position:fixed;left:50%;bottom:86px;transform:translate(-50%);background:var(--navy);color:#fff;padding:11px 16px;border-radius:12px;font-size:13px;box-shadow:0 8px 24px #00000040;z-index:20;max-width:90vw}.err{background:var(--red-soft);color:var(--red);border-radius:12px;padding:10px 12px;font-size:13px}.warn{background:var(--amber-soft);color:#7c4a03;border-radius:12px;padding:10px 12px;font-size:13px}.total{background:var(--navy);color:#fff;border-radius:16px;padding:12px 14px}.total .amt{font-size:22px;font-weight:700;margin:2px 0 6px}.lrow{display:flex;justify-content:space-between;font-size:12px;padding:2px 0}.login{min-height:100dvh;background:var(--navy);display:flex;flex-direction:column}.brand{padding:56px 24px 28px;text-align:center;color:#fff}.logo{width:60px;height:60px;border-radius:18px;background:var(--blue);margin:0 auto 12px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:24px;color:#fff}.sheet-wrap{background:var(--bg);flex:1;border-radius:24px 24px 0 0;padding:24px 20px calc(env(safe-area-inset-bottom,0px) + 24px);display:flex;flex-direction:column;gap:10px}.menu-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:#ffffff1f;width:40px;height:40px;border-radius:12px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;cursor:pointer;flex:none}.menu-btn span{display:block;width:18px;height:2px;border-radius:2px;background:#fff}.shade{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b1f3a73;z-index:30;display:flex;justify-content:center;align-items:flex-start}.menu-panel{width:100%;max-width:480px;margin-top:calc(env(safe-area-inset-top,0px) + 62px);padding:0 12px;display:flex;flex-direction:column;align-items:flex-end;gap:6px;max-height:calc(100dvh - 80px);overflow-y:auto}.menu-item{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;font:inherit;font-size:15px;font-weight:600;color:var(--navy);background:var(--white);border-radius:14px;padding:13px 18px;width:220px;text-align:left;box-shadow:var(--shadow);cursor:pointer}.menu-item:disabled{opacity:.55}.menu-body{width:min(100%,340px);background:var(--white);border-radius:14px;padding:12px 14px;box-shadow:var(--shadow)}.avatar{width:44px;height:44px;border-radius:50%;background:var(--blue-soft);color:var(--blue);display:flex;align-items:center;justify-content:center;font-weight:700}.shell.wide{max-width:720px}.add-wide{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:2px dashed #b8c7e6;background:var(--white);color:var(--blue);width:100%;font:inherit;font-size:16px;font-weight:700;padding:16px;border-radius:var(--radius);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px}.add-wide .plus{font-size:22px;line-height:1}.empty{text-align:center;color:var(--grey);font-size:13px;padding:18px 0}.li{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);padding:12px 14px;border-left:4px solid var(--blue)}.li-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.li-name{font-weight:700;font-size:15px;color:var(--navy)}.li-sub{font-size:12px;color:var(--grey);margin-top:2px}.x{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:var(--red-soft);color:var(--red);width:30px;height:30px;border-radius:10px;font-size:13px;cursor:pointer;flex:none}.li-inputs{display:grid;grid-template-columns:repeat(3,1fr) 1.4fr;gap:8px;margin-top:10px;align-items:end}.li-inputs label{font-size:11px;color:var(--grey);display:flex;flex-direction:column;gap:4px;min-width:0}.li-inputs .num{width:100%}.li-amt{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--grey);text-align:right}.li-amt b{font-size:15px;color:var(--navy);background:var(--blue-soft);border-radius:12px;padding:11px 8px;white-space:nowrap}.li-foot{margin-top:8px;font-size:11px;color:var(--grey)}.bbar{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:720px;background:var(--bg);padding:8px 12px calc(env(safe-area-inset-bottom,0px) + 10px);box-shadow:0 -6px 18px #0b1f3a1a;z-index:8;display:flex;flex-direction:column;gap:8px}.bbar-total{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;font:inherit;width:100%;background:var(--navy);color:#fff;border-radius:14px;padding:9px 14px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;text-align:left}.bt-l{display:flex;align-items:baseline;gap:10px}.bt-lbl{font-size:12px;opacity:.8}.bt-amt{font-size:18px;font-weight:700}.bt-q{font-size:12px;opacity:.8}.bdetails{background:var(--white);border-radius:14px;padding:8px 14px;box-shadow:var(--shadow);max-height:40dvh;overflow-y:auto}.bbar .btn{padding:11px 12px}.picker{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg);z-index:40;display:flex;flex-direction:column;max-width:960px;margin:0 auto}.picker-top{display:flex;gap:8px;align-items:center;padding:calc(env(safe-area-inset-top,0px) + 12px) 12px 10px;background:var(--navy)}.picker-top .btn{white-space:nowrap}.picker-list{flex:1;overflow-y:auto;padding:10px 12px calc(env(safe-area-inset-bottom,0px) + 16px);display:flex;flex-direction:column;gap:8px}.pick{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;font:inherit;text-align:left;width:100%;background:var(--white);border-radius:14px;box-shadow:var(--shadow);padding:13px 14px;display:flex;justify-content:space-between;align-items:center;gap:10px;cursor:pointer;color:var(--ink)}.pick.added{opacity:.55;cursor:default}.pk-main{display:flex;flex-direction:column;gap:3px;min-width:0}.pk-name{font-weight:700;font-size:15px;color:var(--navy)}.pk-sub{font-size:12px;color:var(--grey)}.pk-side{display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-size:11px;color:var(--grey);white-space:nowrap}.pk-side b{font-size:14px;color:var(--navy)}
