/* 抓饭后厨日盘点上报 - 移动端样式 */
* { margin:0; padding:0; box-sizing:border-box; -webkit-tap-highlight-color:transparent; }
html,body { background:#f2f4f3; font-family:-apple-system,"PingFang SC","Microsoft YaHei",sans-serif; color:#222; overflow-x:hidden; width:100%; }
body { padding-bottom:40px; }
.hidden { display:none !important; }
.page { max-width:640px; margin:0 auto; padding:14px; }

/* 首页 */
.hero { text-align:center; padding:36px 0 26px; }
.company-name { display:block; width:100%; font-size:22px; font-weight:800; color:#e60012; background:#fdecec; border-radius:12px; padding:16px 8px; letter-spacing:1px; margin-bottom:14px; text-align:center; }
.hero h1 { font-size:24px; letter-spacing:1px; }
.sub { color:#888; margin-top:6px; font-size:14px; }
.card { background:#fff; border-radius:14px; padding:16px; margin-bottom:14px; box-shadow:0 2px 8px rgba(0,0,0,.05); }
.store-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:10px; }
.store-btn { padding:22px 0; font-size:18px; font-weight:600; border:none; border-radius:12px; background:#fdecec; color:#e60012; }
.store-btn:active { background:#f9cfd0; }
.foot-link { text-align:center; color:#bbb; font-size:12px; padding:18px 0; }

/* 顶栏 */
.bar { display:flex; align-items:center; gap:10px; margin-bottom:12px; }
.back { width:38px; height:38px; border:none; border-radius:10px; background:#fff; font-size:22px; color:#555; box-shadow:0 1px 4px rgba(0,0,0,.08); }
.bar-title { font-size:17px; font-weight:700; }
.head-card .row2 input { margin-top:2px; }

/* 表单 */
.lbl { display:block; font-size:13px; color:#666; margin:8px 0 4px; }
.lbl.s { font-size:12px; margin-top:2px; }
.inp { width:100%; padding:11px 12px; font-size:17px; border:1.5px solid #ddd; border-radius:10px; background:#fff; outline:none; }
input.inp { height:46px; -webkit-appearance:none; appearance:none; }
.inp:focus { border-color:#43a047; }
.ta { resize:none; }
.row2 { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.row3 { display:grid; grid-template-columns:1fr 1fr 1fr; gap:8px; }
.row4 { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
/* 防横向晃动：格子内容再宽也不许撑破容器 */
.row2 > div, .row3 > div, .row4 > div, .pot-grid > div { min-width:0; }
.shengyu-row { min-width:0; }
.shengyu-row .inp { flex:1; min-width:0; width:auto; }
.shengyu-row .cam-btn { flex:none; }
.inp { min-width:0; }
.divider { height:1px; background:#eee; margin:14px 0 4px; }
.card-title { font-size:16px; font-weight:700; margin-bottom:4px; }

/* 食材卡片 */
.item-card { background:#fff; border-radius:14px; padding:14px; margin-bottom:12px; box-shadow:0 2px 8px rgba(0,0,0,.05); }
.item-name { font-size:17px; font-weight:700; display:flex; align-items:center; gap:8px; }
.item-name .unit { font-size:12px; color:#999; font-weight:400; }
.pot-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; margin-top:6px; }
.pot-box { background:#f7f9f7; border-radius:10px; padding:10px; }
.pot-box .lbl { margin-top:0; }
.pot-kg { font-size:17px !important; padding:11px 10px !important; }
input.pot-kg { height:46px; }
.pot-fen { font-size:16px !important; padding:10px 8px !important; text-align:center; }
input.pot-fen { height:44px; }
.pot-num { font-size:15px !important; padding:9px 6px !important; text-align:center; }
.sum-row { display:flex; align-items:center; gap:8px; margin-top:10px; }
.sum-row .inp { flex:1; }
.calc-tag { font-size:11px; color:#2e7d32; background:#e8f5e9; border-radius:6px; padding:3px 6px; white-space:nowrap; }
.shengyu-row { display:flex; gap:8px; margin-top:10px; align-items:flex-end; }
.shengyu-row > div:first-child { flex:1; }

/* 拍照按钮与留证徽章 */
.cam-btn { border:none; background:#1e88e5; color:#fff; border-radius:10px; padding:11px 13px; font-size:19px; }
.cam-btn:active { background:#1565c0; }
.cam-btn.has-photo { background:#43a047; } /* 已附照片的按钮变绿 */
.ocr-badge { font-size:11px; border-radius:6px; padding:2px 7px; margin-left:auto; }
.ocr-badge.ok { background:#e8f5e9; color:#2e7d32; }
.ocr-badge.bad { background:#ffebee; color:#c62828; }
.photo-preview { width:100%; max-height:42vh; object-fit:contain; border-radius:10px; border:1px solid #e5e5e5; background:#111; display:block; margin-bottom:6px; }

.submitted-tag { margin-top:10px; background:#e8f5e9; color:#2e7d32; font-size:13px; padding:8px 10px; border-radius:8px; }

/* 提交 */
.submit-wrap { padding:8px 0 20px; text-align:center; }
.submit-btn { width:100%; padding:16px; font-size:19px; font-weight:700; color:#fff; background:linear-gradient(135deg,#2e7d32,#43a047); border:none; border-radius:14px; box-shadow:0 6px 16px rgba(46,125,50,.35); }
.submit-btn:active { opacity:.85; }
.submit-btn:disabled { background:#aaa; box-shadow:none; }
.hint { color:#999; font-size:12px; margin-top:10px; }

/* 成功页 */
.done-box { text-align:center; padding:60px 20px; }
.done-icon { width:84px; height:84px; margin:0 auto 18px; border-radius:50%; background:#e8f5e9; color:#2e7d32; font-size:44px; line-height:84px; font-weight:800; }
.done-box h2 { margin-bottom:8px; }
.done-box p { color:#666; margin-bottom:22px; font-size:15px; line-height:1.6; }
.btn-ghost { display:block; width:100%; padding:13px; margin-bottom:10px; border:1.5px solid #43a047; background:#fff; color:#2e7d32; border-radius:12px; font-size:16px; }
.btn-ghost2 { display:block; width:100%; padding:13px; margin-bottom:10px; border:1.5px solid #ddd; background:#fff; color:#666; border-radius:12px; font-size:16px; }
.btn-line { flex:1; padding:12px; border:1.5px solid #43a047; background:#fff; color:#2e7d32; border-radius:10px; font-size:15px; }
.btn-warn { flex:1; padding:12px; border:none; background:#ffebee; color:#c62828; border-radius:10px; font-size:15px; }

/* 弹层 */
.modal { position:fixed; inset:0; background:rgba(0,0,0,.55); z-index:99; display:flex; align-items:center; justify-content:center; padding:16px; }
.modal-box { background:#fff; border-radius:16px; padding:18px; width:100%; max-width:420px; }
.modal-title { font-size:17px; font-weight:700; margin-bottom:10px; }
.modal-title.warn { color:#c62828; }
.modal-btns { display:flex; gap:8px; margin-top:14px; }
.modal-btns button { flex:1; width:auto; }
.ocr-status { font-size:14px; color:#666; margin-bottom:10px; min-height:20px; }
.ocr-canvas { width:100%; border-radius:10px; background:#111; display:block; margin-bottom:10px; }
.cand-area { display:flex; flex-wrap:wrap; gap:8px; }
.cand-btn { padding:10px 16px; border:1.5px solid #1e88e5; color:#1e88e5; background:#fff; border-radius:10px; font-size:18px; font-weight:700; }
.cand-none { color:#999; font-size:14px; }
.cand-raw { width:100%; font-size:12px; color:#aaa; word-break:break-all; }
.cand-manual { width:100%; display:flex; gap:8px; margin-top:4px; }
.cand-manual .inp { flex:1; min-width:0; height:44px; }
.cand-manual .btn-line { flex-shrink:0; }
.cmp-body { background:#f9f9f9; border-radius:10px; padding:12px; margin-bottom:8px; }
.cmp-row { font-size:16px; padding:5px 0; }
.cmp-row b { font-size:20px; }
.tip { font-size:13px; color:#888; line-height:1.5; margin-bottom:8px; }
.auto-val { min-height:46px; display:flex; align-items:center; padding:9px 12px; border:1.5px dashed #b7d4f2; border-radius:10px; background:#f6faff; color:#3a6ea5; font-size:13px; font-weight:600; line-height:1.4; }

/* toast */
.toast { position:fixed; left:50%; bottom:80px; transform:translateX(-50%); background:rgba(0,0,0,.8); color:#fff; padding:11px 20px; border-radius:22px; font-size:14px; z-index:200; max-width:86%; text-align:center; }

/* 老板视图 */
#boss-out table { width:100%; border-collapse:collapse; margin-top:10px; font-size:13px; }
#boss-out td, #boss-out th { border:1px solid #eee; padding:6px 8px; text-align:left; }
#boss-out th { background:#f2f4f3; }
