:root{--bg: #faf8f4;--card: #ffffff;--card-2: #ffffff;--line: #ece8e1;--line-strong: #ddd7cc;--text: #1c1a17;--muted: #6b6459;--faint: #a39b8d;--accent: #b5231f;--accent-soft: rgba(181, 35, 31, .08);--ok: #157347;--ok-bg: rgba(21, 115, 71, .1);--pending: #b26a00;--pending-bg: rgba(178, 106, 0, .1);--refused: #b5231f;--refused-bg: rgba(181, 35, 31, .09);--radius: 12px;--shadow: 0 1px 2px rgba(28, 26, 23, .04), 0 10px 30px -18px rgba(28, 26, 23, .2);--sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--display: "Fraunces", "Iowan Old Style", Georgia, "Times New Roman", serif}*{box-sizing:border-box}html,body{margin:0;padding:0;color:var(--text);background:var(--bg);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{min-height:100vh;min-height:100dvh}.page{width:100%;max-width:460px;margin:0 auto;padding:32px 18px calc(28px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:20px;min-height:100dvh}.brand{text-align:center;display:flex;flex-direction:column;gap:6px;padding-top:4px}.wordmark{font-size:13px;letter-spacing:.26em;text-transform:uppercase;color:var(--muted);font-weight:500}.wordmark b{color:var(--text);font-weight:700}.tagline{font-size:12px;color:var(--faint);letter-spacing:.01em}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px 22px}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.eyebrow{display:block;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--faint);margin-bottom:2px}.ordercode{margin:0;font-family:var(--display);font-size:34px;font-weight:600;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.order-title{margin:0;font-family:var(--display);font-size:26px;font-weight:600;letter-spacing:-.01em}.card:not(.review) .items{border-top-style:dashed}.card:not(.review) .item{border-bottom-style:dashed}.badge{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:6px 10px;border-radius:6px;white-space:nowrap;border:1px solid transparent}.badge .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.badge.ok{color:var(--ok);background:var(--ok-bg);border-color:color-mix(in srgb,var(--ok) 30%,transparent)}.badge.pending{color:var(--pending);background:var(--pending-bg);border-color:color-mix(in srgb,var(--pending) 30%,transparent)}.badge.refused{color:var(--refused);background:var(--refused-bg);border-color:color-mix(in srgb,var(--refused) 30%,transparent)}.date{margin:10px 0 20px;font-size:13px;color:var(--muted)}.items{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.item{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}.qty{flex:none;min-width:40px;height:40px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--text);font-weight:800;font-size:16px;font-variant-numeric:tabular-nums}.lines{display:flex;flex-direction:column;gap:3px;min-width:0}.name{font-size:15.5px;font-weight:600;line-height:1.25}.sku{font-size:11px;color:var(--faint);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.03em}.summary{display:flex;align-items:center;justify-content:space-between;padding:16px 0 4px;font-size:14px}.summary .count{font-weight:800;font-size:18px;font-variant-numeric:tabular-nums}.empty{padding:22px 0;text-align:center}.unrecognized{margin-top:14px;padding:12px 14px;border:1px dashed var(--line-strong);border-radius:12px}.unrecognized ul{margin:6px 0 0;padding-left:18px;color:var(--muted);font-size:13px}.callout{display:flex;gap:13px;margin-top:22px;padding:16px;border-radius:14px;border:1px solid var(--line)}.callout.pending{background:var(--pending-bg);border-color:color-mix(in srgb,var(--pending) 26%,transparent)}.callout.ok{background:var(--ok-bg);border-color:color-mix(in srgb,var(--ok) 26%,transparent)}.callout.refused{background:var(--refused-bg);border-color:color-mix(in srgb,var(--refused) 26%,transparent)}.callout.refused .icon{color:var(--refused)}.callout .icon{flex:none;width:22px;height:22px;margin-top:1px}.callout.pending .icon{color:var(--pending)}.callout.ok .icon{color:var(--ok)}.callout strong{display:block;font-size:15px;margin-bottom:3px}.callout p{margin:0;font-size:13.5px;line-height:1.5;color:var(--muted)}.callout b{color:var(--text)}.center{text-align:center;padding:20px 6px}.msg-title{font-family:var(--display);font-weight:600;font-size:22px;margin:0 0 8px}.muted{color:var(--muted)}.small{font-size:12px}.foot{margin-top:auto;text-align:center;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}.page.admin{max-width:1180px}.admin-main{display:flex;flex-direction:column;gap:16px}.kanban{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}.kanban-col{display:flex;flex-direction:column;min-width:0;background:#f2eee6;border:1px solid var(--line);border-radius:14px;padding:14px 12px}.col-head{display:flex;flex-direction:column;gap:10px;padding:2px 4px 12px}.col-title{display:flex;align-items:center;gap:9px;margin:0;font-size:14px;font-weight:700;letter-spacing:.01em}.col-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:20px;padding:0 7px;font-size:12px;font-weight:700;border-radius:999px;font-variant-numeric:tabular-nums;border:1px solid transparent}.col-count.pending{color:var(--pending);background:var(--pending-bg);border-color:color-mix(in srgb,var(--pending) 30%,transparent)}.col-count.ok{color:var(--ok);background:var(--ok-bg);border-color:color-mix(in srgb,var(--ok) 30%,transparent)}.col-count.done{color:var(--muted);background:color-mix(in srgb,var(--muted) 14%,transparent);border-color:color-mix(in srgb,var(--muted) 26%,transparent)}.col-filter{display:flex;flex-wrap:wrap;gap:6px}.chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;padding:5px 10px;font-size:12px;font-weight:600;color:var(--muted);background:transparent;border:1px solid var(--line-strong);border-radius:999px;transition:color .12s ease,border-color .12s ease,background .12s ease}.chip:not(:disabled):hover{color:var(--text);border-color:color-mix(in srgb,var(--accent) 45%,var(--line-strong))}.chip.active{cursor:default;color:var(--text);background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 55%,transparent)}.col-body{display:flex;flex-direction:column;gap:12px;max-height:min(72vh,760px);overflow-y:auto;padding:2px 4px 4px}.col-empty{padding:24px 6px;text-align:center}.col-sentinel{display:flex;justify-content:center;align-items:center;min-height:24px;padding:4px 0 2px}.faint{color:var(--faint)}.review .ordercode{font-size:22px}.btn-complete{background:var(--ok);color:#fff;width:100%}.badge.done{color:var(--muted);background:color-mix(in srgb,var(--muted) 14%,transparent);border-color:color-mix(in srgb,var(--muted) 26%,transparent)}@media(max-width:820px){.kanban{grid-template-columns:1fr}.col-body{max-height:none}}.phone{font-variant-numeric:tabular-nums;color:var(--muted)}.customer{margin:10px 0 0;font-size:15px;font-weight:700;color:var(--text)}.customer+.date{margin-top:2px}.actions{margin-top:18px;display:flex;flex-direction:column;gap:10px}.refuse-row{display:flex;gap:8px}.reason-input{flex:1 1 auto;min-width:0;padding:11px 13px;font-size:14px;color:var(--text);background:var(--bg);border:1px solid var(--line-strong);border-radius:10px;outline:none}.reason-input::placeholder{color:var(--faint)}.reason-input:focus{border-color:color-mix(in srgb,var(--accent) 55%,transparent)}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;border-radius:12px;padding:11px 16px;font-size:14px;font-weight:700;cursor:pointer;transition:filter .12s ease,opacity .12s ease}.btn:disabled{opacity:.5;cursor:default}.btn:not(:disabled):hover{filter:brightness(1.08)}.btn-accept{background:var(--ok);color:#fff;width:100%}.btn-refuse{flex:none;background:var(--refused);color:#fff}.btn-ghost{background:transparent;border-color:var(--line-strong);color:var(--muted)}.btn.small{padding:7px 12px;font-size:12px}.err-msg{margin:10px 0 0;font-size:13px;color:var(--refused)}.items-head{display:flex;align-items:center;justify-content:space-between;margin-top:4px}.icon-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;font-size:20px;line-height:1;color:var(--accent);background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);border-radius:8px}.icon-btn:not(:disabled):hover{background:color-mix(in srgb,var(--accent) 16%,transparent)}.icon-btn:disabled{opacity:.5;cursor:default}.stepper{margin-left:auto;display:inline-flex;align-items:center;gap:4px}.stepper button{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;font-size:16px;line-height:1;color:var(--text);background:var(--bg);border:1px solid var(--line-strong);border-radius:7px}.stepper button:not(:disabled):hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line-strong))}.stepper button:disabled{opacity:.4;cursor:default}.stepper .del{color:var(--refused);border-color:color-mix(in srgb,var(--refused) 26%,var(--line-strong))}.accept-split{display:flex;gap:10px}.accept-split .btn{flex:1 1 0}.btn-warn{background:var(--pending);color:#fff}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:18px;background:#1c1a176b}.modal{width:100%;max-width:440px;max-height:min(80vh,620px);display:flex;flex-direction:column;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.modal-head{display:flex;align-items:center;justify-content:space-between}.modal-head h3{margin:0;font-family:var(--display);font-size:19px;font-weight:600}.modal-search{flex:none}.modal-list{overflow-y:auto;display:flex;flex-direction:column;gap:2px;margin:0 -6px;padding:0 6px}.product-row{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;text-align:left;display:flex;align-items:center;gap:12px;padding:11px 10px;background:transparent;border:none;border-radius:9px;color:var(--text)}.product-row:hover{background:var(--bg)}.product-row .lines{flex:1 1 auto}.product-row .plus{flex:none;color:var(--accent);font-size:20px;line-height:1}.product-row .added{flex:none;font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--ok)}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line)}.tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;font:inherit;font-weight:600;font-size:14px;color:var(--muted);padding:10px 14px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;border-bottom:2px solid transparent;margin-bottom:-1px}.tab:hover{color:var(--text)}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.tab-badge{min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--accent);color:#fff;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;line-height:1}.messages{display:flex;flex-direction:column;gap:12px;max-width:640px}.msg.unread{border-left:3px solid var(--pending)}.msg-from{margin:2px 0 0;font-family:var(--display);font-size:20px;font-weight:600;letter-spacing:-.01em}.msg-text{margin:10px 0 4px;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text)}.unit-note{display:flex;flex-wrap:wrap;gap:4px 8px;margin-top:2px}.uom-tag{font-size:11px;font-weight:600;letter-spacing:.02em;color:var(--muted);text-transform:uppercase}.adj-tag{font-size:11px;font-weight:600;color:var(--pending);background:var(--pending-bg);padding:0 6px;border-radius:6px}.week{display:flex;flex-direction:column;gap:14px}.week-nav{display:flex;align-items:center;justify-content:space-between;gap:12px}.week-range{font-weight:600;font-variant-numeric:tabular-nums}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;align-items:start}.week-day{display:flex;flex-direction:column;min-width:0;background:#f2eee6;border:1px solid var(--line);border-radius:12px;padding:10px 8px}.week-day-head{display:flex;align-items:center;gap:7px;margin:0 0 8px;padding:0 2px;font-size:12px;font-weight:700;text-transform:capitalize}.week-day-body{display:flex;flex-direction:column;gap:8px}.week-empty{text-align:center;padding:6px 0}.week-card{display:flex;flex-direction:column;gap:4px;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px;box-shadow:var(--shadow)}.week-card-head{display:flex;align-items:center;justify-content:space-between;gap:6px}.ordercode-sm{font-family:var(--display);font-size:16px;font-weight:600;font-variant-numeric:tabular-nums}.week-cust{font-weight:600;font-size:14px;overflow-wrap:anywhere}.week-card .date-input{margin-top:4px;width:100%;font-size:13px;padding:5px 8px}@media(max-width:900px){.week-grid{grid-template-columns:1fr}}.delivery{display:flex;align-items:center;gap:10px;margin-top:10px}.date-input{width:auto;flex:none;padding:6px 10px;font-variant-numeric:tabular-nums}.delivery-val{font-weight:600;font-variant-numeric:tabular-nums}.original{margin-top:14px;border-top:1px solid var(--line);padding-top:10px}.original>summary{cursor:pointer;list-style:none;font-size:13px;font-weight:600;color:var(--muted);display:inline-flex;align-items:center;gap:6px}.original>summary::-webkit-details-marker{display:none}.original>summary:before{content:"▸";font-size:10px;transition:transform .15s ease}.original[open]>summary:before{transform:rotate(90deg)}.original>summary:hover{color:var(--text)}.original-body{margin-top:10px}.convo{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.convo li{display:flex;flex-direction:column;gap:2px;padding:8px 10px;background:var(--bg);border:1px solid var(--line);border-radius:8px}.convo-date{font-size:11px;color:var(--faint)}.convo-text{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text);font-size:14px}
