/* 椒舟收银后台：独立样式，不写入 business.css，避免影响其他页面 */
.pos-page{display:flex;flex-direction:column;gap:16px}
.pos-hero{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;background:linear-gradient(135deg,#fff7ed,#ffffff 58%,#fef2f2);border:1px solid #fed7aa;border-radius:20px;padding:18px 20px;box-shadow:0 10px 30px rgba(15,23,42,.06)}
.pos-hero h2{margin:2px 0 8px;font-size:25px;color:#7f1d1d;font-weight:900}
.pos-hero p{margin:0;color:#64748b;line-height:1.7;max-width:780px}
.pos-kicker{font-size:12px;font-weight:900;color:#b45309;letter-spacing:.08em}
.pos-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.pos-meta span,.pos-plan-strip span{background:#fff;border:1px solid #fed7aa;border-radius:999px;padding:5px 9px;font-size:12px;color:#92400e}
.pos-hero-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.pos-grid{display:grid;gap:14px}.pos-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.pos-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.pos-stat{background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:16px;box-shadow:0 8px 24px rgba(15,23,42,.05);min-height:88px;display:flex;flex-direction:column;justify-content:center}
.pos-stat b{font-size:24px;color:#991b1b;word-break:break-word}.pos-stat span{color:#64748b;font-size:13px;margin-top:4px}
.pos-alert{background:#fff7ed;border:1px solid #fed7aa;border-radius:16px;padding:13px 15px;color:#7c2d12;line-height:1.7}
.pos-module-card{appearance:none;border:1px solid #e2e8f0;background:#fff;border-radius:18px;text-align:left;padding:16px;box-shadow:0 8px 24px rgba(15,23,42,.05);cursor:pointer;display:flex;flex-direction:column;gap:7px;transition:.15s}
.pos-module-card:hover{transform:translateY(-2px);box-shadow:0 16px 38px rgba(15,23,42,.10);border-color:#fca5a5}
.pos-module-card span{align-self:flex-start;background:#fee2e2;color:#991b1b;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:800}
.pos-module-card b{font-size:18px;color:#111827}.pos-module-card em{font-style:normal;color:#64748b;line-height:1.6}
.pos-section-stack{display:flex;flex-direction:column;gap:14px}.pos-section{background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:16px;box-shadow:0 8px 24px rgba(15,23,42,.05)}
.pos-section-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.pos-section-head h3{margin:0;color:#111827;font-size:18px}.pos-section-head span{color:#64748b;font-size:12px}
.pos-table-wrap{overflow:auto;border:1px solid #e2e8f0;border-radius:14px}.pos-table{width:100%;border-collapse:collapse;font-size:13px;background:#fff}.pos-table th{background:#f8fafc;color:#334155;font-weight:900;text-align:left;padding:10px;border-bottom:1px solid #e2e8f0;white-space:nowrap}.pos-table td{padding:10px;border-bottom:1px solid #f1f5f9;color:#334155;vertical-align:top;min-width:90px}.pos-table tr:last-child td{border-bottom:0}.pos-actions{white-space:nowrap;display:flex;gap:6px;flex-wrap:wrap}
.pos-mini-table{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.pos-mini-table div{border:1px solid #e2e8f0;border-radius:14px;padding:12px;background:#f8fafc}.pos-mini-table b{display:block;color:#991b1b;font-size:22px}.pos-mini-table span{color:#64748b;font-size:12px}
.pos-plan-strip{display:flex;gap:8px;align-items:center;flex-wrap:wrap;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:16px;padding:12px;color:#334155}.pos-plan-strip em{font-style:normal;color:#64748b;line-height:1.7}
.pos-filters{display:flex;gap:10px;margin:10px 0 12px}.pos-plan-table{max-height:620px}.pos-plan-table td:nth-child(4){min-width:160px}
.pos-form .form-row{margin:0}.pos-check{display:flex;align-items:center;gap:8px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:10px;color:#334155;font-weight:800}.pos-check input{width:18px;height:18px}
.pos-safety-list{display:flex;flex-direction:column;gap:10px}.pos-safety-list div{display:grid;grid-template-columns:180px 1fr 260px;gap:12px;align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:12px}.pos-safety-list b{color:#111827}.pos-safety-list span{color:#475569}.pos-safety-list em{font-style:normal;color:#991b1b;font-weight:800}
@media(max-width:900px){.pos-hero{flex-direction:column}.pos-grid-3,.pos-grid-4{grid-template-columns:1fr}.pos-mini-table{grid-template-columns:repeat(2,minmax(0,1fr))}.pos-safety-list div{grid-template-columns:1fr}.pos-hero-actions{justify-content:flex-start}.pos-table th,.pos-table td{font-size:12px;padding:8px}}


/* POS v2 admin additions */
.pos-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;border-radius:18px;padding:16px 18px}
.pos-page-head h2{margin:4px 0 4px;color:#7f1d1d;font-size:24px;font-weight:1000}.pos-page-head p{margin:0;line-height:1.7}.pos-tag{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:1000;background:#fee2e2;color:#991b1b}.pos-tag.p2{background:#ffedd5;color:#9a3412}.pos-tag.p3{background:#e0e7ff;color:#3730a3}
.pos-stat-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:14px 0}.pos-stat small{display:block;color:#94a3b8;font-size:11px;margin-top:3px}.pos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;margin:14px 0}.pos-page-card{text-align:left;border:1px solid #e2e8f0;border-radius:18px;background:#fff;padding:16px;cursor:pointer;box-shadow:0 8px 24px rgba(15,23,42,.05)}.pos-page-card h3{margin:9px 0 6px;color:#111827}.pos-page-card p{margin:0;color:#64748b;line-height:1.6}.pos-page-card:hover{border-color:#fca5a5;transform:translateY(-1px)}
.pos-two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:14px 0}.pos-two-col label,.card label{display:block;font-weight:900;color:#334155;margin:10px 0 6px}.input{width:100%;border:1px solid #cbd5e1;border-radius:12px;padding:10px;background:#fff}.danger{color:#dc2626;font-weight:900}.form-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.pos-table pre{margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;color:#334155}
@media(max-width:1100px){.pos-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pos-two-col{grid-template-columns:1fr}.pos-page-head{flex-direction:column}}

/* POS v6 third-party integrations */
.pos-three-col{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:14px 0}.mini-config{border:1px solid #e2e8f0;border-radius:16px;background:#fff;padding:14px;box-shadow:0 6px 18px rgba(15,23,42,.04)}.mini-config h4{margin:0 0 8px;color:#991b1b}.mini-config label{display:block;font-weight:900;color:#334155;margin:9px 0 5px}.mini-config .hint{color:#64748b;font-size:12px;line-height:1.6;margin-top:8px}.checkline{display:flex!important;align-items:center;gap:8px;font-weight:900;color:#334155;margin:9px 0}.checkline input{width:18px;height:18px}.card.inner{background:#f8fafc;border-style:dashed}.status-pill{display:inline-flex;border-radius:999px;padding:3px 8px;background:#f1f5f9;color:#334155;font-size:12px;font-weight:900}.status-pill.ok{background:#dcfce7;color:#166534}.status-pill.warn{background:#fef3c7;color:#92400e}.status-pill.bad{background:#fee2e2;color:#991b1b}
@media(max-width:1100px){.pos-three-col{grid-template-columns:1fr}}


/* 餐厅管理三级菜单：只展示名称，后续再接内容和逻辑 */
.pos-restaurant-third{padding:0;overflow:hidden;border-radius:20px;background:#fff}
.pos-restaurant-third h2{margin:0;padding:20px 24px 22px;font-size:20px;font-weight:900;color:#111827;border-bottom:1px solid #eef2f7}
.pos-restaurant-third-list{display:flex;flex-direction:column}
.pos-restaurant-third-row{display:grid;grid-template-columns:160px 1fr;min-height:72px;border-bottom:1px solid #eef2f7;background:#fff}
.pos-restaurant-third-row:last-child{border-bottom:0}
.pos-restaurant-third-group{display:flex;align-items:center;padding:0 20px;color:#a0a7b2;font-size:16px;font-weight:900;border-right:1px solid #eef2f7;background:#fbfcfd}
.pos-restaurant-third-items{display:grid;grid-template-columns:repeat(4,minmax(132px,1fr));align-items:stretch}
.pos-restaurant-third-item{display:flex;align-items:center;min-height:72px;padding:0 22px;color:#1f2937;font-size:17px;font-weight:900;line-height:1.4;border-right:1px solid #eef2f7;white-space:nowrap;background:#fff}
.pos-restaurant-third-item:nth-child(4n){border-right:0}
@media(max-width:900px){.pos-restaurant-third-row{grid-template-columns:1fr}.pos-restaurant-third-group{min-height:44px;border-right:0;border-bottom:1px solid #eef2f7}.pos-restaurant-third-items{grid-template-columns:repeat(2,minmax(0,1fr))}.pos-restaurant-third-item{font-size:15px;min-height:58px;padding:0 14px}.pos-restaurant-third-item:nth-child(2n){border-right:0}}


.pos-simple-third{padding:0;overflow:hidden;border-radius:20px;background:#fff;max-width:420px}
.pos-simple-third h2{margin:0;padding:18px 20px 20px;font-size:20px;font-weight:900;color:#111827;border-bottom:1px solid #eef2f7}
.pos-simple-third-list{display:flex;flex-direction:column}
.pos-simple-third-item{display:flex;align-items:center;min-height:74px;padding:0 20px;color:#1f2937;font-size:18px;font-weight:900;line-height:1.4;border-bottom:1px solid #eef2f7;background:#fff}
.pos-simple-third-item:last-child{border-bottom:0}
@media(max-width:900px){.pos-simple-third{max-width:none}.pos-simple-third-item{min-height:62px;font-size:16px;padding:0 16px}}

.voucher-home-v527{display:flex;flex-direction:column;gap:16px;max-width:1260px}
.voucher-hero-v527{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr);gap:16px;align-items:stretch;padding:18px;border:1px solid #e8edf5;border-radius:20px;background:linear-gradient(135deg,#fff 0%,#fff8ed 42%,#eef8ff 100%);box-shadow:0 14px 32px rgba(15,23,42,.05)}
.voucher-hero-copy-v527{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:8px 4px}
.voucher-kicker-v527{display:inline-flex;align-items:center;width:max-content;min-height:26px;padding:0 9px;border-radius:999px;background:#fff3cd;border:1px solid #fde68a;color:#92400e;font-size:12px;font-weight:1000}
.voucher-hero-copy-v527 h2{margin:10px 0 7px;color:#111827;font-size:28px;font-weight:1000;line-height:1.15}
.voucher-hero-copy-v527 p{margin:0;max-width:720px;color:#526174;font-size:15px;font-weight:800;line-height:1.6}
.voucher-hero-stats-v527{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.voucher-hero-stats-v527 div{display:flex;flex-direction:column;justify-content:center;min-height:104px;padding:14px;border-radius:16px;background:rgba(255,255,255,.82);border:1px solid rgba(226,232,240,.9)}
.voucher-hero-stats-v527 strong{color:#0f172a;font-size:32px;font-weight:1000;line-height:1}
.voucher-hero-stats-v527 span{margin-top:8px;color:#64748b;font-size:13px;font-weight:900;white-space:nowrap}
.voucher-grid-v527{display:grid;grid-template-columns:repeat(3,minmax(260px,1fr));gap:14px}
.voucher-card-v527{appearance:none;text-align:left;font-family:inherit;display:flex;flex-direction:column;justify-content:space-between;gap:18px;min-height:194px;padding:18px;border-radius:18px;border:1px solid #e5ebf3;background:#fff;box-shadow:0 10px 26px rgba(15,23,42,.05);color:#0f172a}
.voucher-card-v527.is-action{cursor:pointer}
.voucher-card-v527.is-action:hover{transform:translateY(-2px);border-color:#f6c04b;box-shadow:0 18px 34px rgba(245,158,11,.13)}
.voucher-card-v527:focus-visible{outline:3px solid rgba(245,158,11,.28);outline-offset:2px}
.voucher-card-v527.is-disabled{opacity:.9}
.voucher-card-top-v527{display:flex;align-items:center;justify-content:space-between;gap:12px}
.voucher-icon-v527{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:14px;color:#fff;background:#475569;font-size:22px;font-weight:1000;box-shadow:0 10px 22px rgba(71,85,105,.15)}
.voucher-icon-v527.ready{background:linear-gradient(135deg,#111827,#ef4444)}
.voucher-icon-v527.pending{background:linear-gradient(135deg,#f59e0b,#dc2626)}
.voucher-icon-v527.locked{background:linear-gradient(135deg,#64748b,#94a3b8)}
.voucher-status-v527{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:1000;border:1px solid #e2e8f0;color:#64748b;background:#f8fafc;white-space:nowrap}
.voucher-status-v527.ready{border-color:#bbf7d0;background:#ecfdf5;color:#047857}
.voucher-status-v527.pending{border-color:#fed7aa;background:#fff7ed;color:#c2410c}
.voucher-card-body-v527 h3{margin:0 0 8px;color:#111827;font-size:21px;font-weight:1000;line-height:1.2}
.voucher-card-body-v527 p{margin:0;color:#667085;font-size:14px;font-weight:800;line-height:1.55}
.voucher-card-foot-v527{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;border-top:1px solid #eef2f7}
.voucher-card-foot-v527 span{display:inline-flex;align-items:center;min-width:0;color:#64748b;font-size:13px;font-weight:900;white-space:nowrap}
.voucher-card-foot-v527 b{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 13px;border-radius:999px;background:#fff7ed;border:1px solid #fed7aa;color:#b45309;font-size:13px;font-weight:1000;white-space:nowrap}
.voucher-card-v527.is-disabled .voucher-card-foot-v527 b{background:#f8fafc;border-color:#e2e8f0;color:#64748b}
@media(max-width:1180px){.voucher-hero-v527{grid-template-columns:1fr}.voucher-grid-v527{grid-template-columns:repeat(2,minmax(240px,1fr))}}
@media(max-width:760px){.voucher-home-v527{gap:12px}.voucher-hero-v527{padding:14px;border-radius:16px}.voucher-hero-copy-v527 h2{font-size:23px}.voucher-hero-stats-v527{grid-template-columns:1fr}.voucher-hero-stats-v527 div{min-height:74px}.voucher-grid-v527{grid-template-columns:1fr}.voucher-card-v527{min-height:164px;padding:16px}}

/* 手机点餐 / 外卖管理 / 团购管理三级菜单：与餐厅管理同一套弹出样式，只先展示名称 */
.pos-third-menu .pos-restaurant-third-item{cursor:default;user-select:none}
.pos-third-menu-plain .pos-restaurant-third-row{grid-template-columns:1fr;min-height:72px}
.pos-third-menu-plain .pos-restaurant-third-group{display:none}
.pos-third-menu-plain .pos-restaurant-third-items{display:block}
.pos-third-menu-plain .pos-restaurant-third-item{border-right:0;min-height:72px;width:100%}
.pos-third-row-single{grid-template-columns:1fr}
.pos-third-row-single .pos-restaurant-third-items{display:block}
.pos-third-row-single .pos-restaurant-third-item{border-right:0;width:100%}

/* POS v06 其他设置 / 平台对接 */
.pos-clickable-third{appearance:none;border:0;border-bottom:1px solid #eef2f7;text-align:left;cursor:pointer;font-family:inherit}
.pos-clickable-third:hover{background:#fff7ed;color:#991b1b}
.pos-platform-title .muted b{color:#991b1b}
.pos-platform-title-compact{align-items:center;padding:12px 16px;margin-bottom:10px}
.pos-platform-title-compact h2{margin:2px 0 0;font-size:22px}
.pos-platform-count{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border-radius:999px;background:#f8fafc;border:1px solid #e2e8f0;color:#475569;font-size:13px;font-weight:1000}
.pos-platform-grid{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:10px;margin:10px 0}
.pos-platform-card{border-radius:14px;padding:12px 14px;box-shadow:0 5px 16px rgba(15,23,42,.04);min-height:86px}
.pos-platform-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:0}
.pos-platform-head h3{margin:5px 0 0;color:#111827;font-size:16px;font-weight:1000;line-height:1.25}
.pos-platform-actions{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;justify-content:flex-end}
.pos-platform-toggle{min-width:78px;height:32px;padding:0 10px}
.pos-platform-status{display:inline-flex;align-items:center;justify-content:center;min-width:56px;height:30px;padding:0 8px;border-radius:999px;font-size:12px;font-weight:1000;border:1px solid #e2e8f0;background:#f8fafc;color:#64748b;white-space:nowrap}
.pos-platform-status.on{border-color:#bbf7d0;background:#ecfdf5;color:#047857}
.pos-platform-status.off{border-color:#e2e8f0;background:#f8fafc;color:#64748b}
.pos-platform-error-mini{margin-top:8px;padding:6px 8px;border-radius:10px;background:#fff1f2;border:1px solid #fecdd3;color:#be123c;font-size:12px;font-weight:900;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pos-platform-error-mini.ok{background:#f8fafc;border-color:#e2e8f0;color:#94a3b8}
.pos-platform-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}
.pos-platform-summary span{display:block;min-width:0;padding:10px 12px;border-radius:14px;background:#f8fafc;border:1px solid #edf2f7;color:#475569;font-size:13px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pos-platform-body{display:none;margin-top:14px;padding-top:14px;border-top:1px solid #edf2f7}
.pos-platform-card.is-open{grid-column:1/-1;border-color:#fed7aa;box-shadow:0 12px 34px rgba(234,88,12,.12);min-height:0}
.pos-platform-card.is-open .pos-platform-body{display:block}
.pos-platform-enabled{margin:0!important;white-space:nowrap;background:#f8fafc}
.pos-platform-error-box{margin:0 0 12px;padding:10px 12px;border:1px solid #fecaca;border-radius:12px;background:#fff7f7;color:#991b1b}
.pos-platform-error-box.ok{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#f8fafc;border-color:#e2e8f0;color:#64748b}
.pos-platform-error-box summary{cursor:pointer;font-weight:1000;color:#991b1b}
.pos-platform-error-message{margin:8px 0;color:#7f1d1d;font-weight:900;line-height:1.55}
.pos-platform-error-meta{margin:0 0 8px;color:#64748b;font-size:12px;font-weight:900;line-height:1.5}
.pos-platform-log-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pos-platform-log-grid b{display:block;margin:2px 0 6px;color:#111827;font-size:13px}
.pos-platform-error-box pre{max-height:210px;overflow:auto;margin:8px 0 0;padding:10px;border-radius:10px;background:#111827;color:#e5e7eb;font-size:12px;line-height:1.45;white-space:pre-wrap;word-break:break-word}
.pos-platform-needed{margin:10px 0 12px;padding:10px 12px;border:1px dashed #fed7aa;border-radius:14px;background:#fff7ed;color:#7c2d12;font-size:13px;line-height:1.65}
.pos-platform-needed b{color:#991b1b}
.pos-platform-fields{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:0 12px}
.pos-platform-textarea{min-height:88px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.5}
.pos-other-settings-menu .pos-restaurant-third-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:0}
.pos-other-settings-menu .pos-restaurant-third-item{flex-direction:column;align-items:flex-start;justify-content:center;gap:6px;font-size:18px;white-space:normal;text-decoration:none}
.pos-other-settings-menu .pos-restaurant-third-item b{display:block;color:#111827}
.pos-other-settings-menu .pos-restaurant-third-item span{display:block;color:#64748b;font-size:13px;font-weight:800;line-height:1.45}
.pos-other-settings-menu .pos-restaurant-third-item:hover span{color:#9a3412}
@media(max-width:1500px){.pos-platform-grid{grid-template-columns:repeat(3,minmax(220px,1fr))}.pos-platform-fields{grid-template-columns:repeat(3,minmax(170px,1fr))}}
@media(max-width:1100px){.pos-platform-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pos-platform-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.pos-platform-title-compact{align-items:flex-start;flex-direction:column}.pos-platform-actions{justify-content:flex-start}.pos-platform-summary{grid-template-columns:1fr}.pos-platform-enabled{white-space:normal}}
@media(max-width:720px){.pos-platform-grid,.pos-platform-fields,.pos-platform-log-grid{grid-template-columns:1fr}.pos-platform-head{align-items:flex-start;flex-direction:column}.pos-platform-actions{justify-content:flex-start}}


/* POS v07 菜品管理页面 */
.pos-dish-tabs{display:flex;align-items:center;gap:0;padding:0;margin-bottom:14px;overflow:hidden;border-radius:18px;background:#fff}
.pos-dish-tabs-title{display:flex;align-items:center;min-height:64px;padding:0 28px;color:#a0a7b2;font-size:18px;font-weight:1000;border-right:1px solid #eef2f7;background:#fbfcfd}
.pos-dish-tab{appearance:none;border:0;border-right:1px solid #eef2f7;background:#fff;color:#111827;min-width:150px;min-height:64px;padding:0 24px;font-size:19px;font-weight:1000;cursor:pointer;font-family:inherit}
.pos-dish-tab.active{color:#111827;background:#fff7cc;box-shadow:inset 0 -3px 0 #ffd400}.pos-dish-tab:hover{background:#fff7ed;color:#991b1b}
.pos-dish-library{padding:14px}.pos-dish-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.pos-dish-toolbar .btn:first-child,.pos-dish-toolbar .btn:nth-child(2){background:#ffd400;color:#111;border-color:#ffd400}
.pos-dish-main{display:grid;grid-template-columns:148px minmax(0,1fr);gap:14px}.pos-dish-cats{display:flex;flex-direction:column;gap:0;background:#f8fafc;border-radius:14px;overflow:hidden;border:1px solid #eef2f7}.pos-dish-cats button{appearance:none;border:0;text-align:left;background:#f8fafc;padding:12px 16px;font-weight:900;color:#334155;cursor:pointer}.pos-dish-cats button.active,.pos-dish-cats button:hover{background:#fff3bf;color:#111827}
.pos-dish-list{min-width:0}.pos-dish-filters{background:#fff;border:1px solid #eef2f7;border-radius:14px;padding:10px 12px;margin-bottom:12px}.pos-dish-filter-row{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-bottom:8px}.pos-dish-filter-row:last-child{margin-bottom:0}.pos-dish-cat-pill{height:40px;padding:0 18px;border:1px solid #fed7aa;border-radius:10px;background:#fff7ed;color:#9a3412;font-weight:1000}.pos-dish-filter{display:flex;align-items:center;gap:8px;min-width:180px}.pos-dish-filter.wide{min-width:260px}.pos-dish-filter span{white-space:nowrap;color:#334155;font-weight:900}.pos-dish-filter .input{height:40px;padding:8px 10px}.pos-collapse{border:0;background:#fff;color:#f97316;font-weight:1000;cursor:pointer}
.pos-dish-table{max-height:620px;overflow:auto}.pos-dish-table th{white-space:nowrap;background:#f8fafc}.pos-dish-table td{white-space:nowrap}.pos-dish-img,.pos-dish-thumb{display:inline-flex;align-items:center;justify-content:center;width:50px;height:38px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;font-size:24px}.pos-dish-thumb{width:56px;height:42px}.pos-table-action{appearance:none;border:0;background:transparent;color:#f97316;font-weight:1000;cursor:pointer;margin-right:10px}.pos-link-mini{appearance:none;border:0;background:transparent;color:#475569;cursor:pointer}
.pos-dish-edit-head{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border:1px solid #eef2f7;border-radius:18px;padding:14px 18px;margin:0 0 14px;box-shadow:0 8px 18px rgba(15,23,42,.05)}.pos-dish-edit-head h2{margin:0;color:#111827;font-size:22px}.pos-dish-edit{display:flex;flex-direction:column;gap:14px;padding-bottom:78px}
.pos-dish-section{padding:18px 20px;border-radius:18px}.pos-dish-section h3{margin:0 0 16px;color:#111827;font-size:18px;font-weight:1000;border-left:5px solid #ffd400;padding-left:10px}.pos-dish-basic-line{display:grid;grid-template-columns:minmax(240px,1fr) 110px minmax(240px,1fr) 120px;gap:12px;align-items:end;margin-bottom:12px}.pos-orange-link{appearance:none;border:0;background:transparent;color:#f97316;font-weight:1000;cursor:pointer;text-align:left}.pos-dish-spec-title{font-weight:1000;color:#334155;background:#f8fafc;border-radius:12px;padding:12px 14px;margin:12px 0}.pos-dish-form-grid{display:grid;grid-template-columns:repeat(6,minmax(140px,1fr));gap:14px 12px}.pos-dish-field{display:block;min-width:0}.pos-dish-field.wide{grid-column:span 2}.pos-dish-field span,.pos-dish-radio-line>span{display:block;color:#334155;font-weight:900;margin:0 0 6px}.pos-dish-field b{color:#ef4444;margin-right:2px}.pos-dish-input-wrap{position:relative;display:flex;align-items:center}.pos-dish-input-wrap em{font-style:normal;color:#64748b;margin-left:6px;white-space:nowrap}.pos-dish-field .input{height:42px}.pos-img-upload{width:64px;height:64px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;font-size:24px;color:#64748b}.pos-text-btn{border:0;background:#fff;color:#334155;font-weight:900;cursor:pointer}.pos-add-spec{margin:14px 0 4px;border:0;background:transparent;color:#f97316;font-weight:1000;cursor:pointer}.pos-dish-more-block{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:14px 12px;align-items:end;margin-top:10px}.pos-dish-radio-line{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.pos-dish-radio-line label{font-weight:900;color:#334155}.pos-red-tip{grid-column:1/-1;color:#ef4444;font-weight:900;margin:0}.pos-more-toggle{grid-column:1/-1}.pos-chip-line{display:flex;gap:8px;align-items:center;flex-wrap:wrap;border:1px solid #e2e8f0;border-radius:12px;padding:9px;background:#fff}.pos-chip-line span{margin:0;background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;padding:6px 10px;color:#334155}
.pos-compose-tabs{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.pos-compose-tabs button{border:0;background:#fff;color:#f97316;font-weight:1000;cursor:pointer}.pos-compose-tabs button.active{color:#f97316}.pos-compose-group{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#f8fafc;border:1px solid #eef2f7;border-radius:14px;padding:12px;margin-bottom:12px}.pos-compose-group .mini,.pos-table .mini{width:70px;height:36px;padding:6px}.pos-compose-group button{margin-left:auto;border:0;background:transparent;color:#94a3b8;cursor:pointer}.pos-dish-display-grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:14px 12px;align-items:end}.pos-display-img{width:96px;height:96px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;display:flex;align-items:center;justify-content:center;font-size:38px;position:relative}.pos-display-img b{position:absolute;left:6px;top:6px;background:#f97316;color:#fff;font-size:12px;border-radius:4px;padding:2px 5px}.pos-dish-stars{display:flex;align-items:center;gap:8px;font-weight:900;color:#334155}.pos-dish-stars em{font-style:normal;color:#f59e0b;letter-spacing:3px}.pos-dish-rich{grid-column:1/-1;border:1px solid #e2e8f0;border-radius:14px;overflow:hidden;background:#fff}.pos-rich-toolbar{height:42px;display:flex;align-items:center;padding:0 14px;border-bottom:1px solid #eef2f7;color:#334155;font-weight:900;word-spacing:12px}.pos-rich-preview{min-height:170px;display:flex;align-items:center;padding:20px 110px;position:relative}.pos-orange-badge{background:#ff9f1c;color:#fff;font-size:46px;font-weight:1000;border-radius:40px;padding:18px 42px;border-bottom:12px solid #f97316;box-shadow:0 4px 0 #fb923c}.pos-pink-rabbit{font-size:52px;margin-left:-24px;transform:rotate(18deg)}.pos-dish-sticky{position:fixed;right:28px;bottom:18px;z-index:20;display:flex;gap:10px;background:rgba(255,255,255,.9);border:1px solid #eef2f7;border-radius:16px;padding:10px 12px;box-shadow:0 12px 28px rgba(15,23,42,.12)}.pos-dish-empty{padding:20px}.pos-dish-empty h2{margin:0 0 8px}.pos-dish-empty-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-top:14px}.pos-dish-empty-grid div{border:1px solid #e2e8f0;border-radius:14px;padding:14px;background:#f8fafc}.pos-dish-empty-grid b{display:block;color:#111827;margin-bottom:6px}.pos-dish-empty-grid span{color:#64748b;line-height:1.6}
@media(max-width:1200px){.pos-dish-main{grid-template-columns:1fr}.pos-dish-cats{display:grid;grid-template-columns:repeat(3,1fr)}.pos-dish-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pos-dish-more-block,.pos-dish-display-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pos-dish-basic-line{grid-template-columns:1fr}.pos-dish-tabs{overflow:auto}.pos-dish-tab{min-width:130px}.pos-dish-sticky{right:14px;bottom:14px}}
@media(max-width:700px){.pos-dish-cats{grid-template-columns:repeat(2,1fr)}.pos-dish-form-grid,.pos-dish-more-block,.pos-dish-display-grid{grid-template-columns:1fr}.pos-dish-field.wide{grid-column:span 1}.pos-rich-preview{padding:20px}.pos-orange-badge{font-size:32px;padding:14px 28px}.pos-dish-tabs-title{min-width:120px}.pos-dish-tab{font-size:16px;min-width:110px;padding:0 14px}}

/* pos v08 dish category / attributes / time menu refinements */
.pos-alert{border:1px solid #fde68a;background:#fffbeb;border-radius:14px;padding:12px 14px;margin:12px 0;color:#92400e;line-height:1.7;font-weight:800}.pos-alert b{color:#111827}.pos-orange-text{color:#f97316!important;font-weight:1000}.pos-icon-upload{font-size:30px}.pos-category-preview h3{margin-top:0}.pos-category-preview>div{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin:10px 0}.pos-category-preview span{display:inline-flex;align-items:center;gap:8px;border:1px solid #e2e8f0;background:#fff;border-radius:16px;padding:10px 16px;font-weight:1000;color:#334155}.pos-category-preview span.active{background:#fff7cc;border-color:#ffd400;color:#111827}.pos-category-preview b{font-size:28px;line-height:1}.pos-attr-tabs{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 14px}.pos-attr-tabs button{appearance:none;border:1px solid #e2e8f0;border-radius:12px;background:#fff;padding:10px 18px;font-weight:1000;color:#334155;cursor:pointer}.pos-attr-tabs button.active,.pos-attr-tabs button:hover{background:#ffd400;border-color:#ffd400;color:#111827}.pos-dish-action-bar{margin-bottom:14px}.pos-attr-layout{display:grid;grid-template-columns:150px minmax(0,1fr);gap:14px}.pos-dish-side-list{align-self:start}.pos-attr-count{margin:4px 0 12px;font-weight:900;color:#334155}.pos-time-create-grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:14px 12px;align-items:end}.pos-time-create-grid .wide{grid-column:span 2}.pos-dish-section textarea.input{min-height:82px;padding:10px;resize:vertical}.pos-dish-table .pos-dish-img{font-size:30px}.pos-dish-toolbar .btn{white-space:nowrap}
@media(max-width:1200px){.pos-attr-layout{grid-template-columns:1fr}.pos-time-create-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pos-time-create-grid .wide{grid-column:span 2}}
@media(max-width:700px){.pos-time-create-grid{grid-template-columns:1fr}.pos-time-create-grid .wide{grid-column:span 1}.pos-attr-tabs button{flex:1}}

/* POS v08 菜品分类 / 菜品属性 / 时段菜单 */
.pos-dish-subtabs{display:flex;gap:0;align-items:center;overflow:hidden;border-radius:16px;margin:0 0 14px;padding:0;background:#fff}
.pos-dish-subtab{appearance:none;border:0;border-right:1px solid #eef2f7;background:#fff;color:#334155;min-width:140px;min-height:54px;padding:0 22px;font-size:16px;font-weight:1000;cursor:pointer;font-family:inherit}
.pos-dish-subtab.active{background:#fff7cc;color:#111827;box-shadow:inset 0 -3px 0 #ffd400}.pos-dish-subtab:hover{background:#fff7ed;color:#991b1b}
.pos-dish-manage{padding:14px;border-radius:18px}.pos-dish-manage .pos-dish-toolbar{margin-bottom:14px}.pos-manage-filters{background:#fff;border:1px solid #eef2f7;border-radius:14px;padding:12px;margin:0 0 14px}.pos-dish-edit-panel{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:16px;padding:14px 16px;margin-bottom:14px}.pos-dish-edit-panel h3{margin:0 0 6px;color:#111827;font-size:18px}.pos-dish-edit-panel p{margin:0 0 12px;line-height:1.7}.pos-category-table .pos-table td{vertical-align:middle}.pos-icon-cell{display:flex;align-items:center;gap:8px;min-width:120px}.pos-mini-icon{display:inline-flex;align-items:center;justify-content:center;width:58px;height:46px;border:1px solid #e2e8f0;border-radius:12px;background:#fff;font-size:28px}.pos-count-hot{color:#f97316;font-weight:1000}.pos-attr-method-main{grid-template-columns:150px minmax(0,1fr);align-items:start}.pos-time-editor .pos-dish-form-grid{grid-template-columns:repeat(6,minmax(150px,1fr))}.pos-time-menu .pos-table td,.pos-time-menu .pos-table th{white-space:nowrap}.pos-dish-price-clean{grid-template-columns:repeat(5,minmax(150px,1fr))}
@media(max-width:1200px){.pos-dish-subtabs{overflow:auto}.pos-attr-method-main{grid-template-columns:1fr}.pos-time-editor .pos-dish-form-grid,.pos-dish-price-clean{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.pos-dish-subtab{min-width:112px;font-size:14px;padding:0 12px}.pos-time-editor .pos-dish-form-grid,.pos-dish-price-clean{grid-template-columns:1fr}.pos-icon-cell{min-width:96px}.pos-mini-icon{width:48px;height:40px;font-size:23px}}

/* pos v09：菜品编辑字段调整、餐盒价格、辣度星级、详情图上传 */
.pos-box-setting{display:grid;grid-template-columns:minmax(130px,1fr) minmax(120px,1fr);gap:8px;align-items:center}
.pos-dish-edit.is-collapsed > .pos-dish-section:not(:first-child){display:none!important}
.pos-dish-edit.is-collapsed .pos-dish-section:first-child .pos-basic-extra,
.pos-dish-edit.is-collapsed .pos-dish-section:first-child .pos-dish-basic-extra{display:none!important}
.pos-dish-edit.is-collapsed .pos-dish-section:first-child .pos-dish-basic-line{grid-template-columns:minmax(280px,560px)!important;margin-bottom:8px}
.pos-dish-edit.is-collapsed .pos-dish-section:first-child .pos-more-toggle{margin-top:4px}.pos-dish-name-only .pos-dish-field{display:block}
.pos-star-select{display:flex;align-items:center;gap:4px;flex-wrap:wrap;min-height:42px;border:1px solid #e2e8f0;background:#fff;border-radius:12px;padding:8px 10px}
.pos-star-select button{appearance:none;border:0;background:transparent;color:#cbd5e1;font-size:25px;line-height:1;cursor:pointer;padding:0 2px;font-family:inherit}.pos-star-select button.active{color:#f59e0b}.pos-star-select em{font-style:normal;font-weight:1000;color:#334155;margin-left:8px}.pos-spice-field{align-self:end}
.pos-dish-detail-upload{grid-column:1/-1;border:1px solid #e2e8f0;background:#fff;border-radius:14px;padding:12px;min-height:136px}.pos-dish-detail-upload>span{display:block;color:#334155;font-weight:900;margin-bottom:4px}.pos-dish-detail-upload p{margin:0 0 10px;line-height:1.6}
.pos-file-input{display:none}.pos-detail-image-preview{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-top:12px;min-height:92px}.pos-detail-image-preview>span{display:flex;align-items:center;justify-content:center;width:100%;min-height:92px;border:1px dashed #cbd5e1;border-radius:12px;background:#f8fafc;color:#64748b;font-weight:900}.pos-detail-image-preview img{display:block;max-width:360px;width:100%;max-height:260px;object-fit:contain;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc;padding:8px}
@media(max-width:1200px){.pos-box-setting{grid-template-columns:1fr}.pos-dish-edit.is-collapsed .pos-dish-section:first-child .pos-dish-basic-line{grid-template-columns:1fr!important}}

/* pos v10：菜品库精简与表格导入 */
.pos-modal-mask{position:fixed;inset:0;z-index:1000;background:rgba(15,23,42,.45);display:flex;align-items:center;justify-content:center;padding:24px}
.pos-import-box{width:min(980px,96vw);max-height:88vh;overflow:auto;background:#fff;border-radius:20px;box-shadow:0 24px 70px rgba(15,23,42,.28);border:1px solid #e2e8f0;padding:18px}
.pos-import-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-bottom:1px solid #eef2f7;padding-bottom:12px;margin-bottom:14px}.pos-import-head h2{margin:0 0 6px;color:#111827}.pos-import-head p{margin:0;color:#64748b;font-weight:800;line-height:1.6}
.pos-import-close{appearance:none;border:0;background:#f8fafc;color:#334155;border-radius:12px;width:40px;height:40px;font-size:26px;line-height:1;cursor:pointer}.pos-import-close:hover{background:#fee2e2;color:#991b1b}
.pos-import-body input[type=file]{display:block;width:100%;border:1px dashed #cbd5e1;background:#f8fafc;border-radius:14px;padding:16px;font-weight:900;color:#334155}.pos-import-tip{margin:12px 0;padding:10px 12px;border-radius:12px;background:#fffbeb;border:1px solid #fde68a;color:#92400e;font-weight:900;line-height:1.7}.pos-import-preview{margin-top:12px;max-height:430px;overflow:auto;border-radius:14px}.pos-import-preview .pos-table{min-width:760px}

/* pos v11：菜品排序、停售状态、菜品/做法图片上传 */
.pos-row-disabled{opacity:.58;background:#f8fafc}.pos-status-on{display:inline-flex;align-items:center;border-radius:999px;background:#dcfce7;color:#166534;padding:4px 10px;font-weight:1000}.pos-status-off{display:inline-flex;align-items:center;border-radius:999px;background:#fee2e2;color:#991b1b;padding:4px 10px;font-weight:1000}.pos-dish-img img,.pos-dish-thumb img,.pos-mini-icon img{display:block;max-width:100%;max-height:100%;object-fit:cover;border-radius:8px}.pos-display-img{overflow:hidden}.pos-display-img img{display:block;width:100%;height:100%;object-fit:cover;border-radius:10px}.pos-method-img-cell{display:flex;align-items:center;gap:8px}.pos-method-img-cell>span{display:inline-flex;align-items:center;justify-content:center;width:58px;height:44px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;font-size:24px;overflow:hidden}.pos-method-img-cell img{display:block;width:100%;height:100%;object-fit:cover}.pos-small-preview{display:flex;align-items:center;justify-content:center;margin-top:8px;min-height:44px;border-radius:10px;background:#f8fafc;color:#64748b;font-weight:900}.pos-small-preview img{display:block;max-width:86px;max-height:66px;object-fit:contain;border-radius:8px}.pos-sort-page .pos-dish-edit-panel{margin-bottom:12px}.pos-sort-page .pos-table .mini{width:74px;text-align:center}.pos-sort-page .muted{margin:4px 0 0}.pos-dish-table .pos-table-action[disabled]{opacity:.4;cursor:not-allowed}.pos-dish-display-grid .btn{align-self:center;white-space:nowrap}.pos-dish-filter-row .btn{height:40px}.pos-dish-cats button{line-height:1.4}.pos-dish-table .pos-table td{vertical-align:middle}.pos-dish-table .pos-dish-img{overflow:hidden}.pos-dish-table .pos-dish-img img{width:100%;height:100%;object-fit:cover}.pos-dish-section textarea.input{font-family:inherit}.pos-dish-library .pos-dish-toolbar .btn.ghost:first-child{background:#fff;color:#334155;border-color:#e2e8f0}
@media(max-width:700px){.pos-method-img-cell{flex-direction:column;align-items:flex-start}.pos-sort-page .pos-table{min-width:760px}}
.pos-mini-icon img{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px}

/* POS v12：自定义弹窗、套餐创建、菜品删除 */
.pos-custom-modal-mask{position:fixed;inset:0;z-index:1600;background:rgba(15,23,42,.46);display:flex;align-items:center;justify-content:center;padding:24px}
.pos-custom-modal{width:min(96vw,760px);max-height:90vh;overflow:auto;background:#fff;border:1px solid #e2e8f0;border-radius:22px;box-shadow:0 28px 80px rgba(15,23,42,.28)}
.pos-custom-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:18px 20px;border-bottom:1px solid #eef2f7;background:#fff}
.pos-custom-modal-head h3{margin:0;color:#111827;font-size:20px;font-weight:1000}.pos-custom-modal-x{appearance:none;border:0;background:#f8fafc;color:#334155;border-radius:12px;width:38px;height:38px;font-size:26px;line-height:1;cursor:pointer}.pos-custom-modal-x:hover{background:#fee2e2;color:#991b1b}
.pos-custom-modal-body{padding:18px 20px}.pos-custom-modal-foot{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid #eef2f7;background:#f8fafc}.pos-modal-message{margin:0;color:#334155;font-size:16px;line-height:1.8;font-weight:800}
.pos-modal-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.pos-modal-form label{display:flex;flex-direction:column;gap:6px;font-weight:900;color:#334155}.pos-modal-form label span b{color:#ef4444;margin-right:2px}.pos-modal-form textarea.input{min-height:92px;resize:vertical}.pos-modal-search{margin-bottom:12px}.pos-pick-dish-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;max-height:56vh;overflow:auto}.pos-pick-dish{appearance:none;border:1px solid #e2e8f0;background:#fff;border-radius:14px;padding:10px;text-align:left;display:grid;grid-template-columns:54px 1fr;gap:8px;cursor:pointer;align-items:center}.pos-pick-dish:hover{border-color:#ffd400;background:#fffbeb}.pos-pick-dish span{grid-row:span 2;display:flex;align-items:center;justify-content:center;width:54px;height:46px;border-radius:10px;background:#f8fafc;font-size:26px;overflow:hidden}.pos-pick-dish span img{width:100%;height:100%;object-fit:cover}.pos-pick-dish b{font-size:14px;color:#111827}.pos-pick-dish em{font-style:normal;font-size:12px;color:#64748b}.danger-action{color:#dc2626!important}.pos-package-basic-grid{grid-template-columns:repeat(2,minmax(260px,1fr))}.pos-package-tip{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px;color:#64748b;font-weight:900}.pos-package-groups{display:flex;flex-direction:column;gap:14px}.pos-package-group{border:1px solid #e2e8f0;border-radius:16px;background:#fff;padding:12px}.pos-package-group-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.pos-package-group-head>div{display:grid;grid-template-columns:minmax(180px,1.3fr) minmax(120px,.8fr) auto 74px auto;gap:8px;align-items:center;color:#334155;font-weight:900}.pos-package-group .pos-dish-table{margin-bottom:10px}.pos-package-add-dish{margin-top:8px}.pos-package-edit .pos-dish-radio-line{grid-column:1/-1}.pos-package-edit .pos-dish-input-wrap .mini,.pos-package-group .mini{width:82px;text-align:center}.pos-package-group .pos-table td{vertical-align:middle}.pos-package-group input[type=checkbox]{width:18px;height:18px}.pos-dish-library .danger-action{margin-left:4px}
@media(max-width:900px){.pos-modal-form,.pos-package-basic-grid{grid-template-columns:1fr}.pos-package-group-head{align-items:stretch;flex-direction:column}.pos-package-group-head>div{grid-template-columns:1fr}.pos-pick-dish-list{grid-template-columns:1fr}.pos-custom-modal-mask{padding:12px}}

/* pos v12：自定义编辑弹窗、创建套餐、删除菜品、图片即时预览 */
.pos-dialog-box{width:min(720px,96vw);max-height:88vh;overflow:auto;background:#fff;border-radius:20px;box-shadow:0 24px 70px rgba(15,23,42,.28);border:1px solid #e2e8f0;padding:18px}.pos-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-bottom:1px solid #eef2f7;padding-bottom:12px;margin-bottom:14px}.pos-dialog-head h2{margin:0 0 6px;color:#111827;font-size:22px;font-weight:1000}.pos-dialog-head p{margin:0;color:#64748b;line-height:1.7;font-weight:800}.pos-dialog-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px}.pos-dialog-body label{margin:0!important}.pos-dialog-body label span{display:block;margin:0 0 6px;color:#334155;font-weight:1000}.pos-dialog-body label span b{color:#ef4444;margin-right:3px}.pos-dialog-body label.wide{grid-column:1/-1}.pos-dialog-body textarea.input{min-height:90px;resize:vertical}.pos-dialog-actions{justify-content:flex-end;margin-top:16px}.pos-confirm-box{width:min(520px,94vw)}.pos-picker-box{width:min(860px,96vw)}.pos-picker-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px;max-height:460px;overflow:auto}.pos-picker-item{appearance:none;border:1px solid #e2e8f0;background:#fff;border-radius:14px;padding:10px;display:grid;grid-template-columns:48px 1fr auto;gap:10px;align-items:center;text-align:left;cursor:pointer;font-family:inherit}.pos-picker-item:hover{border-color:#ffd400;background:#fffbeb}.pos-picker-item span{display:flex;align-items:center;justify-content:center;width:48px;height:42px;border:1px solid #eef2f7;border-radius:10px;background:#f8fafc;font-size:24px;overflow:hidden}.pos-picker-item span img{width:100%;height:100%;object-fit:cover}.pos-picker-item b{color:#111827}.pos-picker-item em{font-style:normal;color:#f97316;font-weight:1000}.pos-table-action.danger{color:#dc2626}.pos-package-basic{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px}.pos-package-basic label span{display:block;margin-bottom:6px;color:#334155;font-weight:1000}.pos-package-basic label span b{color:#ef4444;margin-right:3px}.pos-package-basic .pos-dish-radio-line{grid-column:1/-1}.pos-package-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.pos-package-top .pos-dish-radio-line{flex:1;margin:0}.pos-package-group{border:1px solid #eef2f7;border-radius:16px;background:#fff;margin:12px 0;padding:12px}.pos-package-group-head{display:grid;grid-template-columns:minmax(180px,1fr) 150px auto auto auto;gap:10px;align-items:center;margin-bottom:12px}.pos-package-group-head label{display:flex!important;align-items:center;gap:8px;margin:0!important;color:#334155;font-weight:1000}.pos-package-group-head .mini{width:70px}.pos-package-table .pos-table{min-width:1100px}.pos-package-table input[type=checkbox]{width:18px;height:18px}.pos-package-edit .pos-dish-section{margin-bottom:14px}.pos-dish-img{display:inline-flex;align-items:center;justify-content:center;width:42px;height:36px;border:1px solid #eef2f7;border-radius:10px;background:#fff;font-size:24px;overflow:hidden}.pos-dish-img img{width:100%;height:100%;object-fit:cover}.pos-display-img b{position:absolute;left:6px;top:6px;z-index:1;background:#f97316;color:#fff;border-radius:4px;padding:2px 5px;font-size:11px}.pos-display-img{position:relative}.toast.show{position:fixed;right:18px;bottom:18px;z-index:1200;background:#111827;color:#fff;border-radius:12px;padding:12px 16px;box-shadow:0 12px 30px rgba(15,23,42,.25);font-weight:900}
@media(max-width:900px){.pos-dialog-body,.pos-package-basic{grid-template-columns:1fr}.pos-picker-list{grid-template-columns:1fr}.pos-package-group-head{grid-template-columns:1fr}.pos-package-top{align-items:stretch}.pos-package-top .btn{width:100%}}

/* POS v12：自定义弹窗、套餐创建、菜品删除与图片实时预览 */
.pos-form-modal{width:min(680px,96vw);max-height:88vh;overflow:auto;background:#fff;border-radius:20px;box-shadow:0 24px 70px rgba(15,23,42,.28);border:1px solid #e2e8f0;padding:18px}
.pos-form-modal.wide{width:min(1180px,96vw)}
.pos-form-modal-body{padding:4px 0 8px}.pos-modal-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px}.pos-modal-form-grid .wide{grid-column:1/-1}.pos-modal-form-grid textarea.input{min-height:120px;resize:vertical}
.btn.danger{background:#ef4444!important;border-color:#ef4444!important;color:#fff!important}.btn.danger:hover{filter:brightness(.96)}
.pos-product-picker{max-height:520px;overflow:auto;border:1px solid #eef2f7;border-radius:14px;background:#f8fafc;padding:8px}.pos-picker-tip{padding:10px 12px;color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:12px;font-weight:900;margin-bottom:8px;line-height:1.6}.pos-picker-row{display:grid;grid-template-columns:28px minmax(190px,1fr) minmax(120px,180px) minmax(90px,120px);align-items:center;gap:10px;background:#fff;border-bottom:1px solid #eef2f7;padding:10px 12px;font-weight:900;color:#334155}.pos-picker-row:last-child{border-bottom:0}.pos-picker-row em{font-style:normal;color:#64748b}.pos-picker-row b{color:#111827}.pos-batch-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid #eef2f7}
.pos-package-edit .pos-dish-section{overflow:visible}.pos-package-basic-grid{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:14px 12px}.pos-package-basic-grid .wide{grid-column:span 2}.pos-package-basic-grid .pos-dish-radio-line{grid-column:span 2;align-self:end}.pos-package-help{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.pos-package-group{border:1px solid #eef2f7;border-radius:16px;background:#fff;margin:14px 0;overflow:hidden}.pos-package-group-head{display:grid;grid-template-columns:minmax(180px,260px) 150px minmax(180px,1fr) 90px 90px;align-items:center;gap:10px;background:#f8fafc;border-bottom:1px solid #eef2f7;padding:12px}.pos-package-group-head label{display:flex;align-items:center;gap:8px;color:#334155;font-weight:1000;white-space:nowrap}.pos-package-group .pos-table-wrap{border:0;border-radius:0;box-shadow:none;max-height:360px}.pos-package-group .input.mini{width:74px;text-align:center}.pos-package-group .pos-table th,.pos-package-group .pos-table td{white-space:nowrap;vertical-align:middle}.pos-dish-edit-head .btn{margin-left:8px}.pos-dish-img img{transition:opacity .15s ease}.pos-display-img{min-height:110px}.pos-display-img b{position:absolute;background:#f97316;color:#fff;border-radius:6px;padding:2px 6px;font-size:12px;margin:6px;z-index:1}.pos-display-img{position:relative;display:flex;align-items:center;justify-content:center;border:1px solid #e2e8f0;border-radius:14px;background:#fff;min-height:120px;font-size:30px}.pos-display-img img{max-width:180px;max-height:120px;object-fit:cover}.pos-form-modal .form-actions{justify-content:flex-end;margin-top:14px}.pos-modal-mask .pos-import-head{position:sticky;top:0;background:#fff;z-index:2}
@media(max-width:1000px){.pos-package-basic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pos-package-group-head{grid-template-columns:1fr 1fr}.pos-picker-row{grid-template-columns:26px 1fr}.pos-picker-row em,.pos-picker-row b{grid-column:2}}
@media(max-width:700px){.pos-modal-form-grid,.pos-package-basic-grid{grid-template-columns:1fr}.pos-package-basic-grid .wide,.pos-package-basic-grid .pos-dish-radio-line{grid-column:1}.pos-package-group-head{grid-template-columns:1fr}.pos-form-modal{padding:14px}}

/* POS v14：结账方式管理 */
.pos-payment-manage .pos-table td,.pos-payment-manage .pos-table th{vertical-align:middle;white-space:nowrap}
.pos-pay-rule{display:inline-flex;align-items:center;border-radius:999px;padding:4px 10px;font-weight:1000;border:1px solid #e2e8f0;background:#f8fafc;color:#334155}
.pos-pay-rule.income{background:#ecfdf5;border-color:#bbf7d0;color:#166534}
.pos-pay-rule.discount{background:#fff7ed;border-color:#fed7aa;color:#c2410c}
.pos-status-dot{display:inline-flex;align-items:center;gap:6px;font-weight:1000;color:#334155}
.pos-status-dot:before{content:'';width:7px;height:7px;border-radius:999px;background:#94a3b8;display:inline-block}
.pos-status-dot.on:before{background:#14b8a6}.pos-status-dot.off:before{background:#cbd5e1}
.pos-terminal-chip{display:inline-flex;align-items:center;border:1px solid #e2e8f0;background:#fff;border-radius:999px;padding:4px 9px;margin:2px 4px 2px 0;font-weight:900;color:#334155}
.pos-payment-form{grid-template-columns:repeat(2,minmax(0,1fr))}
.pos-check-grid{display:flex;flex-wrap:wrap;gap:8px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:8px 10px;min-height:42px;align-items:center}
.pos-check-grid label{display:flex!important;align-items:center;gap:6px;margin:0!important;font-weight:900;color:#334155}
.pos-check-grid input{width:16px;height:16px;accent-color:#ffd400}
.pos-payment-help{margin:12px 0 0;line-height:1.8;font-weight:800}
.pos-clickable-third{border:0;text-align:left;font-family:inherit;cursor:pointer}
.pos-clickable-third:hover{background:#fffbeb;color:#f97316}
@media(max-width:900px){.pos-payment-form{grid-template-columns:1fr}.pos-payment-manage .pos-table{min-width:860px}}

/* POS v307：票据样式设置，80mm 小票预览与右侧内容编辑面板 */
.pos-clickable-third{border:0;font:inherit;text-align:left;cursor:pointer}.pos-clickable-third:hover{background:#fff7ed;color:#c2410c}.pos-ticket-page{display:flex;flex-direction:column;gap:14px}.pos-ticket-head b{color:#c2410c}.pos-ticket-tabs-card{display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:20px}.pos-ticket-section-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.pos-ticket-section-tabs button{appearance:none;border:1px solid #e2e8f0;background:#fff;border-radius:18px;padding:13px 15px;text-align:left;cursor:pointer;box-shadow:0 6px 18px rgba(15,23,42,.04)}.pos-ticket-section-tabs button b{display:block;font-size:18px;color:#111827;margin-bottom:4px}.pos-ticket-section-tabs button small{display:block;color:#64748b;line-height:1.45;font-weight:800}.pos-ticket-section-tabs button.active{border-color:#f59e0b;background:linear-gradient(135deg,#fff7ed,#fff);box-shadow:0 10px 30px rgba(245,158,11,.13)}.pos-ticket-section-tabs button.active b{color:#b45309}.pos-ticket-ticket-tabs{display:flex;gap:8px;flex-wrap:wrap}.pos-ticket-ticket-tabs button{appearance:none;border:1px solid #e2e8f0;background:#fff;border-radius:999px;padding:9px 14px;color:#334155;font-weight:1000;cursor:pointer}.pos-ticket-ticket-tabs button.active{background:#ffd400;border-color:#f59e0b;color:#111827;box-shadow:0 8px 18px rgba(245,158,11,.2)}.pos-ticket-workbench{display:grid;grid-template-columns:minmax(300px,380px) minmax(380px,520px) minmax(420px,1fr);gap:14px;align-items:start}.pos-ticket-palette,.pos-ticket-preview-card,.pos-ticket-inspector{border-radius:20px;padding:18px}.pos-ticket-panel-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.pos-ticket-panel-title h3{margin:0;font-size:18px;color:#111827;font-weight:1000}.pos-ticket-panel-title span{color:#64748b;font-size:12px;font-weight:900}.pos-ticket-field-group{margin-bottom:16px}.pos-ticket-field-group h4{margin:0 0 9px;color:#64748b;font-size:14px;font-weight:1000}.pos-ticket-field-list{display:flex;gap:8px;flex-wrap:wrap}.pos-ticket-field{appearance:none;border:1px solid #e2e8f0;background:#fff;border-radius:8px;padding:8px 10px;font-weight:900;color:#475569;cursor:pointer}.pos-ticket-field.active{background:#fff7ed;border-color:#f59e0b;color:#c2410c}.pos-ticket-field:hover{border-color:#f59e0b;transform:translateY(-1px)}.pos-ticket-paper-wrap{display:flex;align-items:flex-start;justify-content:center;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:18px;max-height:74vh;overflow:auto;padding:18px}.pos-ticket-paper{box-sizing:border-box;background:#fff;color:#111827;min-height:520px;padding:9px 9px 14px;font-family:"Microsoft YaHei",Arial,sans-serif;font-size:12px;line-height:1.36;box-shadow:0 14px 34px rgba(15,23,42,.16);border:1px solid #d1d5db}.pos-ticket-line{box-sizing:border-box;min-height:18px;margin:1px 0;padding:2px 3px;border-radius:3px;white-space:pre-wrap;word-break:break-word;cursor:pointer;border:1px solid transparent}.pos-ticket-line:hover{background:#f8fafc;border-color:#e2e8f0}.pos-ticket-line.selected{background:#fef3c7!important;border-color:#f59e0b!important;box-shadow:inset 0 0 0 1px #f59e0b}.pos-ticket-line.size-normal{font-size:12px}.pos-ticket-line.size-medium{font-size:14px}.pos-ticket-line.size-large{font-size:18px}.pos-ticket-line.size-xlarge{font-size:22px}.pos-ticket-line.align-left{text-align:left}.pos-ticket-line.align-center{text-align:center}.pos-ticket-line.align-right{text-align:right}.pos-ticket-line.is-bold{font-weight:1000}.pos-ticket-line.is-red{color:#dc2626}.pos-ticket-line.is-invert{background:#111827;color:#fff}.pos-ticket-line.has-divider{border-top:1px dashed #64748b;padding-top:5px;margin-top:5px}.pos-ticket-blank{height:10px}.pos-ticket-qr{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}.pos-ticket-qr span{width:58px;height:58px;display:block;border:2px solid #111827;background:linear-gradient(90deg,#111827 12px,transparent 12px 18px,#111827 18px 24px,transparent 24px),linear-gradient(#111827 10px,transparent 10px 17px,#111827 17px 23px,transparent 23px);opacity:.75}.pos-ticket-qr em{font-style:normal;font-size:11px;color:inherit;font-weight:900}.pos-ticket-inspector-head{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #eef2f7;padding-bottom:14px;margin-bottom:6px}.pos-ticket-inspector-head h3{margin:0;font-size:18px;color:#111827;font-weight:1000}.pos-ticket-delete-top{appearance:none;border:0;background:transparent;color:#f97316;font-weight:1000;cursor:pointer}.pos-ticket-current-line{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;border-bottom:1px solid #eef2f7;color:#64748b}.pos-ticket-current-line b{color:#111827}.pos-ticket-style-row{display:grid;grid-template-columns:100px 1fr;align-items:center;gap:12px;min-height:64px;border-bottom:1px solid #eef2f7}.pos-ticket-style-row>span{color:#64748b;font-weight:900}.pos-ticket-seg{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.pos-ticket-seg button{appearance:none;border:1px solid #e2e8f0;background:#fff;border-radius:8px;padding:7px 12px;color:#64748b;font-weight:900;cursor:pointer}.pos-ticket-seg button.active{border-color:#f59e0b;background:#fff7ed;color:#92400e}.pos-ticket-switch{display:flex!important;justify-content:flex-end;margin:0!important}.pos-ticket-switch input{display:none}.pos-ticket-switch i{position:relative;display:inline-block;width:42px;height:24px;border-radius:999px;background:#e5e7eb;transition:.15s;cursor:pointer}.pos-ticket-switch i:before{content:"";position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(15,23,42,.25);transition:.15s}.pos-ticket-switch input:checked+i{background:#ffd400}.pos-ticket-switch input:checked+i:before{transform:translateX(18px)}.pos-ticket-stepper{display:flex;align-items:center;justify-content:flex-end;gap:12px}.pos-ticket-stepper button{appearance:none;width:28px;height:28px;border-radius:50%;border:1px solid #f59e0b;background:#fff7ed;color:#f97316;font-size:18px;font-weight:1000;cursor:pointer}.pos-ticket-stepper b{min-width:18px;text-align:center;color:#111827}.pos-ticket-remove{justify-self:end;appearance:none;border:0;background:transparent;color:#f97316;font-weight:1000;cursor:pointer}.pos-ticket-remove:hover,.pos-ticket-delete-top:hover{text-decoration:underline}.pos-ticket-inspector .muted{line-height:1.7}
@media(max-width:1400px){.pos-ticket-workbench{grid-template-columns:1fr}.pos-ticket-paper-wrap{max-height:70vh}.pos-ticket-section-tabs{grid-template-columns:1fr}.pos-ticket-style-row{grid-template-columns:90px 1fr}}


/* POS v308 票据样式设置：真正三栏可操作编辑器 */

  .pos-ticket-page-v308{display:flex!important;flex-direction:column!important;gap:16px!important;padding-bottom:30px!important;color:#0f172a!important}.pos-ticket-page-v308 *{box-sizing:border-box}.pos-ticket-head-v308{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;padding:18px 22px!important;background:linear-gradient(135deg,#fff7ed,#fff)!important;border:1px solid #fed7aa!important;border-radius:22px!important;box-shadow:0 12px 28px rgba(15,23,42,.06)!important}.pos-ticket-head-v308 h2{margin:0!important;font-size:28px!important;color:#991b1b!important;font-weight:1000!important}.pos-ticket-head-v308 p{margin:6px 0 0!important;color:#64748b!important;font-weight:800!important}.pos-ticket-actions-v308{display:flex!important;gap:10px!important;flex-wrap:wrap!important}.pos-ticket-actions-v308 button,.pos-ticket-actions-v308 a{border:0!important;border-radius:14px!important;padding:12px 18px!important;font-size:15px!important;font-weight:1000!important;cursor:pointer!important;text-decoration:none!important}.pos-ticket-save-v308{background:#ffd400!important;color:#111827!important;box-shadow:0 10px 22px rgba(245,158,11,.22)!important}.pos-ticket-ghost-v308{background:#fff!important;color:#334155!important;border:1px solid #e2e8f0!important}.pos-ticket-tabs-v308{padding:16px!important;border-radius:22px!important;background:#fff!important;border:1px solid #e2e8f0!important;box-shadow:0 10px 28px rgba(15,23,42,.05)!important}.pos-ticket-section-tabs-v308{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important;margin-bottom:12px!important}.pos-ticket-section-tabs-v308 button{appearance:none!important;background:#f8fafc!important;border:1px solid #e2e8f0!important;border-radius:18px!important;padding:15px 16px!important;text-align:left!important;cursor:pointer!important}.pos-ticket-section-tabs-v308 button b{display:block!important;font-size:18px!important;color:#111827!important;margin-bottom:4px!important}.pos-ticket-section-tabs-v308 button small{display:block!important;color:#64748b!important;font-weight:800!important;line-height:1.45!important}.pos-ticket-section-tabs-v308 button.active{background:linear-gradient(135deg,#fff7ed,#fff)!important;border-color:#f59e0b!important;box-shadow:0 10px 22px rgba(245,158,11,.12)!important}.pos-ticket-type-tabs-v308{display:flex!important;gap:10px!important;flex-wrap:wrap!important}.pos-ticket-type-tabs-v308 button{appearance:none!important;border:1px solid #d1d5db!important;background:#fff!important;border-radius:999px!important;padding:10px 16px!important;font-size:15px!important;font-weight:1000!important;color:#334155!important;cursor:pointer!important}.pos-ticket-type-tabs-v308 button.active{background:#ffd400!important;border-color:#f59e0b!important;color:#111827!important}.pos-ticket-workbench-v308{display:grid!important;grid-template-columns:minmax(310px,410px) minmax(370px,520px) minmax(410px,1fr)!important;gap:16px!important;align-items:start!important}.pos-ticket-card-v308{background:#fff!important;border:1px solid #e2e8f0!important;border-radius:22px!important;padding:18px!important;box-shadow:0 12px 28px rgba(15,23,42,.05)!important}.pos-ticket-panel-title-v308{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:12px!important;margin-bottom:14px!important}.pos-ticket-panel-title-v308 h3{margin:0!important;font-size:20px!important;color:#111827!important;font-weight:1000!important}.pos-ticket-panel-title-v308 span{font-size:12px!important;color:#64748b!important;font-weight:900!important;line-height:1.5!important}.pos-ticket-field-group-v308{margin-bottom:18px!important}.pos-ticket-field-group-v308 h4{margin:0 0 9px!important;color:#475569!important;font-size:15px!important;font-weight:1000!important}.pos-ticket-field-list-v308{display:flex!important;flex-wrap:wrap!important;gap:9px!important}.pos-ticket-field-list-v308 button{appearance:none!important;border:1px solid #dbe3ef!important;background:#fff!important;border-radius:10px!important;padding:9px 11px!important;color:#334155!important;font-size:14px!important;font-weight:900!important;cursor:pointer!important}.pos-ticket-field-list-v308 button.active{background:#fff7ed!important;border-color:#f59e0b!important;color:#c2410c!important;box-shadow:0 6px 15px rgba(245,158,11,.12)!important}.pos-ticket-field-list-v308 button:hover{border-color:#f59e0b!important}.pos-ticket-paper-shell-v308{display:flex!important;justify-content:center!important;background:#eef2f7!important;border:1px solid #e2e8f0!important;border-radius:18px!important;padding:20px!important;max-height:72vh!important;overflow:auto!important}.pos-ticket-paper-v308{width:80mm!important;max-width:80mm!important;min-height:520px!important;background:#fff!important;color:#111827!important;padding:4mm!important;font-family:Arial,'Microsoft YaHei',sans-serif!important;font-size:12px!important;line-height:1.35!important;box-shadow:0 16px 38px rgba(15,23,42,.18)!important;border:1px solid #d1d5db!important}.pos-ticket-line-v308{position:relative!important;min-height:20px!important;margin:2px 0!important;padding:3px 4px!important;border:1px solid transparent!important;border-radius:5px!important;white-space:pre-wrap!important;word-break:break-word!important;cursor:pointer!important}.pos-ticket-line-v308:hover{background:#f8fafc!important;border-color:#cbd5e1!important}.pos-ticket-line-v308.selected{background:#fef3c7!important;border-color:#f59e0b!important;box-shadow:inset 0 0 0 1px #f59e0b!important}.pos-ticket-line-v308.dragging{opacity:.45!important}.pos-ticket-line-v308.size-normal{font-size:12px!important}.pos-ticket-line-v308.size-medium{font-size:14px!important}.pos-ticket-line-v308.size-large{font-size:18px!important}.pos-ticket-line-v308.size-xlarge{font-size:22px!important}.pos-ticket-line-v308.align-left{text-align:left!important}.pos-ticket-line-v308.align-center{text-align:center!important}.pos-ticket-line-v308.align-right{text-align:right!important}.pos-ticket-line-v308.is-bold{font-weight:1000!important}.pos-ticket-line-v308.is-red{color:#dc2626!important}.pos-ticket-line-v308.is-invert{background:#111827!important;color:#fff!important}.pos-ticket-line-v308.has-divider{border-top:1px dashed #64748b!important;margin-top:7px!important;padding-top:7px!important}.pos-ticket-blank-v308{height:11px!important}.pos-ticket-qr-v308{display:flex!important;flex-direction:column!important;align-items:center!important;gap:6px!important}.pos-ticket-qr-v308 i{display:block!important;width:62px!important;height:62px!important;border:2px solid currentColor!important;background:repeating-linear-gradient(90deg,currentColor 0 5px,transparent 5px 10px),repeating-linear-gradient(0deg,transparent 0 6px,currentColor 6px 9px)!important;opacity:.72!important}.pos-ticket-qr-v308 em{font-style:normal!important;font-size:11px!important;font-weight:900!important}.pos-ticket-inspector-v308{padding:0!important;overflow:hidden!important}.pos-ticket-inspector-head-v308{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:18px!important;border-bottom:1px solid #edf2f7!important;background:#fff!important}.pos-ticket-inspector-head-v308 h3{margin:0!important;font-size:20px!important;font-weight:1000!important;color:#111827!important}.pos-ticket-del-v308{appearance:none!important;border:0!important;background:transparent!important;color:#f97316!important;font-weight:1000!important;cursor:pointer!important}.pos-ticket-current-v308{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;min-height:58px!important;padding:0 18px!important;border-bottom:1px solid #edf2f7!important}.pos-ticket-current-v308 span{color:#64748b!important;font-weight:900!important}.pos-ticket-current-v308 b{color:#111827!important}.pos-ticket-style-row-v308{display:grid!important;grid-template-columns:110px 1fr!important;gap:12px!important;align-items:center!important;min-height:62px!important;padding:0 18px!important;border-bottom:1px solid #edf2f7!important}.pos-ticket-style-row-v308>span{color:#64748b!important;font-weight:900!important}.pos-ticket-seg-v308{display:flex!important;justify-content:flex-end!important;flex-wrap:wrap!important;gap:8px!important}.pos-ticket-seg-v308 button{appearance:none!important;border:1px solid #e2e8f0!important;background:#fff!important;border-radius:9px!important;padding:8px 12px!important;color:#64748b!important;font-weight:900!important;cursor:pointer!important}.pos-ticket-seg-v308 button.active{background:#fff7ed!important;border-color:#f59e0b!important;color:#92400e!important}.pos-ticket-switch-v308{display:flex!important;justify-content:flex-end!important;margin:0!important}.pos-ticket-switch-v308 input{display:none!important}.pos-ticket-switch-v308 i{position:relative!important;display:inline-block!important;width:44px!important;height:24px!important;border-radius:999px!important;background:#e5e7eb!important;cursor:pointer!important;transition:.15s!important}.pos-ticket-switch-v308 i:before{content:''!important;position:absolute!important;left:3px!important;top:3px!important;width:18px!important;height:18px!important;border-radius:999px!important;background:#fff!important;box-shadow:0 1px 4px rgba(15,23,42,.25)!important;transition:.15s!important}.pos-ticket-switch-v308 input:checked+i{background:#ffd400!important}.pos-ticket-switch-v308 input:checked+i:before{transform:translateX(20px)!important}.pos-ticket-stepper-v308{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:12px!important}.pos-ticket-stepper-v308 button{appearance:none!important;width:30px!important;height:30px!important;border-radius:999px!important;border:1px solid #f59e0b!important;background:#fff7ed!important;color:#f97316!important;font-size:18px!important;font-weight:1000!important;cursor:pointer!important}.pos-ticket-stepper-v308 b{min-width:20px!important;text-align:center!important}.pos-ticket-textarea-v308{width:100%!important;min-height:74px!important;border:1px solid #dbe3ef!important;border-radius:12px!important;padding:10px!important;font-size:14px!important;font-weight:800!important;color:#111827!important;background:#fff!important;resize:vertical!important}.pos-ticket-help-v308{margin:12px 0 0!important;color:#64748b!important;font-size:13px!important;font-weight:800!important;line-height:1.65!important}.pos-ticket-small-note-v308{display:block!important;margin-top:8px!important;color:#16a34a!important;font-weight:1000!important}@media(max-width:1450px){.pos-ticket-workbench-v308{grid-template-columns:1fr!important}.pos-ticket-section-tabs-v308{grid-template-columns:1fr!important}.pos-ticket-paper-shell-v308{max-height:70vh!important}.pos-ticket-head-v308{align-items:flex-start!important;flex-direction:column!important}.pos-ticket-style-row-v308{grid-template-columns:92px 1fr!important}}
  

/* POS v310：出品档口、KDS账号唯一、收银打印、标签打印 */
.pos-clickable-third{appearance:none;border:0;border-right:1px solid #eef2f7;text-align:left;cursor:pointer}.pos-clickable-third:hover{background:#fff7ed;color:#991b1b}.pos-v310-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;background:linear-gradient(135deg,#fff7ed,#fff);border:1px solid #fed7aa;border-radius:22px;padding:18px 20px;margin-bottom:14px}.pos-v310-head h2,.pos-prod-head h2{margin:4px 0 6px;color:#7f1d1d;font-size:25px;font-weight:1000}.pos-v310-head p,.pos-prod-head p{margin:0;line-height:1.7}.pos-prod-layout{display:grid;grid-template-columns:minmax(280px,410px) minmax(0,1fr);gap:16px;align-items:start}.pos-prod-list,.pos-prod-form,.pos-dev-form{border-radius:22px}.pos-prod-list-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.pos-prod-list-head h3,.pos-prod-form h3,.pos-dev-form h3{margin:0;color:#111827;font-size:20px;font-weight:1000}.pos-prod-list-head span{background:#fef3c7;color:#92400e;border-radius:999px;padding:5px 10px;font-weight:1000}.pos-prod-cards{display:grid;grid-template-columns:1fr;gap:10px}.pos-prod-outlet-card{appearance:none;text-align:left;border:1px solid #e2e8f0;background:#fff;border-radius:18px;padding:15px;display:flex;flex-direction:column;gap:8px;cursor:pointer;box-shadow:0 8px 22px rgba(15,23,42,.04)}.pos-prod-outlet-card:hover,.pos-prod-outlet-card.active{border-color:#f59e0b;background:#fffbeb}.pos-prod-outlet-card.add{align-items:center;justify-content:center;min-height:92px;color:#92400e;font-weight:1000;border-style:dashed}.pos-prod-card-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.pos-prod-card-title b{font-size:18px;color:#111827}.pos-prod-card-title em{font-style:normal;background:#dcfce7;color:#166534;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:1000}.pos-prod-card-title em.off{background:#fee2e2;color:#991b1b}.pos-prod-outlet-card p{margin:0;color:#334155}.pos-prod-outlet-card small{display:block;color:#64748b;line-height:1.5}.pos-prod-tags{display:flex;gap:6px;flex-wrap:wrap}.pos-prod-tags span{background:#eef2ff;color:#3730a3;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:1000}.pos-prod-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}.pos-prod-form-grid label{margin:0}.pos-prod-note{margin:12px 0;padding:12px 14px;background:#fffbeb;border:1px solid #fde68a;color:#92400e;border-radius:14px;line-height:1.7;font-weight:900}.pos-prod-warning{margin:12px 0;padding:12px 14px;background:#fee2e2;border:1px solid #fecaca;color:#991b1b;border-radius:14px;line-height:1.7;font-weight:1000}.pos-prod-select-tools{display:flex;gap:8px;align-items:center;margin:8px 0 10px}.pos-prod-select-tools .input{max-width:360px}.pos-prod-product-list{max-height:520px;overflow:auto;border:1px solid #e2e8f0;border-radius:16px;background:#f8fafc;padding:8px;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px}.pos-prod-product-row{display:grid!important;grid-template-columns:26px 1fr;gap:8px;align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:10px!important;margin:0!important;cursor:pointer}.pos-prod-product-row:hover{border-color:#f59e0b;background:#fff7ed}.pos-prod-product-row input{width:18px;height:18px}.pos-prod-product-row b{display:block;color:#111827;font-size:14px}.pos-prod-product-row small{display:block;color:#64748b;margin-top:4px;font-size:12px}.pos-prod-form-actions{margin-top:12px}.pos-dev-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.pos-dev-tabs button{appearance:none;border:1px solid #e2e8f0;background:#fff;border-radius:999px;padding:12px 20px;font-weight:1000;cursor:pointer;color:#334155}.pos-dev-tabs button.active{background:#ffd400;border-color:#f59e0b;color:#111827}.pos-dev-layout{display:grid;grid-template-columns:minmax(300px,420px) minmax(0,1fr);gap:16px;align-items:start}.pos-prod-outlet-checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;border:1px solid #e2e8f0;background:#f8fafc;border-radius:14px;padding:10px}.pos-prod-outlet-checks label{display:flex!important;align-items:center;gap:8px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:10px!important;margin:0!important;cursor:pointer}.pos-prod-outlet-checks input{width:18px;height:18px}.pos-dev-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}.pos-dev-card{position:relative;border:1px solid #e2e8f0;border-radius:18px;padding:15px;background:#fff;box-shadow:0 8px 20px rgba(15,23,42,.04)}.pos-dev-card.warn{border-color:#ef4444;background:#fff7f7}.pos-dev-card b{display:block;font-size:18px;color:#111827;margin-bottom:8px}.pos-dev-card p{margin:5px 0;color:#475569;font-weight:800;line-height:1.5}.pos-badge-danger{position:absolute;right:12px;top:12px;font-style:normal;background:#ef4444;color:#fff;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:1000}.pos-printer-found{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.pos-printer-found button{appearance:none;border:1px solid #fed7aa;background:#fff7ed;color:#92400e;border-radius:999px;padding:8px 12px;font-weight:1000;cursor:pointer}.pos-kds-url-box{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border-radius:18px;margin-bottom:12px}.pos-kds-url-box code{background:#0f172a;color:#fff;border-radius:10px;padding:8px 10px;font-weight:1000}.pos-kds-url-box span{color:#64748b;font-weight:900}.pos-print-config-layout{display:grid;grid-template-columns:minmax(300px,420px) minmax(320px,430px) minmax(0,1fr);gap:16px;align-items:start}.pos-ticket-checks-v310{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}.pos-ticket-checks-v310 label{display:flex!important;align-items:center;gap:8px;margin:0!important;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:12px!important;cursor:pointer}.pos-ticket-checks-v310 input{width:18px;height:18px}.pos-ticket-checks-v310 span{font-weight:1000;color:#334155}
@media(max-width:1200px){.pos-prod-layout,.pos-dev-layout,.pos-print-config-layout{grid-template-columns:1fr}.pos-prod-form-grid{grid-template-columns:1fr}.pos-prod-select-tools{flex-direction:column;align-items:stretch}.pos-prod-select-tools .input{max-width:none}.pos-ticket-checks-v310{grid-template-columns:1fr}}

/* v310 出品档口、KDS账号唯一、收银打印、标签打印 */
.pos-v310-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-radius:22px;padding:18px 20px;background:linear-gradient(135deg,#fff7ed,#fff);border:1px solid #fed7aa;margin-bottom:14px}.pos-v310-head h2{margin:4px 0;color:#7f1d1d;font-size:26px;font-weight:1000}.pos-v310-head p{margin:0;color:#64748b;line-height:1.7;font-weight:800}.pos-v310-layout{display:grid;grid-template-columns:minmax(320px,430px) minmax(420px,1fr);gap:16px;align-items:start}.pos-v310-list,.pos-v310-editor,.pos-v310-device-form{border-radius:22px;padding:18px}.pos-v310-section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.pos-v310-section-title h3,.pos-v310-editor h3,.pos-v310-device-form h3{margin:0;color:#111827;font-size:20px;font-weight:1000}.pos-v310-section-title span{color:#64748b;font-weight:900}.pos-v310-card-grid{display:grid;gap:12px}.pos-v310-card{appearance:none;text-align:left;border:1px solid #e2e8f0;background:#fff;border-radius:18px;padding:15px;cursor:pointer;display:flex;flex-direction:column;gap:8px;box-shadow:0 10px 24px rgba(15,23,42,.04);transition:.15s}.pos-v310-card:hover,.pos-v310-card.active{border-color:#f59e0b;background:#fff7ed;box-shadow:0 14px 30px rgba(245,158,11,.14)}.pos-v310-card.add{min-height:88px;align-items:center;justify-content:center;border-style:dashed;color:#92400e;font-size:18px;font-weight:1000}.pos-v310-card b{font-size:19px;color:#111827}.pos-v310-card span,.pos-v310-card p{margin:0;color:#64748b;font-weight:850;line-height:1.55}.pos-v310-note{margin:12px 0 0;padding:11px 13px;background:#fff7ed;border:1px solid #fed7aa;border-radius:14px;color:#7c2d12;font-weight:900;line-height:1.7}.pos-v310-editor label,.pos-v310-device-form label{display:block;margin:12px 0 6px;color:#334155;font-weight:1000}.pos-v310-editor textarea.input{min-height:72px;resize:vertical}.pos-v310-switches{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.pos-v310-switches label,.pos-v310-device-form .checkline{display:flex!important;align-items:center;gap:8px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:10px 12px!important;margin:0!important;cursor:pointer}.pos-v310-switches input,.pos-v310-device-form .checkline input{width:18px;height:18px;accent-color:#f59e0b}.pos-v310-product-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.pos-v310-product-toolbar .input{max-width:360px}.pos-v310-product-list{max-height:520px;overflow:auto;border:1px solid #e2e8f0;border-radius:16px;background:#f8fafc;padding:10px;display:grid;gap:12px}.pos-v310-product-group h4{margin:0 0 8px;color:#334155;font-weight:1000}.pos-v310-product-group small{color:#64748b}.pos-v310-product-item{display:flex!important;align-items:center;gap:10px;border:1px solid #e2e8f0;background:#fff;border-radius:12px;padding:10px!important;margin:0 0 8px!important;cursor:pointer}.pos-v310-product-item input{width:19px;height:19px;accent-color:#f59e0b}.pos-v310-product-item span{flex:1;color:#111827;font-weight:900;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pos-v310-product-item em{font-style:normal;color:#64748b;font-weight:900}.pos-v310-device-tabs{display:flex;gap:10px;margin:14px 0}.pos-v310-device-tabs button{appearance:none;border:1px solid #e2e8f0;background:#fff;border-radius:999px;padding:12px 18px;color:#334155;font-size:16px;font-weight:1000;cursor:pointer}.pos-v310-device-tabs button.active{background:#ffd400;border-color:#f59e0b;color:#111827;box-shadow:0 10px 22px rgba(245,158,11,.16)}.pos-v310-device-layout{display:grid;grid-template-columns:minmax(330px,460px) 1fr;gap:16px;align-items:start}.pos-v310-url{display:flex;gap:8px;align-items:center}.pos-v310-url .input{font-weight:1000;color:#111827}.pos-v310-check-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;border:1px solid #e2e8f0;background:#f8fafc;border-radius:16px;padding:10px}.pos-v310-check-grid label{display:flex!important;align-items:center;gap:8px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:10px!important;margin:0!important;cursor:pointer}.pos-v310-check-grid input{width:18px;height:18px;accent-color:#f59e0b}.pos-v310-check-grid span{color:#334155;font-weight:900}.pos-v310-device-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.pos-v310-device-card{background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:15px;box-shadow:0 10px 24px rgba(15,23,42,.04)}.pos-v310-device-card b{display:block;color:#111827;font-size:18px;margin-bottom:8px}.pos-v310-device-card p{margin:6px 0;color:#64748b;font-weight:850;line-height:1.55}.pos-v310-found{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.pos-v310-found button{appearance:none;border:1px solid #f59e0b;background:#fff7ed;color:#92400e;border-radius:999px;padding:8px 12px;font-weight:1000;cursor:pointer}.pos-v310-layout>section.card{border-radius:22px;padding:18px}.pos-v310-layout>section.card h3{margin-top:0;color:#111827;font-weight:1000}.pos-v310-layout .form-actions{margin-top:14px}.pos-clickable-third{cursor:pointer!important}.pos-clickable-third:hover{background:#fff7ed!important;color:#9a3412!important;border-color:#f59e0b!important}
@media(max-width:1250px){.pos-v310-layout,.pos-v310-device-layout{grid-template-columns:1fr}.pos-v310-head{flex-direction:column}.pos-v310-url{flex-wrap:wrap}.pos-v310-url .input{min-width:280px}}
@media(max-width:720px){.pos-v310-check-grid{grid-template-columns:1fr}.pos-v310-device-grid{grid-template-columns:1fr}.pos-v310-product-toolbar{flex-direction:column}.pos-v310-product-toolbar .input{max-width:none}}

/* v310 出品档口 / KDS / 收银打印 / 标签打印 */
.pos-v310-head{border:1px solid #fed7aa!important;background:linear-gradient(135deg,#fff7ed,#fff)!important}
.pos-kds-url{display:grid!important;grid-template-columns:auto minmax(260px,520px) auto 1fr!important;gap:10px!important;align-items:center!important;margin:12px 0!important}
.pos-kds-url b{font-weight:1000;color:#111827!important}.pos-kds-url span{color:#64748b;font-weight:800}.pos-kds-url input{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:900;background:#fff!important}
.pos-warn-box{margin:0 0 12px;padding:10px 12px;border:1px solid #fecaca;border-radius:14px;background:#fee2e2;color:#991b1b;font-weight:1000;line-height:1.55}.pos-dev-card.warn{border-color:#ef4444!important;background:#fff1f2!important}
.pos-print-routing{display:grid;grid-template-columns:minmax(320px,420px) minmax(340px,430px) minmax(420px,1fr);gap:14px;align-items:start;margin-top:14px}.pos-print-routing h3{margin:0 0 12px;font-size:20px;color:#111827;font-weight:1000}
.pos-ticket-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:8px 0 14px}.pos-ticket-choice-grid label{display:flex!important;align-items:center;gap:9px;margin:0!important;padding:11px 12px;border:1px solid #e2e8f0;border-radius:14px;background:#fff;font-weight:1000;color:#334155;cursor:pointer}.pos-ticket-choice-grid input{width:18px;height:18px;accent-color:#ffd400}.pos-ticket-enabled-grid label{background:#f8fafc}.pos-ticket-enabled-grid label:has(input:checked){background:#fff7cc;border-color:#f59e0b;color:#111827}.pos-printer-found{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.pos-printer-found button{border:1px solid #fed7aa;background:#fff7ed;color:#9a3412;border-radius:999px;padding:7px 11px;font-weight:1000;cursor:pointer}
.pos-prod-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.pos-prod-head h2{margin:4px 0;color:#7f1d1d;font-size:26px;font-weight:1000}.pos-prod-head p{margin:0;line-height:1.65}.pos-prod-layout{display:grid;grid-template-columns:minmax(300px,390px) minmax(0,1fr);gap:14px;margin-top:14px}.pos-prod-list-head{display:flex;align-items:center;justify-content:space-between}.pos-prod-list-head h3{margin:0;font-size:20px;font-weight:1000}.pos-prod-cards{display:grid;gap:10px;margin-top:12px}.pos-prod-outlet-card{appearance:none;border:1px solid #e2e8f0;background:#fff;border-radius:18px;padding:14px;text-align:left;cursor:pointer;box-shadow:0 8px 22px rgba(15,23,42,.04)}.pos-prod-outlet-card.active{border-color:#f59e0b;background:#fff7ed}.pos-prod-outlet-card.add{border-style:dashed;text-align:center;font-weight:1000;color:#9a3412}.pos-prod-card-title{display:flex;justify-content:space-between;gap:8px}.pos-prod-card-title b{font-size:18px;color:#111827}.pos-prod-card-title em{font-style:normal;border-radius:999px;padding:3px 8px;background:#dcfce7;color:#166534;font-size:12px;font-weight:1000}.pos-prod-card-title em.off{background:#fee2e2;color:#991b1b}.pos-prod-outlet-card p{margin:8px 0;color:#334155;font-weight:900}.pos-prod-tags{display:flex;gap:6px;flex-wrap:wrap;margin:7px 0}.pos-prod-tags span{border-radius:999px;background:#eef2ff;color:#3730a3;padding:3px 8px;font-size:12px;font-weight:1000}.pos-prod-outlet-card small{display:block;color:#64748b;font-weight:800;margin-top:4px}.pos-prod-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pos-prod-form h4{margin:16px 0 10px;color:#111827;font-weight:1000}.pos-prod-note{margin:12px 0;padding:10px 12px;border:1px dashed #fed7aa;border-radius:14px;background:#fff7ed;color:#7c2d12;font-weight:900;line-height:1.65}.pos-prod-select-tools{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.pos-prod-select-tools .input{min-width:240px;max-width:360px}.pos-prod-product-list{max-height:520px;overflow:auto;border:1px solid #e2e8f0;border-radius:16px;background:#f8fafc;padding:8px}.pos-prod-product-row{display:grid!important;grid-template-columns:28px 1fr;gap:10px;align-items:center;margin:0 0 8px!important;padding:10px!important;background:#fff;border:1px solid #eef2f7;border-radius:12px}.pos-prod-product-row b{display:block;color:#111827}.pos-prod-product-row small{display:block;color:#64748b;margin-top:3px}.pos-prod-outlet-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border:1px solid #e2e8f0;border-radius:14px;padding:10px;background:#f8fafc}.pos-prod-outlet-checks label{display:flex!important;align-items:center;gap:8px;margin:0!important;padding:9px;border-radius:10px;background:#fff;font-weight:1000}.pos-dev-tabs{display:flex;gap:10px;margin:14px 0}.pos-dev-tabs button{appearance:none;border:1px solid #e2e8f0;background:#fff;color:#334155;border-radius:999px;padding:12px 18px;font-size:16px;font-weight:1000;cursor:pointer}.pos-dev-tabs button.active{background:#ffd400;border-color:#f59e0b;color:#111827}.pos-dev-layout{display:grid;grid-template-columns:minmax(320px,430px) minmax(0,1fr);gap:14px;align-items:start}.pos-dev-form label{display:block;font-weight:1000;color:#334155;margin:10px 0 6px}.pos-dev-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.pos-dev-card{border:1px solid #e2e8f0;border-radius:18px;background:#fff;padding:14px;box-shadow:0 8px 22px rgba(15,23,42,.04)}.pos-dev-card b{font-size:18px;color:#111827}.pos-dev-card p{margin:7px 0;color:#64748b;font-weight:900;line-height:1.45}.pos-dev-card .form-actions{margin-top:12px}
@media(max-width:1280px){.pos-print-routing,.pos-prod-layout,.pos-dev-layout{grid-template-columns:1fr}.pos-kds-url{grid-template-columns:1fr}.pos-prod-form-grid,.pos-ticket-choice-grid,.pos-prod-outlet-checks{grid-template-columns:1fr}}

/* v313 做法库图片：只增强菜品属性/做法管理和编辑菜品做法图片同步 */
.pos-v313-method-cell{display:flex;align-items:center;gap:8px;min-width:122px}.pos-v313-method-preview{width:56px;height:56px;border:1px solid #e2e8f0;border-radius:12px;background:#fff;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;color:#94a3b8;font-weight:1000}.pos-v313-method-preview.small{width:44px;height:44px;border-radius:10px}.pos-v313-method-preview img{width:100%;height:100%;object-fit:cover;display:block}.pos-v313-img-placeholder{font-size:20px;color:#cbd5e1}.pos-v313-upload-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pos-v313-method-modal .pos-form-modal-body{padding-top:8px}.pos-v313-method-modal .pos-modal-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pos-v313-sync-btn{margin-left:10px!important;background:#fff7ed!important;border:1px solid #f59e0b!important;color:#9a3412!important;border-radius:999px!important;padding:8px 12px!important;font-weight:1000!important}.pos-v313-sync-tip{display:inline-flex;align-items:center;margin-left:8px;color:#64748b;font-size:12px;font-weight:900}.pos-attr-method-main .pos-table th[data-v313-head]{min-width:120px}.pos-attr-method-main .pos-table td[data-v313-cell]{min-width:126px}@media(max-width:900px){.pos-v313-method-modal .pos-modal-form-grid{grid-template-columns:1fr}.pos-v313-sync-tip{display:block;margin:8px 0 0}}

/* v383 promotion activity cards */
.pos-promo-page{display:flex;flex-direction:column;gap:16px}
.pos-promo-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-radius:22px;padding:18px 20px;background:linear-gradient(135deg,#fff7ed,#fff);border:1px solid #fed7aa}
.pos-promo-head h2{margin:4px 0 6px;color:#7f1d1d;font-size:26px;font-weight:1000}
.pos-promo-head p{margin:0;line-height:1.7;font-weight:800;max-width:920px}
.pos-promo-section{display:flex;flex-direction:column;gap:10px}
.pos-promo-section-title{display:flex;align-items:center;gap:8px;margin:0;color:#111827;font-size:18px;font-weight:1000}
.pos-promo-section-title::before{content:"";width:5px;height:20px;border-radius:999px;background:#ffd400;box-shadow:0 0 0 3px rgba(255,212,0,.18)}
.pos-promo-grid{display:grid;grid-template-columns:repeat(3,minmax(260px,1fr));gap:14px}
.pos-promo-card{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:154px;overflow:hidden;border:1px solid #e2e8f0;border-radius:10px;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.05)}
.pos-promo-card:hover{border-color:#f59e0b;box-shadow:0 16px 36px rgba(245,158,11,.13)}
.pos-promo-card::before{content:"手勇 00001";position:absolute;inset:auto 18px 22px auto;color:#e5e7eb;font-size:12px;font-weight:900;transform:rotate(-12deg);pointer-events:none}
.pos-promo-main{display:flex;gap:18px;align-items:flex-start;padding:26px 30px 24px}
.pos-promo-icon{flex:0 0 42px;width:42px;height:42px;border-radius:999px;display:grid;place-items:center;color:#fff;font-size:18px;font-weight:1000;box-shadow:0 10px 20px rgba(15,23,42,.12)}
.pos-promo-icon.cyan{background:#53c6c8}.pos-promo-icon.coral{background:#ff7d62}.pos-promo-icon.orange{background:#ff7d62}.pos-promo-icon.blue{background:#7da3f4}
.pos-promo-copy h3{margin:0 0 8px;color:#111827;font-size:18px;font-weight:1000}
.pos-promo-copy p{margin:0 0 5px;color:#64748b;font-weight:900;line-height:1.5}
.pos-promo-copy em{display:block;font-style:normal;color:#94a3b8;font-weight:850;line-height:1.45}
.pos-promo-new{position:absolute;right:0;top:0;background:#ff5b16;color:#fff;border-radius:0 0 0 4px;padding:4px 10px;font-size:12px;font-weight:1000;letter-spacing:.02em}
.pos-promo-create{appearance:none;border:0;border-top:1px solid #edf2f7;background:#fafafa;color:#64748b;min-height:42px;font-size:14px;font-weight:900;cursor:pointer;font-family:inherit}
.pos-promo-create:hover{background:#fff7ed;color:#9a3412}
.pos-marketing-grid{display:grid;grid-template-columns:repeat(3,minmax(240px,1fr));gap:14px}
.pos-marketing-card{position:relative;display:grid;grid-template-columns:54px minmax(0,1fr);gap:12px;align-items:center;min-height:86px;padding:14px 18px;border:1px solid #e5e7eb;border-radius:10px;background:#f8f8f8;box-shadow:0 8px 18px rgba(15,23,42,.04);overflow:hidden}
.pos-marketing-card:hover{border-color:#5eead4;background:#fff;box-shadow:0 16px 34px rgba(20,184,166,.13)}
.pos-marketing-card::before{content:"手勇 00001";position:absolute;right:20px;top:10px;color:#d1d5db;font-size:12px;font-weight:900;transform:rotate(-12deg);pointer-events:none}
.pos-marketing-icon{width:48px;height:48px;border-radius:10px;display:grid;place-items:center;color:#fff;font-size:22px;font-weight:1000;box-shadow:0 8px 18px rgba(15,23,42,.13)}
.pos-marketing-icon.teal{background:#00a6a6}.pos-marketing-icon.blue{background:#4f8df7}.pos-marketing-icon.red{background:#ff5c68}
.pos-marketing-copy{min-width:0}.pos-marketing-copy h3{display:flex;align-items:center;gap:7px;margin:0 0 7px;color:#111827;font-size:17px;font-weight:1000;white-space:nowrap}.pos-marketing-copy p{margin:0;color:#8b95a1;font-weight:850;line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pos-marketing-badges{display:inline-flex;gap:4px;align-items:center}.pos-marketing-badge{display:inline-grid;place-items:center;width:17px;height:17px;border-radius:999px;background:#22c55e;color:#fff;font-size:10px;font-weight:1000}.pos-marketing-badge.h5{width:auto;padding:0 5px;background:#0f766e;font-size:10px}
.pos-marketing-create{position:absolute;inset:0;border:0;background:transparent;color:transparent;cursor:pointer;font-size:0}
@media(max-width:1180px){.pos-promo-grid{grid-template-columns:repeat(2,minmax(240px,1fr))}}
@media(max-width:1180px){.pos-marketing-grid{grid-template-columns:repeat(2,minmax(240px,1fr))}}
@media(max-width:760px){.pos-promo-head{flex-direction:column}.pos-promo-grid,.pos-marketing-grid{grid-template-columns:1fr}.pos-promo-main{padding:22px 20px}}

/* v385 member center */
.jz-member-page,.jz-member-detail{padding:22px 24px 48px;color:#1f2937}
.jz-member-titlebar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}
.jz-member-titlebar h2{margin:0 0 6px;font-size:24px;font-weight:900;color:#172033}.jz-member-titlebar p{margin:0;color:#6b778c;font-weight:700}
.jz-member-top-actions,.jz-member-toolbar,.jz-member-filter-buttons,.jz-member-consume-filter{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.jz-member-filter{background:#fff;border:1px solid #edf1f7;border-radius:8px;padding:18px;margin-bottom:18px}
.jz-member-filter-grid{display:grid;grid-template-columns:280px 260px minmax(440px,1fr);gap:18px 24px;align-items:end}
.jz-member-filter-grid label{display:flex;align-items:center;gap:10px;min-width:0;font-weight:800;color:#28364a}.jz-member-filter-grid label span,.jz-member-table th{white-space:nowrap}
.jz-member-filter-grid label em{font-style:normal;color:#6b778c}.jz-member-filter-grid .input,.jz-member-filter-grid .select{height:36px;border-radius:4px}
.jz-member-toolbar{margin:18px 0 20px}.jz-member-toolbar .danger-soft{background:#fff1f2;color:#c1121f;border-color:#fecdd3}
.jz-member-table-wrap{background:#fff;border-radius:8px;overflow:auto}.jz-member-table{min-width:1900px}.jz-member-table th,.jz-member-table td{white-space:nowrap;font-size:13px}
.jz-mini-eye{border:0;background:transparent;color:#64748b;font-weight:900;margin-left:6px;cursor:pointer}
.jz-member-actions{display:flex;gap:12px}.jz-member-actions button,.jz-text-link{border:0;background:transparent;color:#ff6a00;font-weight:800;cursor:pointer;padding:0}
.jz-member-pager{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:14px;color:#526174;font-weight:700}
.jz-member-detail-head{height:52px;display:flex;align-items:center;border-bottom:1px solid #edf1f7;margin:-22px -24px 18px;padding:0 24px}
.jz-back-link{border:0;background:transparent;color:#1f2937;font-size:18px;font-weight:900;cursor:pointer}
.jz-member-tabs{display:flex;gap:28px;border-bottom:1px solid #edf1f7;margin-bottom:24px}.jz-member-tabs button{border:0;background:transparent;padding:0 0 12px;font-weight:900;color:#1f2937;cursor:pointer}.jz-member-tabs button.active{color:#111827;border-bottom:3px solid #ffc400}
.jz-member-section{margin:0 0 34px}.jz-member-section h3{font-size:18px;font-weight:900;margin:0 0 18px;border-left:4px solid #ffc400;padding-left:8px;color:#172033}
.jz-member-profile-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:22px 80px;margin-bottom:22px}
.jz-member-field{display:flex;align-items:center;gap:8px;min-height:26px;color:#253246}.jz-member-field span{font-weight:800;color:#4b5563}.jz-member-field b{font-weight:700;color:#111827}
.jz-member-tags{display:flex;gap:8px;align-items:center;min-height:28px;margin:8px 0}.jz-member-tags span{background:#fff7ed;border:1px solid #fed7aa;color:#c2410c;border-radius:999px;padding:5px 12px;font-weight:800}.jz-member-tags em{font-style:normal;color:#8b96a8}
.jz-member-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:0;border:1px solid #e5e7eb;border-radius:8px;width:max-content;max-width:100%;overflow:hidden;background:#fff}.jz-member-metric-grid.wide{grid-template-columns:repeat(5,minmax(160px,1fr))}
.jz-member-stat{min-width:160px;padding:18px 24px;border-right:1px solid #e5e7eb}.jz-member-stat:last-child{border-right:0}.jz-member-stat span{display:block;color:#4b5563;font-weight:800;margin-bottom:8px}.jz-member-stat b{font-size:28px;color:#111827}
.jz-member-balance-card{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));border:1px solid #e5e7eb;border-radius:8px;background:#fff;max-width:980px}.jz-member-balance-card>div{padding:22px 28px;border-right:1px solid #e5e7eb;text-align:center}.jz-member-balance-card>div:last-child{border-right:0}.jz-member-balance-card span,.jz-member-balance-card small{display:block;color:#4b5563;font-weight:800}.jz-member-balance-card b{display:block;font-size:28px;margin:10px 0;color:#111827}
.jz-member-form{display:grid;gap:14px}.jz-member-form.grid2{grid-template-columns:1fr 1fr}.jz-member-form label{display:flex;flex-direction:column;gap:8px;font-weight:900;color:#28364a}.jz-member-form .wide{grid-column:1/-1}
@media(max-width:1200px){.jz-member-filter-grid{grid-template-columns:1fr}.jz-member-profile-grid{grid-template-columns:1fr}.jz-member-metric-grid,.jz-member-metric-grid.wide,.jz-member-balance-card{grid-template-columns:1fr;width:100%}}

/* v386 queue printer settings */
.pos-ticket-section-tabs-v308{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.jz-queue-page{display:flex;flex-direction:column;gap:16px}
.jz-queue-printer-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}
@media(max-width:1280px){.pos-ticket-section-tabs-v308{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:720px){.pos-ticket-section-tabs-v308{grid-template-columns:1fr!important}}

/* v443：后台/管理台所有白底卡片、弹窗、表格统一提高文字对比度。 */
body,.pos-page,.pos-page *,.pos-admin,.pos-admin *,.pos-shell,.pos-shell *,
.pos-card,.pos-panel,.pos-modal,.pos-form-modal,.modal,.drawer,.drawer *{
  text-shadow:none!important;
}
.pos-page,.pos-admin,.pos-shell,.pos-card,.pos-panel,.pos-modal,.pos-form-modal,.modal,.drawer{
  color:#0f172a!important;
}
.pos-page h1,.pos-page h2,.pos-page h3,.pos-page h4,.pos-page b,.pos-page strong,
.pos-admin h1,.pos-admin h2,.pos-admin h3,.pos-admin h4,.pos-admin b,.pos-admin strong,
.pos-table th,.pos-table td strong,.pos-modal h2,.pos-modal h3,.pos-form-modal h2,.pos-form-modal h3{
  color:#0f172a!important;
  opacity:1!important;
  font-weight:1000!important;
}
.pos-page p,.pos-page span,.pos-page small,.pos-page label,.pos-page td,
.pos-admin p,.pos-admin span,.pos-admin small,.pos-admin label,.pos-admin td,
.pos-modal p,.pos-modal span,.pos-modal small,.pos-modal label,
.pos-form-modal p,.pos-form-modal span,.pos-form-modal small,.pos-form-modal label,.muted,.hint{
  color:#334155!important;
  opacity:1!important;
  font-weight:800!important;
}
.pos-page input,.pos-page select,.pos-page textarea,
.pos-admin input,.pos-admin select,.pos-admin textarea,
.pos-modal input,.pos-modal select,.pos-modal textarea,
.pos-form-modal input,.pos-form-modal select,.pos-form-modal textarea{
  color:#0f172a!important;
  background:#fff!important;
  border-color:#cbd5e1!important;
  opacity:1!important;
  font-weight:850!important;
}
.pos-page input::placeholder,.pos-page textarea::placeholder,
.pos-admin input::placeholder,.pos-admin textarea::placeholder,
.pos-modal input::placeholder,.pos-modal textarea::placeholder,
.pos-form-modal input::placeholder,.pos-form-modal textarea::placeholder{
  color:#64748b!important;
  opacity:1!important;
}

/* v445: 后台/弹窗通用高对比兜底，避免浅色文字叠在白底卡片上 */
.card,.panel,.modal,.modal-box,.dialog,.drawer,.table-card,.form-card,
.pos-admin,.pos-page,.page,.content,.section{color:#0f172a!important;opacity:1!important;filter:none!important;}
.card h1,.card h2,.card h3,.card h4,.card b,.card strong,
.panel h1,.panel h2,.panel h3,.panel h4,.panel b,.panel strong,
.modal h1,.modal h2,.modal h3,.modal h4,.modal b,.modal strong,
.modal-box h1,.modal-box h2,.modal-box h3,.modal-box h4,.modal-box b,.modal-box strong{color:#0f172a!important;opacity:1!important;filter:none!important;text-shadow:none!important;}
.card p,.card small,.card span,.card label,
.panel p,.panel small,.panel span,.panel label,
.modal p,.modal small,.modal span,.modal label,
.modal-box p,.modal-box small,.modal-box span,.modal-box label{opacity:1!important;filter:none!important;text-shadow:none!important;}
input,textarea,select{color:#0f172a!important;background:#fff!important;opacity:1!important;}
input::placeholder,textarea::placeholder{color:#64748b!important;opacity:1!important;}

/* v445 POS 后台高对比兜底：浅底卡片、标签、弹窗文字不再发白或低透明度。 */
.pos-page,
.pos-admin,
.modal,
.dialog,
.panel,
.card{color:#0f172a!important;}
.pos-page .muted,
.pos-admin .muted,
.pos-page small,
.pos-admin small{color:#475569!important;opacity:1!important;filter:none!important;text-shadow:none!important;}
.pos-page .chip,
.pos-admin .chip,
.pos-page .tag,
.pos-admin .tag,
.pos-page .badge,
.pos-admin .badge{opacity:1!important;filter:none!important;text-shadow:none!important;color:#0f172a!important;-webkit-text-fill-color:#0f172a!important;}
.pos-page input,
.pos-page textarea,
.pos-page select,
.pos-admin input,
.pos-admin textarea,
.pos-admin select{color:#0f172a!important;-webkit-text-fill-color:#0f172a!important;opacity:1!important;background:#fff!important;}
.pos-page input::placeholder,
.pos-page textarea::placeholder,
.pos-admin input::placeholder,
.pos-admin textarea::placeholder{color:#64748b!important;opacity:1!important;}

/* v455：菜品属性/做法管理真实分组、实时上传、可用排序修复 */
.pos-attr-method-page .pos-dish-cats button{position:relative;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:42px;border-bottom:1px solid rgba(226,232,240,.82)}
.pos-attr-method-page .pos-dish-cats button:last-child{border-bottom:0}
.pos-attr-method-page .pos-dish-cats button.active{background:#fff3bf;color:#111827;box-shadow:inset 4px 0 0 #ffd400}
.pos-attr-method-page .pos-dish-cats button:hover{background:#fff8db;color:#111827}
.pos-method-img-live .pos-table-action[disabled]{opacity:.62;cursor:progress;color:#64748b}
.pos-method-img-live>span{position:relative;background:#fff;box-shadow:0 2px 8px rgba(15,23,42,.06)}
.pos-method-img-live>span:empty::before{content:'＋';color:#94a3b8;font-weight:1000}
.pos-attr-sort-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.pos-attr-sort-list{display:grid;gap:8px;max-height:56vh;overflow:auto;padding-right:4px}
.pos-attr-sort-row{display:grid;grid-template-columns:54px minmax(0,1fr) auto auto auto;gap:10px;align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:10px 12px}
.pos-attr-sort-row>b{display:inline-flex;align-items:center;justify-content:center;width:38px;height:32px;border-radius:10px;background:#fff;color:#0f172a;border:1px solid #e2e8f0;font-weight:1000}
.pos-attr-sort-row>span{min-width:0;color:#111827;font-weight:1000;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pos-attr-sort-row>span em{font-style:normal;display:inline-flex;margin-right:8px;padding:2px 8px;border-radius:999px;background:#e0f2fe;color:#075985;font-size:12px;font-weight:1000}
.pos-attr-sort-row .pos-table-action[disabled]{opacity:.35;cursor:not-allowed}
.pos-dish-table .pos-table td .pos-method-img-cell{min-width:126px}
.pos-dish-table .pos-table td .pos-method-img-cell .pos-table-action{white-space:nowrap}
@media(max-width:900px){.pos-attr-sort-row{grid-template-columns:42px 1fr;}.pos-attr-sort-row .pos-table-action{justify-self:start}.pos-attr-method-page .pos-dish-cats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v455：菜品属性/做法管理修复。做法分组真正过滤；上传状态清晰；排序可编辑。 */
.pos-method-groups button{display:flex!important;align-items:center;justify-content:space-between;gap:8px}
.pos-method-groups button em{font-style:normal;min-width:24px;text-align:center;border-radius:999px;background:#eef2ff;color:#1e3a8a;padding:2px 8px;font-weight:1000;font-size:12px}
.pos-method-groups button.active em{background:#111827;color:#fff}
.pos-method-img-cell>span{position:relative}
.pos-method-img-cell>span.is-uploading{outline:2px solid #facc15;background:#fffbeb;color:#92400e}
.pos-uploading-preview{font-size:12px;font-weight:1000;color:#92400e;white-space:nowrap}
.pos-uploading-mark{position:absolute;left:0;right:0;bottom:0;background:rgba(15,23,42,.76);color:#fff;font-style:normal;font-size:11px;line-height:18px;text-align:center;font-weight:1000}
.pos-attr-sort-table .input.mini{width:86px;text-align:center;font-weight:1000}
.pos-attr-sort-table .pos-table td{vertical-align:middle}
.pos-dish-table td b{color:#111827}

/* v457 商品编辑做法区按钮状态修复 */
.pos-compose-tabs button.is-disabled,
.pos-compose-tabs button:disabled{opacity:.48;cursor:not-allowed;background:#f8fafc!important;color:#94a3b8!important;border-color:#e2e8f0!important;box-shadow:none!important}
.pos-compose-group .pos-table-action{height:34px;padding:0 12px;border-radius:10px;font-weight:1000}
.pos-compose-group .pos-table-action.danger,
.pos-table-action.danger{color:#dc2626!important}
.pos-table .pos-table-action.danger:hover{background:#fee2e2!important;border-color:#fecaca!important}
.pos-table td .input.mini[data-method-sort]{min-width:64px;text-align:center}

/* POS v462 菜品管理：编码、图片上传、分类同步提示 */
.pos-v462-uploading{display:block;margin-top:6px;color:#ff6a00;font-weight:800;font-size:12px}.pos-v457-empty{border:1px dashed #c8d6e8;background:#f8fbff;color:#45627f;border-radius:14px;padding:14px 16px;margin:10px 0;font-weight:700}.pos-dish-field select option{color:#17233a;background:#fff}

/* v464：菜品/套餐编辑器紧凑排版。解决超宽输入框、排版松散、填写不方便的问题。 */
#content > .pos-dish-edit-head,
#content > .pos-dish-edit,
#content > .pos-v456-package-page{
  max-width:1320px!important;
  margin-left:0!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
#content > .pos-dish-edit-head,
#content .pos-v456-package-page .pos-dish-edit-head{
  padding:10px 14px!important;
  margin-bottom:10px!important;
  border-radius:14px!important;
  min-height:54px!important;
}
#content > .pos-dish-edit-head h2,
#content .pos-v456-package-page .pos-dish-edit-head h2{
  font-size:18px!important;
  line-height:1.25!important;
}
#content > .pos-dish-edit,
#content .pos-v456-package-page .pos-dish-edit{
  gap:10px!important;
  padding-bottom:66px!important;
}
#content .pos-v457-dish-edit > .pos-dish-section,
#content .pos-package-edit > .pos-dish-section{
  padding:12px 14px!important;
  border-radius:14px!important;
  border:1px solid #eef2f7!important;
  background:rgba(255,255,255,.86)!important;
  box-shadow:0 4px 14px rgba(15,23,42,.035)!important;
}
#content .pos-v457-dish-edit > .pos-dish-section{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(150px,180px))!important;
  justify-content:start!important;
  align-items:end!important;
  gap:9px 10px!important;
}
#content .pos-v457-dish-edit > .pos-dish-section > h3,
#content .pos-v457-dish-edit > .pos-dish-section > .pos-dish-basic-line,
#content .pos-v457-dish-edit > .pos-dish-section > .pos-dish-basic-extra,
#content .pos-v457-dish-edit > .pos-dish-section > .pos-dish-form-grid,
#content .pos-v457-dish-edit > .pos-dish-section > .pos-dish-display-grid,
#content .pos-v457-dish-edit > .pos-dish-section > .pos-v457-compose-tabs,
#content .pos-v457-dish-edit > .pos-dish-section > .pos-v457-actions,
#content .pos-v457-dish-edit > .pos-dish-section > .pos-v457-group-card,
#content .pos-v457-dish-edit > .pos-dish-section > .pos-v457-side-note,
#content .pos-v457-dish-edit > .pos-dish-section > .pos-v457-empty,
#content .pos-v457-dish-edit > .pos-dish-section > .pos-dish-toolbar{
  grid-column:1/-1!important;
}
#content .pos-v457-dish-edit > .pos-dish-section > .pos-dish-field{
  width:100%!important;
  min-width:0!important;
}
#content .pos-v457-dish-edit > .pos-dish-section > .pos-dish-field.wide{
  grid-column:span 3!important;
  max-width:620px!important;
}
#content .pos-v457-dish-edit .pos-dish-section h3,
#content .pos-package-edit .pos-dish-section h3{
  margin:0 0 9px!important;
  font-size:16px!important;
  line-height:1.25!important;
  border-left-width:4px!important;
  padding-left:9px!important;
}
#content .pos-v457-dish-edit .pos-dish-field span,
#content .pos-package-edit .pos-dish-field span,
#content .pos-v457-dish-edit .pos-dish-radio-line>span,
#content .pos-v457-dish-edit .pos-radio-line>span,
#content .pos-package-edit .pos-dish-radio-line>span,
#content .pos-package-edit .pos-radio-line>span,
#content .pos-v456-field span{
  margin-bottom:4px!important;
  font-size:12px!important;
  line-height:1.25!important;
  font-weight:900!important;
  color:#334155!important;
}
#content .pos-v457-dish-edit .input,
#content .pos-package-edit .input{
  height:34px!important;
  min-height:34px!important;
  padding:6px 9px!important;
  border-radius:9px!important;
  font-size:13px!important;
  line-height:20px!important;
}
#content .pos-v457-dish-edit textarea.input,
#content .pos-package-edit textarea.input{
  height:auto!important;
  min-height:62px!important;
  line-height:1.55!important;
  resize:vertical!important;
}
#content .pos-v457-dish-edit .btn,
#content .pos-package-edit .btn,
#content .pos-v456-package-page .btn{
  min-height:34px!important;
  padding:0 12px!important;
  border-radius:10px!important;
  font-size:13px!important;
}
#content .pos-v457-dish-edit .pos-orange-link,
#content .pos-package-edit .pos-orange-link{
  font-size:13px!important;
  white-space:nowrap!important;
}
#content .pos-v457-dish-edit .pos-dish-basic-line{
  display:grid!important;
  grid-template-columns:minmax(240px,360px) 74px minmax(220px,320px) 92px!important;
  gap:8px 10px!important;
  align-items:end!important;
  margin-bottom:8px!important;
}
#content .pos-v457-dish-edit .pos-dish-name-only,
#content .pos-v457-dish-edit .pos-basic-extra{
  min-width:0!important;
}
#content .pos-v457-dish-edit #copyDishBtn,
#content .pos-v457-dish-edit #quickNewCatBtn{
  height:34px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
}
#content .pos-v457-dish-edit .pos-dish-spec-title{
  margin:6px 0 8px!important;
  padding:8px 10px!important;
  border-radius:10px!important;
  font-size:13px!important;
}
#content .pos-v457-dish-edit .pos-dish-form-grid,
#content .pos-v457-dish-edit .pos-dish-more-block,
#content .pos-v457-dish-edit .pos-dish-display-grid,
#content .pos-package-edit .pos-dish-form-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(160px,200px))!important;
  justify-content:start!important;
  align-items:end!important;
  gap:8px 10px!important;
}
#content .pos-v457-dish-edit .pos-dish-price-clean{
  grid-template-columns:150px 240px 120px 170px 120px 120px 130px!important;
  gap:8px 10px!important;
}
#content .pos-v457-dish-edit .pos-box-field{
  min-width:0!important;
}
#content .pos-v457-dish-edit .pos-box-setting{
  display:grid!important;
  grid-template-columns:minmax(118px,1fr) 98px!important;
  gap:7px!important;
  align-items:end!important;
}
#content .pos-v457-dish-edit .pos-dish-input-wrap em,
#content .pos-package-edit .pos-dish-input-wrap em{
  font-size:12px!important;
  margin-left:4px!important;
}
#content .pos-v457-dish-edit .pos-dish-field.wide,
#content .pos-package-edit .pos-dish-field.wide,
#content .pos-v457-dish-edit .pos-dish-display-grid .wide,
#content .pos-package-edit .wide{
  grid-column:span 2!important;
}
#content .pos-v457-dish-edit .pos-dish-more-block .wide,
#content .pos-v457-dish-edit .pos-dish-display-grid .wide{
  max-width:420px!important;
}
#content .pos-v457-dish-edit #editDishCode,
#content .pos-v457-dish-edit #editDishAlias{
  max-width:260px!important;
}
#content .pos-v457-dish-edit .pos-radio-line,
#content .pos-v457-dish-edit .pos-dish-radio-line,
#content .pos-package-edit .pos-radio-line,
#content .pos-package-edit .pos-dish-radio-line{
  display:flex!important;
  min-height:34px!important;
  align-items:center!important;
  gap:8px 12px!important;
  flex-wrap:wrap!important;
  margin:0!important;
}
#content .pos-v457-dish-edit .pos-radio-line label,
#content .pos-v457-dish-edit .pos-dish-radio-line label,
#content .pos-package-edit .pos-radio-line label,
#content .pos-package-edit .pos-dish-radio-line label{
  font-size:13px!important;
  font-weight:800!important;
  color:#334155!important;
  white-space:nowrap!important;
}
#content .pos-v457-dish-edit input[type="radio"],
#content .pos-v457-dish-edit input[type="checkbox"],
#content .pos-package-edit input[type="radio"],
#content .pos-package-edit input[type="checkbox"]{
  width:14px!important;
  height:14px!important;
  vertical-align:-2px!important;
}
#content .pos-v457-dish-edit .pos-add-spec{
  margin:8px 0 2px!important;
  height:28px!important;
  display:inline-flex!important;
  align-items:center!important;
}
#content .pos-v457-dish-edit .pos-v457-spec-list{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(240px,340px))!important;
  justify-content:start!important;
  gap:8px!important;
  margin:4px 0 8px!important;
}
#content .pos-v457-dish-edit .pos-v457-spec-list .pos-v457-picker-row{
  padding:8px 10px!important;
  border-radius:12px!important;
  grid-template-columns:minmax(80px,1fr) auto!important;
  gap:4px 8px!important;
}
#content .pos-v457-dish-edit .pos-v457-spec-list .pos-v457-row-actions{
  grid-column:1/-1!important;
}
#content .pos-v457-dish-edit .pos-chip-line,
#content .pos-v457-dish-edit .jz-v463-outlet-box{
  min-height:34px!important;
  padding:6px!important;
  border-radius:10px!important;
  gap:6px!important;
}
#content .pos-v457-dish-edit .pos-chip-line span,
#content .pos-v457-dish-edit .jz-v463-outlet-chip{
  padding:5px 9px!important;
  font-size:12px!important;
  line-height:1.25!important;
}
#content .pos-v457-dish-edit .jz-v463-outlet-note,
#content .pos-v457-dish-edit .jz-v463-outlet-empty{
  font-size:12px!important;
  margin-top:5px!important;
}
#content .pos-v457-dish-edit #editDishPrintText{
  max-width:620px!important;
}
#content .pos-v457-dish-edit .pos-display-img{
  width:82px!important;
  height:82px!important;
  min-height:82px!important;
  border-radius:12px!important;
  font-size:28px!important;
}
#content .pos-v457-dish-edit .pos-display-img img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
#content .pos-v457-dish-edit .pos-display-img b{
  font-size:10px!important;
  padding:1px 5px!important;
}
#content .pos-v457-dish-edit .pos-star-select{
  min-height:34px!important;
  display:flex!important;
  align-items:center!important;
  gap:4px!important;
}
#content .pos-v457-dish-edit .pos-star-select button{
  width:22px!important;
  height:28px!important;
  padding:0!important;
}
#content .pos-v457-dish-edit .pos-dish-detail-upload{
  max-width:520px!important;
  font-size:12px!important;
}
#content .pos-v457-dish-edit .pos-detail-image-preview{
  min-height:64px!important;
  max-width:220px!important;
}
#content .pos-v457-dish-edit .pos-v457-compose-tabs{
  gap:6px!important;
  margin-bottom:8px!important;
}
#content .pos-v457-dish-edit .pos-v457-compose-tabs button{
  padding:7px 10px!important;
  border-radius:10px!important;
  font-size:13px!important;
}
#content .pos-v457-dish-edit .pos-v457-group-card{
  margin-bottom:10px!important;
  border-radius:14px!important;
}
#content .pos-v457-dish-edit .pos-v457-group-head{
  padding:9px 10px!important;
  gap:8px!important;
}
#content .pos-v457-dish-edit .pos-v457-group-fields{
  gap:6px 8px!important;
}
#content .pos-v457-dish-edit .pos-v457-group-fields input.input{
  width:140px!important;
}
#content .pos-v457-dish-edit .pos-v457-group-fields .mini,
#content .pos-v457-dish-edit .pos-table .mini,
#content .pos-v457-dish-edit .input.mini{
  width:62px!important;
  min-width:62px!important;
  height:31px!important;
  padding:4px 6px!important;
}
#content .pos-v457-dish-edit .pos-v457-img,
#content .pos-v457-dish-edit .pos-method-img-cell>span{
  width:48px!important;
  height:38px!important;
  border-radius:10px!important;
}
#content .pos-v457-dish-edit .pos-table th,
#content .pos-v457-dish-edit .pos-table td,
#content .pos-package-edit .pos-table th,
#content .pos-package-edit .pos-table td{
  padding:7px 8px!important;
  font-size:13px!important;
  line-height:1.35!important;
}
#content .pos-v457-dish-edit .pos-table-action,
#content .pos-package-edit .pos-table-action{
  margin-right:4px!important;
  font-size:12px!important;
  line-height:1.5!important;
}
#content .pos-v457-dish-edit .pos-v457-row-actions,
#content .pos-package-edit .pos-v456-actions{
  gap:4px!important;
}
#content .pos-package-edit .pos-package-basic-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(170px,220px))!important;
  justify-content:start!important;
  align-items:end!important;
  gap:8px 10px!important;
}
#content .pos-package-edit .pos-package-basic-grid .wide{
  grid-column:span 2!important;
  max-width:450px!important;
}
#content .pos-package-edit .pos-package-basic-grid .pos-dish-radio-line,
#content .pos-package-edit .pos-package-basic-grid .pos-radio-line{
  grid-column:span 2!important;
  max-width:450px!important;
}
#content .pos-package-edit .pos-package-help,
#content .pos-package-edit .pos-v456-help{
  gap:8px 12px!important;
  margin-bottom:8px!important;
  line-height:1.5!important;
}
#content .pos-package-edit .pos-v456-tip,
#content .pos-package-edit .pos-v456-inline-status{
  font-size:12px!important;
}
#content .pos-package-edit .pos-dish-toolbar{
  gap:8px!important;
  margin:8px 0!important;
}
#content .pos-package-edit .pos-v456-summary{
  padding:7px 9px!important;
  margin-top:7px!important;
  border-radius:12px!important;
  gap:8px!important;
  font-size:12px!important;
}
#content .pos-package-edit .pos-v456-group{
  padding:10px!important;
  margin:10px 0!important;
  border-radius:14px!important;
}
#content .pos-package-edit .pos-v456-group-head{
  display:grid!important;
  grid-template-columns:minmax(230px,320px) 140px minmax(260px,1fr) auto!important;
  align-items:end!important;
  gap:8px!important;
  margin-bottom:8px!important;
}
#content .pos-package-edit .pos-v456-group-title{
  font-weight:900!important;
}
#content .pos-package-edit .pos-v456-group-rule{
  display:flex!important;
  align-items:end!important;
  flex-wrap:wrap!important;
  gap:6px 8px!important;
}
#content .pos-package-edit .pos-v456-field{
  display:grid!important;
  gap:4px!important;
}
#content .pos-package-edit .pos-v456-mini,
#content .pos-package-edit .input.pos-v456-mini{
  width:64px!important;
  min-width:64px!important;
  height:31px!important;
  padding:4px 6px!important;
  text-align:center!important;
}
#content .pos-package-edit .pos-v456-actions{
  gap:4px 6px!important;
  justify-content:flex-end!important;
}
#content .pos-package-edit .pos-v456-dish-img{
  width:42px!important;
  height:34px!important;
  border-radius:9px!important;
}
#content .pos-package-edit .pos-table-wrap{
  max-height:430px!important;
  overflow:auto!important;
}
#content .pos-package-edit .pos-table{
  min-width:1040px!important;
}
#content .pos-dish-sticky,
#content .pos-v456-sticky{
  right:22px!important;
  bottom:16px!important;
  padding:8px 10px!important;
  border-radius:14px!important;
  gap:8px!important;
}
@media (max-width:1400px){
  #content > .pos-dish-edit-head,
  #content > .pos-dish-edit,
  #content > .pos-v456-package-page{max-width:100%!important;}
  #content .pos-v457-dish-edit .pos-dish-price-clean{grid-template-columns:repeat(auto-fill,minmax(150px,190px))!important;}
}
@media (max-width:900px){
  #content .pos-v457-dish-edit .pos-dish-basic-line,
  #content .pos-v457-dish-edit .pos-dish-form-grid,
  #content .pos-v457-dish-edit .pos-dish-more-block,
  #content .pos-v457-dish-edit .pos-dish-display-grid,
  #content .pos-package-edit .pos-package-basic-grid,
  #content .pos-package-edit .pos-v456-group-head{
    grid-template-columns:1fr!important;
  }
  #content .pos-v457-dish-edit > .pos-dish-section,
  #content .pos-v457-dish-edit > .pos-dish-section > .pos-dish-field.wide,
  #content .pos-v457-dish-edit .pos-dish-field.wide,
  #content .pos-package-edit .pos-package-basic-grid .wide,
  #content .pos-package-edit .pos-package-basic-grid .pos-dish-radio-line,
  #content .pos-package-edit .pos-package-basic-grid .pos-radio-line{
    grid-column:1/-1!important;
    max-width:none!important;
  }
  #content .pos-v457-dish-edit .pos-box-setting{grid-template-columns:1fr!important;}
#content .pos-dish-sticky,
#content .pos-v456-sticky{left:12px!important;right:12px!important;justify-content:flex-end!important;}
}

/* V496 purchase top shortcuts */
.pos-moved-head-compact{
  align-items:flex-start!important;
  gap:14px!important;
}
.pos-moved-head-compact > div:first-child{
  flex:1 1 auto!important;
  min-width:0!important;
}
.pos-moved-head-compact .muted{
  margin-bottom:8px!important;
}
.pos-moved-head-nav{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:7px!important;
  margin-top:10px!important;
}
.pos-moved-head-nav .btn.small{
  min-height:30px!important;
  padding:6px 11px!important;
  border-radius:10px!important;
  font-size:13px!important;
  line-height:1.05!important;
  box-shadow:none!important;
}
.pos-moved-head-actions{
  align-self:flex-start!important;
  flex:0 0 auto!important;
}
@media (max-width:900px){
  .pos-moved-head-compact{
    flex-direction:column!important;
  }
  .pos-moved-head-actions{
    width:100%!important;
    justify-content:flex-start!important;
    flex-wrap:wrap!important;
  }
}

/* POS V528: keep advanced dish settings visible and remove the old collapse toggle. */
#content #dishMoreToggle,
#content .pos-more-toggle{
  display:none!important;
}
#content .pos-dish-more-block{
  display:grid!important;
}
