:root{--bg: #f7f8fa;--ink: #29323d;--primary: #1f6feb;--accent: #e05252;--green: #128a56;--warn: #d9793a;--muted: #7c8794;--border: #e3e7ec;--card: #ffffff}*{box-sizing:border-box;margin:0}html,body{height:100%}body{font:15px/1.45 system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}#root{max-width:620px;margin:0 auto;min-height:100%}.boot{display:grid;place-items:center;height:100vh;font-size:40px}h2{font-size:17px;font-weight:800;margin:16px 0 10px}h3{font-size:15px;font-weight:800;margin:0 0 8px}h3.lane{margin:18px 0 8px;color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.04em}.muted{color:var(--muted)}.sm{font-size:13px}.bold{font-weight:800}.grow{flex:1;min-width:0}.name{font-weight:800}.app{padding:0 14px calc(24px + env(safe-area-inset-bottom))}.top{display:flex;justify-content:space-between;align-items:center;padding:14px 2px 10px;gap:10px}.brand{font-weight:900;letter-spacing:-.02em}.brand span{color:var(--primary)}.brand em{font-style:normal;font-weight:700;color:var(--muted);font-size:13px}.brand-lg{font-size:26px;font-weight:900;letter-spacing:-.02em}.brand-lg span{color:var(--primary)}.brand-lg em{font-style:normal;font-weight:700;color:var(--muted);font-size:15px}.who{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.tabs{display:flex;gap:8px;margin-bottom:6px}.tabs button{flex:1;min-height:42px;border-radius:12px;border:1px solid var(--border);background:#fff;color:var(--ink);font:inherit;font-weight:700;cursor:pointer}.tabs button.on{background:var(--primary);color:#fff;border-color:var(--primary)}.head-row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.head-row .btn{width:auto}.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:14px;margin-bottom:10px}.row-card{display:flex;gap:12px;align-items:flex-start}.row-x{display:flex;gap:8px;align-items:center}.acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.acts .btn{width:auto}.thumb{width:64px;height:44px;min-width:64px;border-radius:10px;object-fit:cover;border:1px solid var(--border);background:var(--bg)}.thumb.empty{display:grid;place-items:center;font-size:20px}label{display:block;font-size:12px;font-weight:700;color:var(--muted);margin:12px 0 4px}label.check{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:14px;color:var(--ink)}label.check input{width:18px;height:18px}input,select,textarea{width:100%;min-height:44px;padding:10px 12px;border:1.5px solid var(--border);border-radius:11px;background:#fff;font:inherit;color:var(--ink)}textarea{min-height:auto;resize:vertical}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary)}.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.hint{font-size:12px;color:var(--muted);margin-top:4px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:8px 18px;border-radius:99px;border:1px solid var(--primary);background:var(--primary);color:#fff;font:inherit;font-weight:800;font-size:14px;cursor:pointer}.btn.primary{width:100%}.btn.ghost{background:#fff;color:var(--primary)}.btn.sm{min-height:36px;padding:4px 14px;font-size:13px}.btn.danger{color:var(--accent);border-color:var(--accent)}.btn.link{background:none;border:none;color:var(--primary);padding:4px;min-height:auto}.btn:disabled{opacity:.5;cursor:default}.foot{display:flex;gap:10px;margin-top:16px}.foot .btn{flex:1}.login-wrap{display:grid;place-items:center;min-height:100vh;padding:20px}.login-card{background:#fff;border:1px solid var(--border);border-radius:18px;padding:24px;width:100%;max-width:380px}.login-card .btn{width:100%;margin-top:14px}.mobile-row{display:flex;align-items:center;gap:8px}.mobile-row span{font-weight:800;color:var(--muted)}.code-input{text-align:center;letter-spacing:.4em;font-size:22px;font-weight:800}.pill{display:inline-block;padding:3px 10px;border-radius:99px;font-size:11px;font-weight:800;background:var(--bg);color:var(--muted)}.pill.approved,.pill.st-completed,.pill.st-delivered{background:#e6f5ee;color:var(--green)}.pill.submitted,.pill.st-paid{background:#fdf0e4;color:var(--warn)}.pill.rejected,.pill.st-cancelled{background:#fdeaea;color:var(--accent)}.pill.draft{background:var(--bg);color:var(--muted)}.pill.st-preparing,.pill.st-out_for_delivery,.pill.sen{background:#e8f0fe;color:var(--primary)}.pill.off{background:#fdeaea;color:var(--accent)}.err{color:var(--accent);font-size:13px;font-weight:700;margin-top:8px}.err.sm{font-size:12px}.note{background:#e8f0fe;color:var(--primary);border-radius:10px;padding:8px 12px;font-size:13px;font-weight:700;margin-bottom:10px;cursor:pointer}.note.sm{font-size:12px;margin:8px 0 0;cursor:default}.warn{background:#fdeaea;color:var(--accent);border-radius:10px;padding:10px 12px;font-size:13px;font-weight:700;margin-bottom:10px}.shots{display:flex;gap:8px;flex-wrap:wrap}.shot{position:relative;width:74px;height:74px;border-radius:10px;overflow:hidden;border:1px solid var(--border);background:var(--bg)}.shot img{width:100%;height:100%;object-fit:cover;display:block}.shot .x{position:absolute;top:2px;right:2px;width:22px;height:22px;border-radius:99px;border:none;background:#0000008c;color:#fff;font-size:12px;cursor:pointer;padding:0}.shot.add{display:grid;place-items:center;font-size:26px;color:var(--muted);cursor:pointer;border-style:dashed}.items{border-top:1px solid var(--border);margin-top:10px;padding-top:8px}.item{display:flex;justify-content:space-between;gap:12px;font-size:14px;padding:3px 0}.item.total{border-top:1px solid var(--border);margin-top:6px;padding-top:6px;color:var(--muted)}.ship-to{background:var(--bg);border-radius:10px;padding:10px 12px;margin-top:10px}.ship{border-top:1px solid var(--border);margin-top:12px;padding-top:10px}.ship .btn{width:100%;margin-top:10px}.chat{border-top:1px solid var(--border);margin-top:12px;padding-top:10px;display:flex;flex-direction:column;gap:8px}.msg{max-width:80%;padding:8px 12px;border-radius:14px;font-size:14px}.msg.them{background:var(--bg);align-self:flex-start}.msg.me{background:var(--primary);color:#fff;align-self:flex-end}.msg img{width:100%;border-radius:10px;margin-top:6px;display:block}
