/* ============================================================
   火掌柜 HuoShop · 经营版 Web 应用（PC/PAD 响应式）
   基于 design/ui-v2/styles.css（类名保持一致，1:1 还原）
   本文件：应用外壳 + 各页面专属样式（聚合自 pad-*.html 内联样式）
   ============================================================ */

html,body,#app{height:100%;}
body{overflow:hidden;}
button{cursor:pointer;}
button:disabled{opacity:.45;cursor:not-allowed;}
input,textarea{font-family:inherit;}
input:focus,textarea:focus{outline:none;border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px rgba(255,106,43,.10);}

/* ---------- 应用外壳 ---------- */
.app-root{width:100%;height:100vh;display:flex;flex-direction:column;background:var(--bg);}
.app-main{flex:1;display:flex;min-height:0;}
.app-content{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden;background:var(--bg);}
.app-content.no-pad{padding:0;}
#app.view-full .topbar,#app.view-full .app-main .sidebar,#app.hide-sidebar .sidebar{display:none;}
#app.view-full .app-main{background:inherit;}
.app-full{flex:1;min-height:0;display:flex;flex-direction:column;}

/* 侧栏导航（全局） */
.sidebar .side-item .tx{flex:none;}
.app-legend{margin-top:auto;display:flex;flex-direction:column;gap:8px;align-items:flex-start;padding:12px 10px;
  background:var(--bg);border-radius:12px;}
.app-legend .lg{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-2);font-weight:600;}
.app-legend .lg i{width:10px;height:10px;border-radius:3px;display:inline-block;}
@media(max-width:1100px){
  .sidebar{width:64px;padding:12px 8px;align-items:center;}
  .sidebar .side-item{width:44px;justify-content:center;padding:0;height:42px;}
  .sidebar .side-item .tx,.sidebar .side-item .cnt,.sidebar .side-sec{display:none;}
  .app-legend{display:none;}
}

/* ---------- Toast ---------- */
#toast-root{position:fixed;top:14px;left:50%;transform:translateX(-50%);z-index:9000;
  display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none;}
.toast{max-width:680px;padding:11px 22px;border-radius:14px;font-size:13.5px;font-weight:700;color:#fff;
  box-shadow:var(--sh-lg);opacity:0;transform:translateY(-12px);transition:all .25s ease;pointer-events:auto;}
.toast.show{opacity:1;transform:translateY(0);}
.toast.err{background:linear-gradient(135deg,#FF8A5C,#E8541A);border:1px solid rgba(255,255,255,.28);}
.toast.ok{background:linear-gradient(135deg,#4AB684,#3E9E6E);}
.toast.info{background:#3B332C;}

/* ---------- Modal ---------- */
.modal-ov{position:fixed;inset:0;background:rgba(26,20,14,.44);backdrop-filter:blur(3px);z-index:8000;
  display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease;}
.modal-ov.show{opacity:1;}
.modal{width:520px;max-width:92vw;max-height:88vh;overflow:auto;background:var(--card);border-radius:var(--r-xl);
  box-shadow:var(--sh-lg);padding:22px 24px;display:flex;flex-direction:column;gap:14px;
  transform:scale(.96);transition:transform .2s ease;}
.modal-ov.show .modal{transform:scale(1);}
.modal .m-title{font-size:18px;font-weight:800;display:flex;align-items:center;gap:10px;}
.modal .m-sub{font-size:12.5px;color:var(--ink-2);margin-top:-8px;}
.modal .m-foot{display:flex;gap:10px;justify-content:flex-end;padding-top:6px;}
.modal .m-foot .btn{min-width:110px;}

/* ---------- 通用小件 ---------- */
.app-empty{padding:46px 20px;text-align:center;color:var(--ink-3);font-size:13px;display:flex;
  flex-direction:column;align-items:center;gap:10px;}
.app-empty .em-ico{width:72px;height:72px;border-radius:22px;background:var(--bg-2);display:flex;
  align-items:center;justify-content:center;font-size:30px;opacity:.7;}
.app-skel{padding:16px;}
.app-skel .sk-line{height:14px;margin-bottom:10px;}
.linklike{color:var(--primary-deep);font-weight:700;font-size:12.5px;}
.mini-input{height:38px;border-radius:11px;border:1px solid var(--line-2);background:var(--bg);
  padding:0 12px;font-size:13px;color:var(--ink);width:100%;}
textarea.mini-input{height:74px;padding:9px 12px;resize:none;line-height:1.5;}

/* ============================================================
   A1 登录（pad-login.html）
   ============================================================ */
.login-page{width:100%;height:100vh;display:flex;background:#1A1512;}
.login-form{gap:15px;}
.login-form{position:relative;padding-bottom:76px;}
.login-top{position:absolute;top:38px;left:44px;right:44px;display:flex;align-items:center;gap:10px;z-index:2;}
.login-top .tagline{font-size:11px;letter-spacing:.28em;color:rgba(255,255,255,.66);font-weight:600;}
.hero-points{display:flex;gap:10px;margin-top:22px;}
.hero-points .hp{flex:1;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.16);
  border-radius:14px;padding:12px 14px;backdrop-filter:blur(6px);}
.hero-points .hp .k{font-size:11px;color:rgba(255,255,255,.66);font-weight:600;}
.hero-points .hp .v{font-size:19px;font-weight:800;color:#fff;margin-top:4px;}
.hero-points .hp .v small{font-size:11px;font-weight:500;color:rgba(255,255,255,.6);}
.demo-box{background:var(--bg);border:1px dashed var(--line-2);border-radius:var(--r-md);padding:12px 14px;}
.demo-box .dh{font-size:11.5px;font-weight:700;color:var(--ink-3);letter-spacing:.06em;margin-bottom:8px;}
.demo-row{display:flex;align-items:center;gap:8px;font-size:12.5px;padding:5px 0;width:100%;text-align:left;}
.demo-row + .demo-row{border-top:1px dashed var(--line);}
.demo-row .who{font-weight:700;color:var(--ink-2);width:56px;}
.demo-row .acc{color:var(--ink-3);}
.demo-row .use{margin-left:auto;font-size:11.5px;font-weight:700;color:var(--primary-deep);}
.login-foot{position:absolute;bottom:26px;left:48px;right:48px;display:flex;justify-content:space-between;
  font-size:11px;color:var(--ink-3);}
.login-hero .ov .err-line{color:#FFB27A;font-size:12.5px;font-weight:700;margin-top:10px;}
@media(max-width:900px){ .login-hero{display:none;} .login-form{width:100%;} }

/* ============================================================
   A2 桌台总览（pad-tables.html）
   ============================================================ */
.pad-content{padding:20px 24px 18px;}
/* 桌台页直接铺在内容区上（无页面容器），左右留白需自带，与其它页 22px 对齐 */
.content-head{display:flex;align-items:center;gap:14px;margin-bottom:16px;flex:none;padding:16px 22px 0;}
.content-head h2{font-size:22px;font-weight:800;letter-spacing:.01em;}
.mini-kpis{display:flex;gap:10px;margin-left:auto;}
.mk{background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px 14px;display:flex;flex-direction:column;box-shadow:var(--sh-xs);}
.mk .k{font-size:11px;color:var(--ink-3);font-weight:600;}
.mk .v{font-size:18px;font-weight:800;}
.mk .v small{font-size:11px;color:var(--ink-3);font-weight:500;}
.tgrid-wrap{flex:1;overflow:auto;min-height:0;padding:0 22px 12px;}

/* ============================================================
   A3 点餐（pad-order.html）
   ============================================================ */
.order-body{flex:1;display:flex;min-height:0;}
.order-left{flex:1;min-width:0;display:flex;flex-direction:column;}
.order-main{flex:1;display:flex;min-height:0;}
.cat-side{width:208px;flex:none;background:#fff;border-right:1px solid var(--line);
  padding:12px 10px;display:flex;flex-direction:column;gap:3px;overflow:auto;}
.cat-item{display:flex;align-items:center;gap:10px;height:48px;padding:0 12px;border-radius:12px;
  font-size:14px;font-weight:700;color:var(--ink-2);width:100%;text-align:left;}
.cat-item .ico{width:20px;text-align:center;font-size:15px;}
.cat-item .cnt{margin-left:auto;font-size:11px;color:var(--ink-3);font-weight:600;}
.cat-item.on{background:var(--primary-soft);color:var(--primary-deep);}
.cat-item.on .cnt{color:var(--primary-deep);}
.dish-wrap{flex:1;min-width:0;display:flex;flex-direction:column;padding:16px 18px 12px;overflow:hidden;}
.dish-head{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex:none;}
.dish-head h3{font-size:19px;font-weight:800;}
.dish-head .sub{font-size:12px;color:var(--ink-3);margin-top:2px;}
.dish-grid{flex:1;align-content:start;grid-auto-rows:min-content;overflow:auto;min-height:0;}
.dish-grid .dcard .pic{height:78px;aspect-ratio:auto;}
.dish-grid .dcard .body{padding:9px 12px 11px;gap:3px;}
.dish-grid .dcard .nm{font-size:14.5px;}
.dish-grid .dcard .meta{font-size:11px;}
.dish-grid .dcard .foot{padding-top:2px;}
.dish-grid .dcard .price{font-size:18px;}
.dish-grid .dcard .add{width:32px;height:32px;border-radius:10px;font-size:19px;}
.actionbar{flex:none;height:64px;display:flex;align-items:center;gap:14px;padding:0 18px;
  background:#fff;border-top:1px solid var(--line);box-shadow:0 -6px 18px rgba(36,30,26,.05);}
.actionbar .no{font-size:20px;font-weight:800;letter-spacing:.02em;}
.actionbar .t{font-size:13px;font-weight:700;}
.actionbar .s{font-size:11px;color:var(--ink-3);}
.actionbar .acts{margin-left:auto;display:flex;gap:9px;}
.actionbar .acts .btn{height:42px;font-size:14px;}
.order-page .cart .ch{padding:15px 18px 12px;}
.order-page .cart .items{gap:9px;padding:12px 14px;overflow:auto;}
.order-page .citem{padding:10px 12px;}
.order-page .citem .nm{font-size:14px;}
.order-page .citem .pr{font-size:14px;}
.order-page .citem .r2{margin-top:5px;}
.order-page .cart .cf{padding:12px 18px 15px;}
.pair{display:flex;align-items:center;gap:9px;padding:6px 0;}
.pair .pic{width:36px;height:36px;border-radius:10px;overflow:hidden;flex:none;background:var(--bg-2);}
.pair .pic img{width:100%;height:100%;object-fit:cover;}
.pair .nm{font-size:12.5px;font-weight:700;}
.pair .pr{font-size:11.5px;color:var(--ink-2);font-weight:600;margin-top:1px;}
.pair .add2{margin-left:auto;width:26px;height:26px;border-radius:8px;border:1px solid var(--primary-line);
  background:var(--primary-soft);color:var(--primary-deep);font-size:15px;display:flex;align-items:center;justify-content:center;flex:none;}
.cart .mem{display:flex;align-items:center;gap:8px;background:var(--primary-soft);border:1px solid var(--primary-line);
  border-radius:12px;padding:9px 12px;font-size:12px;color:var(--primary-deep);font-weight:700;margin-bottom:11px;}
.citem.pending{background:var(--primary-soft);border-color:var(--primary-line);}
.citem .voided{font-size:11.5px;color:var(--danger);font-weight:700;}
.citem .statline{font-size:11px;color:var(--ink-3);}
.citem .void-link{margin-left:auto;font-size:11px;font-weight:700;color:var(--danger);flex:none;}

/* 规格抽屉（弹层） */
.spec-row{display:flex;align-items:center;gap:9px;padding:7px 0;}
.spec-opt{min-height:38px;padding:7px 14px;border-radius:11px;border:1px solid var(--line);background:var(--bg);
  font-size:13.5px;font-weight:700;color:var(--ink-2);display:inline-flex;align-items:center;gap:6px;}
.spec-opt.on{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-deep);
  box-shadow:0 0 0 3px rgba(255,106,43,.10);}
.addon-row{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px dashed var(--line);}
.addon-row .nm{font-size:13.5px;font-weight:700;}
.addon-row .pr{font-size:12px;color:var(--ink-3);}
.spec-total{display:flex;align-items:baseline;padding:10px 0 0;}
.spec-total .k{font-size:12.5px;color:var(--ink-2);}
.spec-total .v{margin-left:auto;font-size:26px;font-weight:800;color:var(--primary-deep);}

/* ============================================================
   A4 结账（pad-checkout.html）
   ============================================================ */
.co-body{flex:1;display:flex;min-height:0;}
.co-left{flex:1;min-width:0;display:flex;flex-direction:column;padding:18px 22px;gap:12px;overflow:hidden;}
.co-head{flex:none;display:flex;align-items:center;gap:12px;}
.co-head .no{font-size:24px;font-weight:800;letter-spacing:.02em;}
.co-head .meta{font-size:12px;color:var(--ink-3);margin-top:2px;}
.bill{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden;}
.bill .bh{flex:none;padding:14px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px;}
.bill .bh .t{font-size:16px;font-weight:800;}
.bill-scroll{flex:1;overflow:auto;min-height:0;}
.thead,.brow{display:grid;grid-template-columns:minmax(0,1fr) 84px 70px 96px 62px;align-items:center;gap:8px;}
.thead{padding:8px 18px;background:var(--bg);font-size:11.5px;font-weight:700;color:var(--ink-3);border-bottom:1px solid var(--line);
  position:sticky;top:0;z-index:1;}
.brow{padding:8px 18px;border-bottom:1px solid var(--line);}
.brow .n{font-size:14px;font-weight:700;}
.brow .sp{font-size:11px;color:var(--ink-3);margin-top:2px;font-weight:500;}
.brow .c{font-size:13px;color:var(--ink-2);text-align:right;}
.brow .m{font-size:14px;font-weight:800;text-align:right;}
.brow .op{text-align:right;}
.brow .op span{font-size:11.5px;font-weight:700;color:var(--danger);border:1px solid rgba(217,74,74,.3);
  border-radius:8px;padding:3px 9px;display:inline-block;background:var(--card);}
.brow.voided{opacity:.5;}
.brow.voided .n{text-decoration:line-through;}
.bill .bf{flex:none;padding:12px 18px 14px;background:linear-gradient(180deg,var(--bg),#fff);border-top:1px solid var(--line);}
.tline{display:flex;align-items:baseline;font-size:12.5px;color:var(--ink-2);padding:3px 0;}
.tline b{margin-left:auto;font-size:13.5px;font-weight:700;color:var(--ink);}
.tline.big{font-size:13px;font-weight:700;color:var(--ink);padding-top:8px;margin-top:4px;border-top:1px dashed var(--line-2);}
.tline.big b{font-size:24px;font-weight:800;color:var(--primary-deep);}
.paypanel{width:476px;flex:none;background:#fff;border-left:1px solid var(--line);padding:15px 18px;display:flex;flex-direction:column;gap:10px;overflow:auto;}
.paypanel .lbl{font-size:11.5px;font-weight:700;color:var(--ink-3);letter-spacing:.05em;margin-bottom:7px;}
.mem-in{display:flex;gap:8px;}
.mem-in .inp{flex:1;height:44px;border-radius:12px;border:1px solid var(--line-2);background:var(--bg);
  display:flex;align-items:center;gap:9px;padding:0 13px;font-size:14px;}
.mem-in .inp input{border:none;background:transparent;flex:1;font-size:14px;font-weight:600;box-shadow:none;}
.mem-in .inp input:focus{box-shadow:none;}
.mem-in .btn{height:44px;}
.mem-tip{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:12px;color:var(--ink-2);}
.mem-tip b{font-weight:800;color:var(--ink);}
.fee{background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:10px 13px;}
.fee .f{display:flex;font-size:12px;color:var(--ink-2);padding:2.5px 0;}
.fee .f b{margin-left:auto;font-weight:700;color:var(--ink);}
.fee .f.dis b{color:var(--danger);}
.fee .f.sum{border-top:1px dashed var(--line-2);margin-top:5px;padding-top:7px;font-size:12.5px;font-weight:700;color:var(--ink);}
.fee .f.sum b{font-size:19px;font-weight:800;color:var(--primary-deep);}
.ways{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
.way{height:52px;border-radius:12px;border:1px solid var(--line);background:var(--card);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;}
.way .i{font-size:15px;}
.way .t{font-size:11.5px;font-weight:700;color:var(--ink-2);}
.way.on{border-color:var(--primary);background:var(--primary-soft);box-shadow:0 0 0 3px rgba(255,106,43,.10);}
.way.on .t{color:var(--primary-deep);}
.co-page .keypad{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;}
.co-page .keypad button{height:46px;font-size:18px;}
.co-page .keypad button.exp{color:var(--ink-3);font-size:15px;background:#fff;}
.paypanel .go{margin-top:auto;}
.pay-amt{height:46px;border-radius:12px;border:1px solid var(--line-2);background:var(--bg);display:flex;
  align-items:center;padding:0 14px;font-size:20px;font-weight:800;color:var(--ink);}
.pay-amt input{border:none;background:transparent;flex:1;font-size:20px;font-weight:800;color:var(--ink);box-shadow:none;}
.pay-amt input:focus{box-shadow:none;}
.combo-row{display:flex;align-items:center;gap:8px;padding:5px 0;}
.combo-row .cn{font-size:12.5px;font-weight:700;width:64px;flex:none;}
.combo-row input{flex:1;height:36px;border-radius:10px;border:1px solid var(--line-2);background:var(--bg);
  padding:0 10px;font-size:14px;font-weight:800;text-align:right;}
.combo-diff{font-size:12px;font-weight:700;padding:6px 0 0;display:flex;align-items:center;gap:6px;}
.combo-diff.bad{color:var(--danger);}
.combo-diff.good{color:var(--success);}

/* 结账成功弹层 */
.paid-ok{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:6px 0 2px;}
.paid-ok .big-ico{width:64px;height:64px;border-radius:50%;background:var(--success-soft);color:var(--success);
  font-size:30px;display:flex;align-items:center;justify-content:center;}
.paid-ok .pv{font-size:30px;font-weight:800;color:var(--primary-deep);}
.paid-ok .pline{font-size:12.5px;color:var(--ink-2);}

/* ============================================================
   A7 桌号消费详情（pad-tablebill.html）
   ============================================================ */
.tb-body{flex:1;min-height:0;display:flex;flex-direction:column;padding:16px 22px 14px;gap:13px;overflow:hidden;}
.tinfo{flex:none;display:flex;align-items:center;gap:18px;background:#fff;border:1px solid var(--line);
  border-radius:var(--r-md);box-shadow:var(--sh-sm);padding:14px 20px;position:relative;overflow:hidden;}
.tinfo::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--primary);}
.tinfo .no{font-size:30px;font-weight:800;letter-spacing:.02em;line-height:1;}
.tinfo .divider-v{height:38px;}
.tinfo .kv .k{font-size:11px;color:var(--ink-3);font-weight:600;}
.tinfo .kv .v{font-size:14px;font-weight:800;margin-top:2px;}
.tinfo .kv .v small{font-size:11px;font-weight:500;color:var(--ink-3);}
.tb-main{flex:1;display:flex;gap:14px;min-height:0;}
.dishbill{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden;}
.db-h{flex:none;padding:13px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:9px;}
.db-h .t{font-size:15px;font-weight:800;}
.dhead,.drow{display:grid;grid-template-columns:minmax(0,1fr) 82px 60px 92px 62px;align-items:center;gap:8px;padding:0 18px;}
.dhead{flex:none;height:30px;font-size:11px;font-weight:700;color:var(--ink-3);background:var(--bg);border-bottom:1px solid var(--line);}
.db-scroll{flex:1;overflow:auto;min-height:0;}
.drow{flex:none;height:57px;border-bottom:1px solid var(--line);}
.drow .nm{font-size:14px;font-weight:700;}
.drow .sp{font-size:11px;color:var(--ink-3);margin-top:2px;font-weight:500;}
.drow .c{text-align:right;font-size:13px;color:var(--ink-2);}
.drow .m{text-align:right;font-size:14px;font-weight:800;}
.drow .op{text-align:right;}
.drow .op span{font-size:11.5px;font-weight:700;color:var(--danger);border:1px solid rgba(217,74,74,.3);
  border-radius:8px;padding:3px 9px;display:inline-block;background:var(--card);}
.drow.voided{height:auto;min-height:44px;opacity:.55;}
.drow.voided .nm{text-decoration:line-through;}
.drow.voided .vr{font-size:10.5px;color:var(--danger);font-weight:600;margin-top:1px;}
.db-f{flex:none;margin-top:auto;padding:10px 18px;display:flex;align-items:center;gap:8px;
  font-size:11.5px;color:var(--ink-2);background:var(--bg);border-top:1px solid var(--line);}
.tbside{width:356px;flex:none;display:flex;flex-direction:column;gap:13px;min-height:0;overflow:auto;}
.scard{padding:14px 16px;}
.scard .st{font-size:12px;font-weight:800;color:var(--ink-2);letter-spacing:.04em;margin-bottom:9px;}
.srow{display:flex;align-items:center;font-size:12.5px;color:var(--ink-2);padding:5px 0;}
.srow b{margin-left:auto;font-weight:700;color:var(--ink);}
.scard .hr{margin:8px 0;}
.srow.total{font-size:14px;font-weight:800;color:var(--ink);}
.srow.total b{font-size:16px;}
.srow.pay{font-size:13px;font-weight:800;color:var(--ink);padding-top:8px;}
.srow.pay b{font-size:26px;font-weight:800;color:var(--primary-deep);}
.note{background:var(--primary-soft);border:1px solid var(--primary-line);border-radius:12px;
  padding:10px 12px;font-size:11.5px;color:var(--primary-deep);line-height:1.6;}
.tbfoot{flex:none;height:74px;display:flex;align-items:center;gap:12px;padding:0 22px;
  background:#fff;border-top:1px solid var(--line);box-shadow:0 -6px 18px rgba(36,30,26,.05);}
.tbfoot .amt .k{font-size:11px;color:var(--ink-3);}
.tbfoot .amt .v{font-size:26px;font-weight:800;color:var(--primary-deep);line-height:1.15;}
.tbfoot .acts{margin-left:auto;display:flex;gap:10px;}
.tbfoot .acts .btn{height:46px;}

/* ============================================================
   A8 后厨划菜 KDS（pad-kds.html）
   ============================================================ */
.kds-page{flex:1;min-height:0;display:flex;flex-direction:column;}
.kds-top .seg{background:rgba(255,255,255,.07);}
.kds-top .seg button{color:rgba(243,237,228,.62);}
.kds-top .seg button.on{background:rgba(255,255,255,.14);color:#fff;box-shadow:none;}
.kds-chip{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 11px;border-radius:var(--r-pill);
  font-size:11.5px;font-weight:700;background:rgba(255,255,255,.07);color:rgba(243,237,228,.72);}
.kds-chip.hot{background:rgba(255,106,43,.18);color:#FFB27A;}
.kds-chip.warn{background:rgba(217,74,74,.18);color:#FF8A8A;}
.kds-page .kds-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:min-content;overflow:auto;}
.korder .kh .tbl{font-size:11px;color:rgba(243,237,228,.5);}
.korder .kh .badge{font-size:10.5px;font-weight:800;padding:2px 8px;border-radius:var(--r-pill);
  background:rgba(255,106,43,.18);color:#FFB27A;}
.korder.urgent .kh .badge{background:rgba(217,74,74,.22);color:#FF8A8A;}
.korder .ki{gap:9px;padding:12px 14px;}
.korder .ki .it{font-size:13.5px;cursor:pointer;}
.korder .ki .it .n{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.korder .ki .it.done .n{color:rgba(243,237,228,.45);text-decoration:line-through;}
.korder .ki .it.done .q{color:rgba(243,237,228,.3);}
.korder .ki .memo{font-size:11.5px;color:#C79A6A;padding-left:2px;display:flex;gap:6px;align-items:center;}
.korder .kf .btn.done{background:rgba(255,255,255,.06);color:rgba(243,237,228,.45);border:1px solid rgba(255,255,255,.08);}
.korder .kf .btn.cook{background:#2A231D;color:#E8C9A0;border:1px solid #3A2F26;}
.kds-foot{flex:none;height:34px;display:flex;align-items:center;gap:14px;padding:0 22px;
  background:#1C1713;border-top:1px solid #2A231D;font-size:11.5px;color:rgba(243,237,228,.5);}
.kds-empty{color:rgba(243,237,228,.4);font-size:13px;text-align:center;padding:60px 0;grid-column:1/-1;}

/* ============================================================
   A6 当天流水（pad-daily.html）
   ============================================================ */
.d-body{flex:1;display:flex;flex-direction:column;padding:16px 22px 18px;gap:13px;overflow:auto;min-height:0;}
.d-head{flex:none;display:flex;align-items:center;gap:12px;}
.d-head h2{font-size:21px;font-weight:800;}
.d-head .sub{font-size:12px;color:var(--ink-3);margin-top:1px;}
.d-main{flex:1;display:flex;gap:14px;min-height:260px;}
.d-left{flex:1;min-width:0;display:flex;flex-direction:column;gap:14px;min-height:0;}
.ch2{display:flex;align-items:center;gap:9px;padding:13px 16px 0;}
.ch2 .t{font-size:15px;font-weight:800;}
.ch2 .s{font-size:11.5px;color:var(--ink-3);}
.chart{flex:1.55;display:flex;flex-direction:column;padding:0 16px 10px;min-height:0;}
.bars{flex:1;display:flex;align-items:flex-end;gap:9px;padding:8px 0 0;border-bottom:1px solid var(--line);overflow:hidden;min-height:150px;}
.bar-w{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:5px;}
.bar{width:100%;border-radius:7px 7px 3px 3px;background:linear-gradient(180deg,var(--primary),var(--primary-deep));opacity:.88;}
.bar-w.peak .bar{opacity:1;box-shadow:0 6px 14px rgba(255,106,43,.28);}
.bar-w.flat .bar{background:var(--line-2);opacity:1;}
.bar-v{font-size:10.5px;font-weight:800;color:var(--ink-2);}
.bar-w.flat .bar-v{color:var(--ink-3);font-weight:600;}
.axis{display:flex;padding-top:7px;}
.chan{flex:1;display:flex;flex-direction:column;justify-content:space-between;padding:0 16px 11px;min-height:0;}
.crow{display:flex;align-items:center;gap:10px;font-size:12px;padding:3px 0;}
.crow .nm{width:56px;font-weight:700;color:var(--ink-2);}
.crow .track{display:block;flex:1;height:8px;border-radius:5px;background:var(--bg-2);overflow:hidden;}
.crow .fill{display:block;height:100%;border-radius:5px;background:var(--primary);}
.crow .fill.b2{background:var(--gold);}
.crow .fill.b3{background:var(--success);}
.crow .fill.b4{background:var(--info);}
.crow .fill.b5{background:var(--dirty);}
.crow .amt{width:80px;text-align:right;font-weight:800;}
.crow .pct{width:38px;text-align:right;color:var(--ink-3);font-size:11px;}
.olist{width:428px;flex:none;display:flex;flex-direction:column;min-height:0;overflow:hidden;}
.olist .oh{flex:none;padding:13px 16px 12px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:9px;}
.olist .oh .t{font-size:15px;font-weight:800;}
.ohead,.orow{display:grid;grid-template-columns:58px 62px minmax(0,1fr) 76px;align-items:center;gap:6px;padding:0 16px;}
.ohead{flex:none;height:30px;font-size:11px;font-weight:700;color:var(--ink-3);background:var(--bg);border-bottom:1px solid var(--line);}
.orow{flex:none;height:50px;border-bottom:1px solid var(--line);}
.orow .tm{color:var(--ink-2);font-weight:600;font-size:12.5px;}
.orow .tb{font-weight:800;font-size:14px;}
.orow .amt{text-align:right;font-weight:800;font-size:14px;}
.orow .pm{text-align:right;}
.ol-scroll{flex:1;overflow:auto;min-height:0;}
.orow.open{background:#FFFDF9;}
.odetail{padding:10px 16px;background:var(--bg);border-bottom:1px solid var(--line);font-size:12px;color:var(--ink-2);
  display:flex;flex-direction:column;gap:5px;}
.odetail .drow2{display:flex;align-items:center;gap:8px;}
.odetail .drow2 b{margin-left:auto;font-weight:700;color:var(--ink);}
.olist .of{flex:none;padding:10px 16px;display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--ink-2);border-top:1px solid var(--line);background:var(--bg);}
@media(max-width:1100px){ .d-main{flex-direction:column;} .olist{width:100%;flex:1;} }

/* ============================================================
   A10 报表日报（pad-report.html）
   ============================================================ */
.r-body{flex:1;display:flex;flex-direction:column;padding:16px 22px 16px;gap:12px;overflow:auto;min-height:0;}
.r-head{flex:none;display:flex;align-items:center;gap:12px;height:38px;}
.r-head h2{font-size:21px;font-weight:800;}
.r-head .sub{font-size:12px;color:var(--ink-3);margin-top:1px;}
.r-page .kpis{gap:12px;}
.r-page .kpi{padding:13px 16px;}
.r-page .kpi .v{font-size:26px;margin-top:5px;}
.r-page .kpi .delta{margin-top:4px;}
.r-mid{flex:none;display:flex;gap:12px;height:266px;}
.rcard{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-sm);
  padding:14px 16px;display:flex;flex-direction:column;min-height:0;overflow:hidden;}
.rcard .rh{display:flex;align-items:center;gap:8px;margin-bottom:10px;}
.rcard .rh .t{font-size:15px;font-weight:800;}
.rcard .rh .s{font-size:11.5px;color:var(--ink-3);}
.trend{flex:1.45;min-width:0;}
.t-bars{flex:1;display:flex;align-items:flex-end;gap:14px;border-bottom:1px solid var(--line);overflow:hidden;padding-bottom:0;}
.tb{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:5px;}
.tb .bar{width:100%;max-width:52px;border-radius:8px 8px 3px 3px;background:var(--primary-soft);border:1px solid var(--primary-line);}
.tb .bar.on{background:linear-gradient(180deg,var(--primary),var(--primary-deep));border-color:transparent;box-shadow:0 6px 16px rgba(255,106,43,.26);}
.tb .v{font-size:10.5px;font-weight:800;color:var(--ink-2);}
.tb.on .v{color:var(--primary-deep);}
.t-axis{display:flex;gap:14px;padding-top:7px;}
.t-axis div{flex:1;text-align:center;font-size:10.5px;color:var(--ink-3);}
.lay{flex:1;min-width:0;}
.lay .lrow2{display:flex;align-items:center;gap:9px;padding:5px 0;font-size:12px;}
.lay .lrow2 .nm{width:62px;font-weight:700;color:var(--ink-2);}
.lay .lrow2 .tr{display:block;flex:1;height:9px;border-radius:5px;background:var(--bg-2);overflow:hidden;}
.lay .lrow2 .fl{display:block;height:100%;border-radius:5px;}
.lay .lrow2 .n{width:52px;text-align:right;font-weight:800;}
.lay .lrow2 .p{width:38px;text-align:right;font-size:11px;color:var(--ink-3);}
.lay .foot{display:flex;gap:8px;margin-top:auto;padding-top:8px;border-top:1px dashed var(--line);}
.lay .foot .f{flex:1;background:var(--bg);border-radius:10px;padding:7px 9px;}
.lay .foot .f .k{font-size:10.5px;color:var(--ink-3);}
.lay .foot .f .v{font-size:14px;font-weight:800;margin-top:1px;}
.rank{flex:1;min-height:220px;}
.rank-row{flex:1;display:flex;gap:12px;min-height:180px;}
.ritem{position:relative;flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden;
  border:1px solid var(--line);border-radius:var(--r-md);background:var(--card);}
.ritem.on{border-color:var(--primary-line);box-shadow:0 6px 16px rgba(255,106,43,.12);}
.ritem .pic{width:100%;flex:1;min-height:86px;background:var(--bg-2);overflow:hidden;}
.ritem .pic img{width:100%;height:100%;object-fit:cover;}
.ritem .body{flex:none;min-width:0;padding:9px 11px 10px;display:flex;flex-direction:column;gap:3px;}
.ritem .nm{font-size:13px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:24px;}
.ritem .m{font-size:10.5px;color:var(--ink-3);white-space:nowrap;}
.ritem .m b{color:var(--primary-deep);font-weight:800;}
.rno{position:absolute;top:8px;left:8px;width:20px;height:20px;border-radius:7px;background:rgba(36,30,26,.62);
  color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px);}
.rno.g1{background:var(--primary);}
.rbar{height:4px;border-radius:3px;background:var(--line-2);margin-top:4px;overflow:hidden;}
.rbar i{display:block;height:100%;border-radius:3px;background:var(--primary);}
@media(max-width:1100px){ .r-mid{flex-direction:column;height:auto;} .rcard.trend,.rcard.lay{min-height:240px;} }

/* ============================================================
   A11 排队叫号（pad-queue.html）
   ============================================================ */
.q-body{flex:1;display:flex;gap:14px;padding:16px 22px 18px;min-height:0;overflow:auto;}
.q-take{width:340px;flex:none;display:flex;flex-direction:column;gap:12px;min-height:0;overflow-y:auto;}
.q-take .card{padding:16px;display:flex;flex-direction:column;}
.q-take .cap2{font-size:11.5px;font-weight:700;color:var(--ink-3);letter-spacing:.05em;}
.plate{border-radius:var(--r-lg);background:linear-gradient(160deg,var(--primary),var(--primary-deep));
  color:#fff;padding:16px 18px;box-shadow:var(--sh-primary);position:relative;overflow:hidden;}
.plate::after{content:"";position:absolute;right:-30px;bottom:-40px;width:150px;height:150px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.22),rgba(255,255,255,0) 70%);}
.plate .k{font-size:11.5px;color:rgba(255,255,255,.82);font-weight:700;}
.plate .n{font-size:52px;font-weight:800;letter-spacing:.03em;line-height:1.05;margin-top:2px;}
.plate .s{font-size:11.5px;color:rgba(255,255,255,.78);margin-top:4px;}
.plate .row2{display:flex;gap:8px;margin-top:12px;}
.plate .row2 .b{flex:1;background:rgba(255,255,255,.16);border-radius:10px;padding:6px 10px;}
.plate .row2 .b .kk{font-size:10.5px;color:rgba(255,255,255,.78);}
.plate .row2 .b .vv{font-size:15px;font-weight:800;}
.ppl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
.ppl .p{height:42px;border-radius:11px;border:1px solid var(--line);background:var(--bg);
  display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:var(--ink-2);}
.ppl .p.on{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-deep);box-shadow:0 0 0 3px rgba(255,106,43,.10);}
.q-list{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden;}
.q-list .qh{flex:none;padding:13px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:9px;}
.q-list .qh .t{font-size:15px;font-weight:800;}
.qhead,.qrow{display:grid;grid-template-columns:96px 60px minmax(0,1fr) 200px;align-items:center;gap:10px;padding:0 18px;}
.qhead{flex:none;height:32px;background:var(--bg);border-bottom:1px solid var(--line);
  font-size:11px;font-weight:700;color:var(--ink-3);}
.ql-scroll{flex:1;overflow:auto;min-height:0;}
.qrow{flex:none;min-height:61px;border-bottom:1px solid var(--line);}
.qrow .no{font-size:18px;font-weight:800;letter-spacing:.02em;}
.qrow .nm{font-size:12.5px;color:var(--ink-2);font-weight:600;}
.qrow .wait{display:flex;align-items:center;gap:8px;}
.qrow .wait b{font-size:13px;font-weight:800;}
.qrow .track{flex:1;height:5px;border-radius:3px;background:var(--bg-2);max-width:96px;overflow:hidden;}
.qrow .track i{display:block;height:100%;border-radius:3px;background:var(--line-2);}
.qrow .track i.warn{background:var(--warning);}
.qrow .track i.hot{background:var(--danger);}
.qrow .act{display:flex;gap:7px;}
.qrow .act .btn{flex:1;height:34px;font-size:12.5px;border-radius:9px;padding:0 6px;}
.qrow.call .no{color:var(--primary-deep);}
.q-list .qf{flex:none;margin-top:auto;padding:10px 18px;display:flex;align-items:center;gap:8px;
  font-size:11.5px;color:var(--ink-2);background:var(--bg);border-top:1px solid var(--line);}
.q-screen{width:322px;flex:none;border-radius:var(--r-lg);overflow:hidden;background:#1A1512;color:#F3EDE4;
  display:flex;flex-direction:column;box-shadow:var(--sh-md);}
.q-screen .qh2{padding:14px 18px 10px;display:flex;align-items:center;gap:8px;border-bottom:1px solid rgba(255,255,255,.08);}
.q-screen .qh2 .t{font-size:13.5px;font-weight:800;color:#fff;}
.q-screen .qh2 .d{width:7px;height:7px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 3px rgba(255,106,43,.2);}
.q-big{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px;text-align:center;}
.q-big .k{font-size:11.5px;letter-spacing:.28em;color:rgba(243,237,228,.5);}
.q-big .no{font-size:84px;font-weight:800;color:var(--primary);letter-spacing:.04em;line-height:1.1;margin-top:6px;}
.q-big .tb{margin-top:8px;font-size:15px;font-weight:800;color:#fff;}
.q-big .tip{margin-top:6px;font-size:11.5px;color:rgba(243,237,228,.55);}
.q-next{padding:12px 16px;border-top:1px solid rgba(255,255,255,.08);}
.q-chip{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);color:rgba(243,237,228,.72);
  padding:5px 12px;border-radius:var(--r-pill);}
.q-next .k{font-size:11px;color:rgba(243,237,228,.45);margin-bottom:7px;letter-spacing:.1em;}
.q-next .n{display:flex;gap:8px;}
.q-next .n .i{flex:1;background:rgba(255,255,255,.06);border-radius:10px;padding:7px 6px;text-align:center;}
.q-next .n .i .a{font-size:15px;font-weight:800;color:#fff;}
.q-next .n .i .b{font-size:10px;color:rgba(243,237,228,.5);margin-top:1px;}
.q-screen .qf2{padding:9px 16px;background:rgba(255,255,255,.04);font-size:10.5px;color:rgba(243,237,228,.45);
  display:flex;justify-content:space-between;}
@media(max-width:1100px){ .q-body{flex-direction:column;} .q-take,.q-screen{width:100%;} .q-screen{min-height:320px;} }

/* ============================================================
   A9 设置（pad-settings.html + 券码核销 / 员工 / 服务器）
   ============================================================ */
.st-body{flex:1;display:flex;min-height:0;}
.st-menu{width:252px;flex:none;background:#fff;border-right:1px solid var(--line);padding:14px 12px;display:flex;flex-direction:column;gap:3px;overflow:auto;}
.st-menu .side-item{height:46px;font-size:13.5px;}
.st-main{flex:1;min-width:0;display:flex;flex-direction:column;padding:16px 22px 16px;gap:13px;overflow:auto;}
.st-head{flex:none;display:flex;align-items:center;gap:12px;}
.st-head h2{font-size:21px;font-weight:800;}
.st-head .sub{font-size:12px;color:var(--ink-3);margin-top:1px;}
/* 卡片按内容自适应高度 + 整页滚动：避免窗口变矮时卡片被压扁、内容在卡内被裁 */
.st-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:13px;align-items:start;grid-auto-rows:min-content;}
.pcard{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-sm);
  padding:15px 17px;display:flex;flex-direction:column;}
.pcard .ph{display:flex;align-items:center;gap:9px;margin-bottom:10px;}
.pcard .ph .t{font-size:15px;font-weight:800;}
.pcard .ph .s{font-size:11.5px;color:var(--ink-3);}
.pcard .ph .ic{width:32px;height:32px;border-radius:10px;background:var(--primary-soft);color:var(--primary-deep);
  display:flex;align-items:center;justify-content:center;font-size:15px;flex:none;}
.lamp{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;color:var(--success);flex:none;}
.lamp i{width:8px;height:8px;border-radius:50%;background:var(--success);box-shadow:0 0 0 3px rgba(62,158,110,.16);}
.lamp.off{color:var(--danger);}
.lamp.off i{background:var(--danger);box-shadow:0 0 0 3px rgba(217,74,74,.16);}
.kvrow{display:flex;align-items:center;padding:7px 0;border-bottom:1px dashed var(--line);font-size:12.5px;}
.kvrow:last-child{border-bottom:none;}
.kvrow .k{color:var(--ink-3);width:86px;flex:none;}
.kvrow .v{font-weight:700;color:var(--ink);flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.kvrow .r{margin-left:auto;display:flex;align-items:center;gap:8px;flex:none;white-space:nowrap;}
.blue-list{display:flex;flex-direction:column;gap:7px;}
.bdev{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:12px;padding:8px 11px;font-size:12.5px;background:var(--bg);}
.bdev .nm{font-weight:700;}
.bdev .id{font-size:10.5px;color:var(--ink-3);}
.bdev .sig{display:flex;align-items:flex-end;gap:2px;height:12px;}
.bdev .sig i{width:3px;border-radius:1px;background:var(--line-2);}
.bdev .sig i.on{background:var(--primary);}
.scan{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--primary-deep);font-weight:700;
  background:var(--primary-soft);border:1px dashed var(--primary-line);border-radius:12px;padding:8px 11px;}
.scan .sq{width:10px;height:10px;border-radius:50%;background:var(--primary);}
.tog{width:40px;height:23px;border-radius:var(--r-pill);background:var(--success);position:relative;flex:none;}
.tog::after{content:"";position:absolute;right:2px;top:2px;width:19px;height:19px;border-radius:50%;background:#fff;box-shadow:var(--sh-xs);}
.tog.off{background:var(--line-2);}
.tog.off::after{right:auto;left:2px;}
.st-note{background:var(--primary-soft);border:1px solid var(--primary-line);border-radius:10px;
  padding:8px 10px;font-size:11px;color:var(--primary-deep);line-height:1.55;}
.tmpl{display:flex;gap:11px;height:100%;}
.tmpl .paper{width:118px;flex:none;border:1px solid var(--line-2);border-radius:6px;background:var(--bg);
  padding:9px 8px;font-size:7.5px;line-height:1.65;color:var(--ink-2);}
.tmpl .paper .c{text-align:center;font-weight:800;font-size:9px;color:var(--ink);}
.tmpl .paper .d{border-top:1px dashed var(--line-2);margin:5px 0;}
.verify-bar{border-radius:12px;padding:10px 13px;font-size:12.5px;font-weight:700;display:flex;align-items:center;gap:8px;}
.verify-bar.ok{background:var(--success-soft);border:1px solid rgba(62,158,110,.3);color:var(--success);}
.verify-bar.bad{background:var(--danger-soft);border:1px solid rgba(217,74,74,.3);color:var(--danger);}
.verify-bar.info{background:var(--info-soft);border:1px solid rgba(62,120,224,.25);color:var(--info);}
.staff-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px dashed var(--line);font-size:12.5px;}
.staff-row:last-child{border-bottom:none;}
.staff-row .av{width:30px;height:30px;border-radius:9px;background:var(--primary-soft);color:var(--primary-deep);
  display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;flex:none;}
.staff-row .nm{font-weight:800;}
.staff-row .rl{font-size:11px;color:var(--ink-3);}
.staff-row .no{margin-left:auto;font-size:11.5px;color:var(--ink-3);font-weight:700;}

/* ============================================================
   会员中心（经营版 · 复用 ui-v2 mcard/lrow 组件）
   ============================================================ */
.mb-body{flex:1;display:flex;gap:14px;padding:16px 22px 18px;min-height:0;overflow:hidden;}
.mb-list{width:360px;flex:none;display:flex;flex-direction:column;overflow:hidden;}
.mb-scroll{flex:1;overflow:auto;min-height:0;}
/* 空态在滚动面板里垂直居中，避免大卡片中空态贴顶 */
.mb-scroll > .app-empty{min-height:100%;justify-content:center;}
.mb-detail{flex:1;min-width:0;display:flex;flex-direction:column;gap:13px;overflow:auto;}
.mb-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;flex:none;}
.mb-detail .rcard{min-height:0;}
.mb-kv{display:flex;align-items:center;padding:6px 0;font-size:12.5px;color:var(--ink-2);border-bottom:1px dashed var(--line);}
.mb-kv:last-child{border-bottom:none;}
.mb-kv b{margin-left:auto;font-weight:700;color:var(--ink);}
@media(max-width:1100px){ .mb-body{flex-direction:column;overflow:auto;} .mb-list{width:100%;max-height:300px;} }

/* 防止顶栏标题/chip 换行 */
.topbar .ttl{white-space:nowrap;}
.chip{white-space:nowrap;}


/* 估清管理（后厨 · soldout.js） */
.so-page{flex:1;min-height:0;overflow:auto;padding:16px 22px 24px;}
.so-t{font-size:22px;font-weight:800;}
.so-s{font-size:12px;color:var(--ink-3);margin-top:4px;}
.so-tabs{display:flex;gap:8px;align-items:center;margin:10px 0 14px;flex-wrap:wrap;}
.so-tab{height:36px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:#fff;
  font-size:13px;font-weight:700;color:var(--ink-2);cursor:pointer;}
.so-tab small{opacity:.65;margin-left:5px;font-weight:600;}
.so-tab.on{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-deep);}
.so-sold{height:34px;background:#FDECEC;color:var(--danger);border:1px solid #F3C6C6;}
.so-list{display:flex;flex-direction:column;gap:10px;}
.so-row{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);
  border-radius:14px;padding:12px 16px;box-shadow:var(--sh-xs);}
.so-row.out{opacity:.72;background:#FBF8F3;}
.so-img{width:52px;height:52px;border-radius:12px;object-fit:cover;background:var(--cream);flex:none;}
.so-info{flex:1;min-width:0;}
.so-row .nm{font-size:15px;font-weight:800;}
.so-row .nm .tag.hot{margin-left:6px;}
.so-row .ds{font-size:12px;color:var(--ink-3);margin-top:3px;}
.so-btn{min-width:110px;height:40px;}
.stat-pill.red{background:#FDECEC;color:var(--danger);}

/* ===== 多店：顶栏切店器（仅超管可见） ===== */
.store-picker{
  position:relative;display:flex;align-items:center;gap:6px;height:34px;padding:0 10px;
  border-radius:10px;background:var(--primary-soft, #FFF4EC);border:1px solid #FFD9C2;flex:none;
}
.store-picker .sp-ico{font-size:13px;line-height:1;}
.store-picker .store-switch{
  appearance:none;-webkit-appearance:none;border:none;background:transparent;outline:none;
  font-size:13px;font-weight:800;color:var(--primary-deep, #C2410C);
  max-width:220px;cursor:pointer;padding-right:14px;
}
.store-picker .sp-arrow{position:absolute;right:9px;font-size:10px;color:var(--primary-deep, #C2410C);pointer-events:none;}
@media(max-width:1100px){ .store-picker .store-switch{max-width:120px;} }
