/* 曹薇薇烧烤 · 精致红白设计系统 (premium red/white) */
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@500;700;900&display=swap');

:root{
  color-scheme: light only;
  --bg:#FFFFFF; --bg2:#FBF8F6; --bg3:#F6F1EE; --surface:#FFFFFF;
  --ink:#1A1517; --ink2:#6E6769; --ink3:#A8A1A2; --ink4:#C9C2C2;
  --line:#ECE5E2; --line2:#F4EEEB; --hair:#E4DBD7;
  --red:#C8102E; --red2:#A60C25; --red-deep:#7E0A1C;
  --red-soft:#FBECEE; --red-tint:#FDF5F5; --red-line:#F3D7DB;
  --paper:#FFFFFF; --paper-ink:#1f1a1b;
  --r:14px; --r-sm:9px; --r-lg:22px; --r-pill:999px;
  --shadow-sm:0 1px 2px rgba(40,20,20,.05),0 2px 8px rgba(40,20,20,.04);
  --shadow:0 6px 16px -6px rgba(60,20,25,.12),0 18px 40px -22px rgba(60,20,25,.18);
  --shadow-lg:0 12px 28px -10px rgba(60,20,25,.16),0 40px 70px -30px rgba(60,20,25,.22);
  --serif:"Noto Serif SC",Georgia,"Songti SC","Times New Roman",serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
  --mono:"SF Mono",ui-monospace,"Cascadia Mono","Consolas","Microsoft YaHei",monospace;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;padding:0}
body{font-family:var(--sans);color:var(--ink);background:var(--bg);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
a{color:inherit;text-decoration:none}
.serif{font-family:var(--serif)}
::-webkit-scrollbar{width:9px;height:9px}
::-webkit-scrollbar-thumb{background:#e6ddd9;border-radius:9px;border:2px solid var(--bg)}
::-webkit-scrollbar-thumb:hover{background:#d8cdc8}
::-webkit-scrollbar-track{background:transparent}

/* 小标签：克制的字距灰标签 */
.eyebrow{font-size:11px;font-weight:700;letter-spacing:2.5px;color:var(--ink3);text-transform:uppercase}
.eyebrow.red{color:var(--red)}

/* 胶囊 / 状态点 */
.pill{display:inline-flex;align-items:center;gap:7px;padding:5px 12px;border-radius:var(--r-pill);
  font-size:12px;font-weight:700;border:1px solid var(--line);background:var(--surface);color:var(--ink2)}
.pill.red{background:var(--red-soft);border-color:var(--red-line);color:var(--red)}
.live-dot{width:7px;height:7px;border-radius:50%;background:var(--red);position:relative;flex:none}
.live-dot::after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--red);
  animation:ping 1.8s cubic-bezier(0,0,.2,1) infinite}
@keyframes ping{0%{transform:scale(1);opacity:.6}70%,100%{transform:scale(3);opacity:0}}

/* 按钮 */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--red);color:#fff;
  font-weight:800;border-radius:var(--r);padding:12px 20px;font-size:15px;letter-spacing:.3px;
  box-shadow:0 8px 20px -8px rgba(200,16,46,.5);transition:transform .14s,box-shadow .2s,background .2s}
.btn:hover{background:var(--red2);box-shadow:0 10px 26px -8px rgba(200,16,46,.6)}
.btn:active{transform:translateY(1px) scale(.99)}
.btn:disabled{background:var(--ink4);box-shadow:none;cursor:default}
.btn-line{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:var(--surface);
  color:var(--ink);font-weight:700;border:1px solid var(--hair);border-radius:var(--r-sm);padding:8px 14px;
  font-size:13px;transition:.18s}
.btn-line:hover{border-color:var(--red);color:var(--red)}
.btn-line.red{background:var(--red);color:#fff;border-color:var(--red)}
.btn-line.red:hover{background:var(--red2)}

/* 开关 */
.switch{position:relative;width:42px;height:24px;border-radius:999px;background:#E3DAD6;transition:.25s;flex:none;
  border:1px solid var(--hair)}
.switch.on{background:var(--red);border-color:var(--red)}
.switch::after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;
  background:#fff;transition:transform .25s;box-shadow:0 1px 3px rgba(0,0,0,.25)}
.switch.on::after{transform:translateX(18px)}

/* ===== 小票（白纸 · 红头）跨页共享 ===== */
.rc-shop{font-family:var(--serif);text-align:center;font-size:17px;font-weight:900;color:var(--red);letter-spacing:3px}
.rc-sub{text-align:center;font-size:9.5px;letter-spacing:1px;margin:3px 0 0;color:#9b9293}
.rc-hr{border:none;border-top:1px dashed #d8cdc9;margin:9px 0}
.rc-meta{font-size:11px;line-height:1.65;color:#4a4344}.rc-meta .b{font-weight:800;color:var(--paper-ink)}
.rc-row{display:flex;font-size:11.5px;line-height:1.85;color:var(--paper-ink)}
.rc-row .nm{flex:1}.rc-row .qt{width:40px;text-align:center}.rc-row .pr{width:50px;text-align:right}
.rc-th{font-weight:800;border-bottom:1px solid #e0d6d2;padding-bottom:3px;margin-bottom:2px;color:#7d7677}
.rc-total{display:flex;justify-content:space-between;align-items:baseline;font-size:14px;font-weight:900;margin-top:7px;
  color:var(--paper-ink)}
.rc-total .v{font-family:var(--serif);color:var(--red);font-size:16px}
.rc-foot{text-align:center;font-size:9px;color:#a59c9d;margin:8px 0 2px;letter-spacing:.5px}
.rc-qr{width:48px;height:48px;margin:7px auto 0;
  background:conic-gradient(#1f1a1b 0 25%,#fff 0 50%,#1f1a1b 0 75%,#fff 0) 0 0/16px 16px,#1f1a1b;
  border:3px solid #fff;outline:1px solid #e0d6d2}

/* ===== 共享组件（后台 / 表单 / 表格 / 状态） ===== */
.lbl{display:block;font-size:11px;font-weight:700;letter-spacing:1px;color:var(--ink3);margin:0 0 6px;text-transform:uppercase}
.inp{width:100%;padding:11px 13px;border-radius:11px;background:var(--bg2);border:1px solid var(--line);
  color:var(--ink);font-size:14px;font-family:inherit;transition:.18s}
.inp:focus{outline:none;border-color:var(--red);background:#fff;box-shadow:0 0 0 3px var(--red-tint)}
.inp::placeholder{color:var(--ink4)}
textarea.inp{resize:vertical;min-height:64px}

.badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:800;padding:3px 9px;border-radius:7px;
  border:1px solid var(--line)}
.badge.red{background:var(--red-soft);color:var(--red);border-color:var(--red-line)}
.badge.green{background:#EAF6EF;color:#2F8A57;border-color:#CDE9D9}
.badge.amber{background:#FCF3E2;color:#B7791F;border-color:#F1E2C0}
.badge.grey{background:var(--bg2);color:var(--ink2)}

.tbl{width:100%;border-collapse:collapse;font-size:13.5px}
.tbl th{text-align:left;font-size:11px;font-weight:800;letter-spacing:.5px;color:var(--ink3);padding:11px 14px;
  border-bottom:1px solid var(--line);text-transform:uppercase;white-space:nowrap}
.tbl td{padding:13px 14px;border-bottom:1px solid var(--line2);vertical-align:middle}
.tbl tr:last-child td{border-bottom:none}
.tbl tbody tr{transition:background .15s}
.tbl tbody tr:hover{background:var(--red-tint)}
.tbl .num{font-family:var(--serif);font-weight:800;font-variant-numeric:tabular-nums}
.tbl .red{color:var(--red)}

.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line)}
.tabs button{padding:11px 16px;font-size:13.5px;font-weight:700;color:var(--ink3);position:relative;background:none;border:none;cursor:pointer}
.tabs button.on{color:var(--red)}
.tabs button.on::after{content:"";position:absolute;left:10px;right:10px;bottom:-1px;height:2.5px;background:var(--red);border-radius:3px}

.card2{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-sm)}

.divider-note{font-size:12px;color:var(--ink3);background:var(--bg2);border:1px dashed var(--hair);border-radius:10px;
  padding:10px 13px;line-height:1.6}
.divider-note b{color:var(--red)}
