body.spviet-order-fullscreen-page header,body.spviet-order-fullscreen-page footer,body.spviet-order-fullscreen-page .site-header,body.spviet-order-fullscreen-page .site-footer,body.spviet-order-fullscreen-page .spviet-mobile-header,body.spviet-order-fullscreen-page .spviet-mobile-panel,body.spviet-order-fullscreen-page .spviet-mobile-footer-nav,body.spviet-order-fullscreen-page .spviet-chat-widget,body.spviet-order-fullscreen-page .spviet-ai-chatbox{display:none!important}.spviet-order-standalone-body{margin:0!important;background:#0f172a!important;overflow:hidden!important}.spviet-order-app{position:fixed;inset:0;z-index:2147483600;background:#f6f7fb;color:#111827;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;display:flex;flex-direction:column;overflow:hidden}.spviet-order-header{height:72px;background:linear-gradient(135deg,#111827,#7f1d1d);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 24px;box-sizing:border-box;box-shadow:0 12px 32px rgba(0,0,0,.18)}.spviet-order-header strong{display:block;font-size:22px;letter-spacing:.05em}.spviet-order-header span{font-size:14px;opacity:.92}.spviet-order-header-actions{display:flex;align-items:center;gap:10px}.spviet-order-lang-select,.spviet-order-header button,.spviet-order-refresh{border:0;border-radius:999px;padding:10px 16px;font-weight:800;background:#fff;color:#111827}.spviet-order-cart-button span:last-child{background:#dc2626;color:#fff;border-radius:999px;padding:2px 8px;margin-left:6px}.spviet-order-main{display:grid;grid-template-columns:240px 1fr;gap:18px;min-height:0;flex:1;padding:18px;box-sizing:border-box}.spviet-order-categories{background:#fff;border-radius:22px;padding:14px;overflow:auto;box-shadow:0 12px 30px rgba(15,23,42,.08)}.spviet-order-cat{display:block;width:100%;border:0;background:#f1f5f9;border-radius:16px;margin-bottom:10px;padding:15px;text-align:left;font-size:17px;font-weight:800}.spviet-order-cat.active{background:#111827;color:#fff}.spviet-order-products{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;overflow:auto;padding-right:6px}.spviet-order-product{background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 14px 36px rgba(15,23,42,.1);display:flex;flex-direction:column;min-height:310px}.spviet-order-product img,.spviet-order-no-img{height:155px;width:100%;object-fit:cover;background:linear-gradient(135deg,#fee2e2,#fef3c7);display:flex;align-items:center;justify-content:center;font-weight:900;color:#991b1b}.spviet-order-product-body{padding:14px;display:flex;flex-direction:column;gap:8px;flex:1}.spviet-order-product-body h3{font-size:19px;margin:0}.spviet-order-product-body p{font-size:13px;color:#64748b;margin:0;line-height:1.4;flex:1}.spviet-order-product-foot{display:flex;align-items:center;justify-content:space-between;gap:10px}.spviet-order-product-foot strong{font-size:20px;color:#b91c1c}.spviet-order-product-foot button,.spviet-order-send-order,.spviet-order-pay,.spviet-order-close-order{border:0;border-radius:16px;background:#dc2626;color:#fff;font-weight:900;padding:12px 16px}.spviet-order-product-foot button:disabled,.spviet-order-pay:disabled,.spviet-order-close-order:disabled{opacity:.45;background:#94a3b8}.spviet-order-cart{position:fixed;right:0;top:0;bottom:0;width:min(430px,96vw);background:#fff;z-index:2147483650;transform:translateX(105%);transition:.25s ease;box-shadow:-18px 0 50px rgba(0,0,0,.25);display:flex;flex-direction:column;padding:18px;box-sizing:border-box}.spviet-order-cart.open{transform:translateX(0)}.spviet-order-cart-head{display:flex;align-items:center;justify-content:space-between}.spviet-order-cart-head h2{margin:0}.spviet-order-cart-head button,.spviet-order-modal-actions button{border:0;border-radius:12px;padding:10px 14px;font-weight:800}.spviet-order-cart-items{flex:1;overflow:auto;margin:14px 0}.spviet-order-cart-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid #e5e7eb}.spviet-order-cart-row strong{display:block}.spviet-order-cart-row span{color:#64748b}.spviet-order-qty{display:flex;align-items:center;gap:8px}.spviet-order-qty button{width:34px;height:34px;border:0;border-radius:10px;background:#111827;color:#fff;font-weight:900}.spviet-order-cart-total{font-size:18px;margin:10px 0}.spviet-order-cart textarea{min-height:90px;border:1px solid #cbd5e1;border-radius:14px;padding:12px;resize:none}.spviet-order-send-order{width:100%;margin-top:12px;font-size:18px}.spviet-order-result{min-height:24px;margin-top:10px;font-weight:800;color:#b91c1c}.spviet-order-result.ok{color:#15803d}.spviet-order-empty,.spviet-order-loading,.spviet-order-error{background:#fff;border-radius:18px;padding:24px;box-shadow:0 10px 26px rgba(15,23,42,.08);color:#475569}.spviet-order-error{color:#b91c1c}.spviet-order-idle-screen{position:fixed;inset:0;background:radial-gradient(circle at top,#7f1d1d,#020617);z-index:2147483640;display:none;align-items:center;justify-content:center;color:#fff;text-align:center}.spviet-order-idle-screen.show{display:flex}.spviet-order-idle-inner h1{font-size:56px;margin:0 0 12px}.spviet-order-idle-inner p{font-size:24px}.spviet-order-corner{position:fixed;width:74px;height:74px;z-index:2147483660}.spviet-order-corner-tl{left:0;top:0}.spviet-order-corner-tr{right:0;top:0}.spviet-order-corner-br{right:0;bottom:0}.spviet-order-corner-bl{left:0;bottom:0}.spviet-order-modal{position:fixed;inset:0;background:rgba(2,6,23,.72);z-index:2147483670;display:none;align-items:center;justify-content:center;padding:20px}.spviet-order-modal.show{display:flex}.spviet-order-modal-card{width:min(520px,96vw);background:#fff;border-radius:26px;padding:24px;box-shadow:0 30px 80px rgba(0,0,0,.45)}.spviet-order-modal-card h2{margin-top:0}.spviet-order-modal-card input{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:14px;padding:14px;font-size:18px}.spviet-order-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}.spviet-order-settings-panel pre{max-height:220px;overflow:auto;background:#0f172a;color:#d1fae5;border-radius:14px;padding:14px}.spviet-order-cashier-main{display:grid;grid-template-columns:400px 1fr;gap:18px;padding:18px;min-height:0;flex:1;box-sizing:border-box}.spviet-order-cashier-list-panel,.spviet-order-cashier-detail-panel{background:#fff;border-radius:24px;padding:16px;box-shadow:0 14px 36px rgba(15,23,42,.1);min-height:0;overflow:hidden;display:flex;flex-direction:column}.spviet-order-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.spviet-order-panel-head h2{margin:0;font-size:22px}.spviet-order-panel-head select{border:1px solid #cbd5e1;border-radius:12px;padding:9px 12px;font-weight:700}.spviet-order-cashier-orders{overflow:auto;display:flex;flex-direction:column;gap:10px;padding-right:4px}.spviet-order-cashier-order{border:1px solid #e5e7eb;background:#f8fafc;border-radius:18px;padding:14px;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%}.spviet-order-cashier-order.active{border-color:#dc2626;background:#fff1f2}.spviet-order-cashier-order strong{display:block;font-size:16px}.spviet-order-cashier-order span{display:block;color:#64748b;margin-top:4px}.spviet-order-order-meta{text-align:right}.spviet-order-order-meta b{display:block;color:#b91c1c;font-size:18px}.spviet-order-order-meta em{font-style:normal;background:#111827;color:#fff;border-radius:999px;padding:4px 10px;display:inline-block;margin-top:5px;font-size:12px}.spviet-order-last-updated{padding-top:10px;font-size:12px;color:#64748b}.spviet-order-cashier-detail{overflow:auto}.spviet-order-bill-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;border-bottom:1px solid #e5e7eb;padding-bottom:14px;margin-bottom:14px}.spviet-order-bill-head h3{font-size:26px;margin:0}.spviet-order-bill-head p{margin:6px 0 0;color:#64748b}.spviet-order-bill-total{font-size:32px;font-weight:950;color:#b91c1c;white-space:nowrap}.spviet-order-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;background:#f8fafc;border-radius:16px;padding:12px;margin-bottom:14px}.spviet-order-status-grid span{color:#475569}.spviet-order-note-line{background:#fffbeb;border:1px solid #fde68a;border-radius:14px;padding:12px;margin-bottom:14px}.spviet-order-bill-table{width:100%;border-collapse:collapse}.spviet-order-bill-table th,.spviet-order-bill-table td{border-bottom:1px solid #e5e7eb;padding:12px;text-align:left}.spviet-order-bill-table th{background:#f8fafc;color:#475569}.spviet-order-bill-actions{display:flex;gap:12px;margin-top:16px}.spviet-order-pay,.spviet-order-close-order{font-size:16px}.spviet-order-close-order{background:#111827}.spviet-order-check{display:flex;align-items:center;gap:6px;color:#fff;font-weight:800}@media(max-width:980px){.spviet-order-main{grid-template-columns:1fr}.spviet-order-categories{display:flex;gap:8px;overflow:auto}.spviet-order-cat{width:auto;white-space:nowrap;margin-bottom:0}.spviet-order-products{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.spviet-order-cashier-main{grid-template-columns:1fr}.spviet-order-cashier-list-panel{max-height:42vh}.spviet-order-header{height:auto;min-height:72px;padding:12px;gap:10px;align-items:flex-start}.spviet-order-header-actions{flex-wrap:wrap;justify-content:flex-end}}@media(max-width:640px){.spviet-order-header{flex-direction:column;align-items:stretch}.spviet-order-products{grid-template-columns:1fr}.spviet-order-idle-inner h1{font-size:36px}.spviet-order-bill-head,.spviet-order-status-grid{grid-template-columns:1fr;display:block}.spviet-order-bill-total{font-size:24px}.spviet-order-bill-actions{flex-direction:column}}
.spviet-order-session-bar{height:58px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;padding:10px 18px;box-shadow:0 8px 22px rgba(15,23,42,.08);box-sizing:border-box;z-index:1}.spviet-order-session-info{display:flex;align-items:center;gap:12px;min-width:0}.spviet-order-mode-badge{display:inline-flex;align-items:center;border-radius:999px;background:#111827;color:#fff;padding:8px 13px;font-weight:900;white-space:nowrap}.spviet-order-session-info>span:last-child{color:#334155;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spviet-order-session-actions{display:flex;align-items:center;gap:10px}.spviet-order-session-actions button,.spviet-order-history-refresh{border:0;border-radius:999px;padding:10px 14px;font-weight:900;background:#dc2626;color:#fff}.spviet-order-session-actions button:first-child{background:#0f172a}.spviet-order-history{position:fixed;right:0;top:0;bottom:0;width:min(520px,96vw);background:#fff;z-index:2147483655;transform:translateX(105%);transition:.25s ease;box-shadow:-18px 0 50px rgba(0,0,0,.25);display:flex;flex-direction:column;padding:18px;box-sizing:border-box}.spviet-order-history.open{transform:translateX(0)}.spviet-order-session-detail{margin:12px 0}.spviet-order-history-list{flex:1;overflow:auto;display:flex;flex-direction:column;gap:12px}.spviet-order-history-order{border:1px solid #e5e7eb;border-radius:18px;background:#f8fafc;padding:14px}.spviet-order-history-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.spviet-order-history-head strong{font-size:16px}.spviet-order-history-head em{font-style:normal;background:#111827;color:#fff;border-radius:999px;padding:4px 10px;font-size:12px}.spviet-order-history-order ul{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.spviet-order-history-order li{display:flex;justify-content:space-between;gap:10px;border-bottom:1px dashed #cbd5e1;padding-bottom:8px}.spviet-order-history-order li span{color:#475569}.spviet-order-history-total{text-align:right;margin-top:10px;color:#334155}.spviet-order-history-refresh{width:100%;margin-top:12px;background:#111827}.spviet-order-tablet-app .spviet-order-main{padding-top:14px}@media(max-width:980px){.spviet-order-session-bar{height:auto;align-items:stretch;flex-direction:column}.spviet-order-session-actions{justify-content:stretch}.spviet-order-session-actions button{flex:1}.spviet-order-session-info>span:last-child{white-space:normal}.spviet-order-tablet-app .spviet-order-main{padding-top:10px}}@media(max-width:640px){.spviet-order-session-actions{flex-direction:column}.spviet-order-session-actions button{width:100%}.spviet-order-session-info{align-items:flex-start;flex-direction:column}}

/* v0.2.5 Printer Agent Pro */
.spviet-order-kitchen-app{background:#0b1120;color:#e5e7eb}.spviet-order-kitchen-header{background:linear-gradient(135deg,#020617,#7f1d1d)}.spviet-order-kitchen-header .spviet-order-header-actions select{border:0;border-radius:999px;padding:10px 14px;font-weight:900;background:#fff;color:#111827}.spviet-order-kitchen-station-label{display:flex;align-items:center;gap:8px;color:#fff;font-weight:900}.spviet-order-kitchen-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:14px 18px;background:#111827;border-bottom:1px solid rgba(255,255,255,.08);box-sizing:border-box}.spviet-order-kitchen-summary>div{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:10px 14px;color:#cbd5e1}.spviet-order-kitchen-summary strong{color:#fff}.spviet-order-kitchen-summary .spviet-order-result{margin:0;min-height:auto;color:#fecaca}.spviet-order-kitchen-summary .spviet-order-result.ok{color:#bbf7d0}.spviet-order-kitchen-main{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;min-height:0;flex:1;padding:18px;box-sizing:border-box}.spviet-order-kds-column{background:rgba(15,23,42,.96);border:1px solid rgba(255,255,255,.08);border-radius:26px;padding:14px;box-shadow:0 18px 46px rgba(0,0,0,.28);display:flex;flex-direction:column;min-height:0}.spviet-order-kds-column-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.spviet-order-kds-column-head h2{margin:0;color:#fff;font-size:24px}.spviet-order-kds-column-head b{display:inline-flex;min-width:38px;height:38px;border-radius:999px;align-items:center;justify-content:center;background:#dc2626;color:#fff;font-size:18px}.spviet-order-kds-list{overflow:auto;display:flex;flex-direction:column;gap:12px;padding-right:4px}.spviet-order-kds-card{background:#f8fafc;color:#0f172a;border-radius:22px;padding:15px;box-shadow:0 12px 30px rgba(0,0,0,.2);border:3px solid transparent}.spviet-order-kds-card.warning{border-color:#f59e0b}.spviet-order-kds-card.danger{border-color:#dc2626;animation:spvietKdsPulse 1s ease-in-out infinite}.spviet-order-kds-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.spviet-order-kds-card-top b{font-size:18px}.spviet-order-kds-card-top span{display:block;color:#64748b;margin-top:2px}.spviet-order-kds-card-top strong{font-size:28px;color:#b91c1c;white-space:nowrap}.spviet-order-kds-card h3{font-size:24px;margin:12px 0 10px;line-height:1.2}.spviet-order-kds-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.spviet-order-kds-meta span{background:#e2e8f0;color:#334155;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:900}.spviet-order-kds-note{background:#fffbeb;border:1px solid #fde68a;border-radius:14px;padding:10px;color:#92400e;font-weight:800;margin:10px 0}.spviet-order-kds-time{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 0;color:#334155;font-weight:900}.spviet-order-kds-alert{font-style:normal;border-radius:999px;padding:5px 10px;color:#fff}.spviet-order-kds-alert.warning{background:#d97706}.spviet-order-kds-alert.danger{background:#dc2626}.spviet-order-kds-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.spviet-order-kds-actions button{border:0;border-radius:15px;background:#111827;color:#fff;font-weight:950;padding:12px 10px}.spviet-order-kds-actions button:last-child{background:#dc2626}.spviet-order-kds-list .spviet-order-empty,.spviet-order-kds-list .spviet-order-loading,.spviet-order-kds-list .spviet-order-error{background:rgba(255,255,255,.08);color:#cbd5e1;box-shadow:none}.spviet-order-kds-list .spviet-order-error{color:#fecaca}@keyframes spvietKdsPulse{0%,100%{box-shadow:0 12px 30px rgba(220,38,38,.25)}50%{box-shadow:0 20px 46px rgba(220,38,38,.55)}}@media(max-width:1180px){.spviet-order-kitchen-main{grid-template-columns:1fr}.spviet-order-kds-column{min-height:32vh}.spviet-order-kitchen-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.spviet-order-kitchen-summary{grid-template-columns:1fr}.spviet-order-kitchen-station-label{width:100%;justify-content:space-between}.spviet-order-kitchen-header .spviet-order-header-actions{align-items:stretch}.spviet-order-kitchen-header .spviet-order-header-actions>*{width:100%}.spviet-order-kds-card h3{font-size:20px}}

/* v0.2.6 Table + PR Idle Media Pro */
.spviet-order-idle-media-layer{position:absolute;inset:0;z-index:0;overflow:hidden;background:#020617}.spviet-order-idle-media-layer:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,6,23,.22),rgba(2,6,23,.72));pointer-events:none}.spviet-order-idle-media-layer img,.spviet-order-idle-media-layer video{width:100%;height:100%;display:block}.spviet-order-idle-inner{position:relative;z-index:2;padding:32px;max-width:1100px;text-shadow:0 6px 28px rgba(0,0,0,.55)}.spviet-order-idle-inner h1{letter-spacing:.06em}.spviet-order-idle-text-media{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;background:radial-gradient(circle at top,#7f1d1d,#020617);padding:40px;box-sizing:border-box}.spviet-order-idle-text-media strong{font-size:clamp(46px,8vw,110px);letter-spacing:.08em}.spviet-order-idle-text-media span{font-size:clamp(22px,3vw,42px);margin-top:20px;opacity:.94}.spviet-order-idle-dots{position:absolute;left:0;right:0;bottom:24px;display:flex;justify-content:center;gap:8px;z-index:3}.spviet-order-idle-dots i{width:10px;height:10px;border-radius:999px;background:rgba(255,255,255,.45);display:block}.spviet-order-idle-dots i.active{background:#fff;width:30px}.spviet-order-table-board{display:grid;grid-template-columns:repeat(var(--spviet-table-columns,4),minmax(0,1fr));gap:14px}.spviet-order-table-card{border:1px solid #e5e7eb;border-radius:18px;background:#fff;padding:14px;box-shadow:0 8px 20px rgba(15,23,42,.06)}.spviet-order-table-card strong{font-size:18px}.spviet-order-table-card small{display:block;color:#64748b;margin-top:4px}.spviet-order-table-card[data-status="using"]{border-color:#f59e0b;background:#fffbeb}.spviet-order-table-card[data-status="payment_requested"]{border-color:#dc2626;background:#fff1f2}.spviet-order-table-card[data-status="empty"]{border-color:#22c55e;background:#f0fdf4}@media(max-width:900px){.spviet-order-table-board{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.spviet-order-table-board{grid-template-columns:1fr}}

/* v0.2.7 Cashier Table Board + Payment Sound Pro */
.spviet-order-cashier-main-pro{grid-template-columns:minmax(320px,1.05fr) minmax(300px,.95fr) minmax(420px,1.25fr);align-items:stretch}.spviet-order-cashier-board-panel{background:#fff;border-radius:24px;padding:16px;box-shadow:0 14px 36px rgba(15,23,42,.1);min-height:0;overflow:hidden;display:flex;flex-direction:column}.spviet-order-cashier-board-panel .spviet-order-panel-head{align-items:flex-start}.spviet-order-cashier-board-panel .spviet-order-panel-head p{margin:5px 0 0;color:#64748b;font-size:13px;font-weight:700}.spviet-order-sound-toggle{border:0;border-radius:999px;padding:10px 14px;font-weight:950;background:#f1f5f9;color:#0f172a;white-space:nowrap}.spviet-order-sound-toggle.is-on{background:#dcfce7;color:#166534}.spviet-order-cashier-board-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.spviet-order-cashier-board-tools label{display:flex;align-items:center;gap:8px;color:#334155;font-weight:900}.spviet-order-cashier-board-tools select{border:1px solid #cbd5e1;border-radius:12px;padding:9px 12px;font-weight:800;background:#fff}.spviet-order-cashier-alert{min-height:20px;border-radius:999px;padding:0 12px;font-size:12px;font-weight:950;display:flex;align-items:center;color:#b91c1c;background:#fff1f2;opacity:0;transform:translateY(-4px);transition:.2s ease}.spviet-order-cashier-alert.show{opacity:1;transform:translateY(0)}.spviet-order-cashier-tables{--spviet-cashier-table-columns:4;display:grid;grid-template-columns:repeat(var(--spviet-cashier-table-columns),minmax(0,1fr));gap:12px;overflow:auto;padding-right:4px;min-height:0}.spviet-order-cashier-table-card{border:2px solid #e5e7eb;border-radius:20px;background:#f8fafc;padding:13px;text-align:left;box-shadow:0 8px 22px rgba(15,23,42,.07);min-height:142px;display:flex;flex-direction:column;gap:8px;color:#0f172a}.spviet-order-cashier-table-card.active{outline:4px solid rgba(220,38,38,.18);border-color:#dc2626}.spviet-order-cashier-table-card[data-status="empty"]{border-color:#22c55e;background:#f0fdf4}.spviet-order-cashier-table-card[data-status="using"]{border-color:#f59e0b;background:#fffbeb}.spviet-order-cashier-table-card[data-status="payment_requested"]{border-color:#dc2626;background:#fff1f2;animation:spvietCashierPayPulse 1.1s ease-in-out infinite}.spviet-order-table-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.spviet-order-table-card-top strong{font-size:18px;line-height:1.1}.spviet-order-table-card-top span{border-radius:999px;background:#111827;color:#fff;padding:4px 8px;font-size:11px;font-weight:950;white-space:nowrap}.spviet-order-cashier-table-card[data-status="empty"] .spviet-order-table-card-top span{background:#16a34a}.spviet-order-cashier-table-card[data-status="using"] .spviet-order-table-card-top span{background:#d97706}.spviet-order-cashier-table-card[data-status="payment_requested"] .spviet-order-table-card-top span{background:#dc2626}.spviet-order-table-card-amount{font-size:24px;font-weight:950;color:#b91c1c}.spviet-order-cashier-table-card small{display:block;color:#475569;font-weight:750;line-height:1.35;flex:1}.spviet-order-table-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px}.spviet-order-table-card-bottom em{font-style:normal;color:#64748b;font-size:12px;font-weight:900}.spviet-order-table-card-bottom b{border-radius:999px;background:#0f172a;color:#fff;padding:5px 9px;font-size:11px}.spviet-order-cashier-list-panel,.spviet-order-cashier-detail-panel,.spviet-order-cashier-board-panel{border:1px solid rgba(15,23,42,.06)}@keyframes spvietCashierPayPulse{0%,100%{box-shadow:0 8px 22px rgba(220,38,38,.12)}50%{box-shadow:0 14px 34px rgba(220,38,38,.32)}}@media(max-width:1320px){.spviet-order-cashier-main-pro{grid-template-columns:1fr 1fr}.spviet-order-cashier-detail-panel{grid-column:1/-1}.spviet-order-cashier-tables{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:980px){.spviet-order-cashier-main-pro{grid-template-columns:1fr}.spviet-order-cashier-board-panel{max-height:46vh}.spviet-order-cashier-tables{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.spviet-order-cashier-tables{grid-template-columns:1fr}.spviet-order-cashier-board-tools{align-items:stretch;flex-direction:column}.spviet-order-cashier-board-tools label{justify-content:space-between}.spviet-order-sound-toggle{width:100%}}
.spviet-order-cashier-main-pro.spviet-order-cashier-no-board{grid-template-columns:minmax(320px,420px) 1fr}
@media(max-width:980px){.spviet-order-cashier-main-pro.spviet-order-cashier-no-board{grid-template-columns:1fr}}

/* v0.2.8 - Thu ngan chinh sua bill */
.spviet-order-bill-table-edit th:last-child,.spviet-order-bill-table-edit td:last-child{min-width:190px}.spviet-order-item-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.spviet-order-item-actions button{border:0;border-radius:10px;padding:8px 10px;background:#111827;color:#fff;font-weight:800;cursor:pointer}.spviet-order-item-actions button[disabled]{opacity:.38;cursor:not-allowed}.spviet-order-item-actions [data-cashier-item-cancel]{background:#b42318}.spviet-order-cancelled-row{opacity:.58;text-decoration:line-through;background:rgba(180,35,24,.06)}.spviet-order-cancelled-row em{display:inline-block;margin-top:4px;color:#b42318;text-decoration:none;font-weight:800}.spviet-order-bill-table{overflow:visible}.spviet-order-cashier-detail{overflow:auto}@media(max-width:900px){.spviet-order-bill-table-edit{min-width:760px}.spviet-order-cashier-detail{overflow-x:auto}}

/* v0.3.1 - Phan quyen nhan vien tren Thu ngan/KDS */
.spviet-order-staff-login{border:0;border-radius:999px;padding:10px 16px;font-weight:900;background:#fef3c7!important;color:#7c2d12!important;box-shadow:0 8px 20px rgba(0,0,0,.14);cursor:pointer}.spviet-order-staff-badge{display:inline-flex;align-items:center;min-height:34px;border-radius:999px;padding:0 10px;background:rgba(255,255,255,.16);color:#fff;font-weight:900;font-size:12px;white-space:nowrap}.spviet-order-header-actions .spviet-order-staff-badge:empty{display:none}@media(max-width:780px){.spviet-order-staff-badge{width:100%;justify-content:center}.spviet-order-staff-login{width:100%}}

/* v0.3.5 - PWA/Kiosk + Offline Guard */
.spviet-order-network-banner{position:fixed;left:50%;top:14px;transform:translate(-50%,-140%);z-index:2147483685;max-width:min(760px,calc(100vw - 28px));padding:12px 18px;border-radius:999px;background:#111827;color:#fff;font-weight:950;text-align:center;box-shadow:0 16px 42px rgba(0,0,0,.28);transition:.22s ease;pointer-events:none}.spviet-order-network-banner.show{transform:translate(-50%,0)}.spviet-order-network-banner.is-offline{background:#b91c1c}.spviet-order-network-banner.is-online{background:#166534}.spviet-order-send-order:disabled{opacity:.58;background:#94a3b8;cursor:not-allowed}@media(max-width:640px){.spviet-order-network-banner{border-radius:18px;top:8px;font-size:13px;line-height:1.35}}


.spviet-order-adjustments{margin:14px 0;padding:14px;border:1px solid rgba(15,23,42,.12);border-radius:18px;background:linear-gradient(135deg,#f8fafc,#eef6ff)}
.spviet-order-adjustments h4{margin:0 0 10px;font-size:16px}
.spviet-order-total-lines{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px}
.spviet-order-total-lines span{background:#fff;border:1px solid rgba(15,23,42,.10);border-radius:12px;padding:8px 10px;font-size:13px}
.spviet-order-adjustment-table td{vertical-align:middle}
.spviet-order-adjustment-form{display:grid;grid-template-columns:1fr 1fr 1.2fr 1fr 1.4fr auto;gap:8px;margin-top:10px;align-items:center}
.spviet-order-adjustment-form input,.spviet-order-adjustment-form select{min-height:38px;border:1px solid rgba(15,23,42,.18);border-radius:12px;padding:7px 10px;background:#fff}
.spviet-order-adjustment-form button,.spviet-order-adjustment-table button{border:0;border-radius:12px;padding:9px 12px;background:#2563eb;color:#fff;font-weight:700;cursor:pointer}
.spviet-order-adjustment-table button{background:#ef4444}
.spviet-order-adjustment-form button:disabled,.spviet-order-adjustment-table button:disabled{opacity:.45;cursor:not-allowed}
@media (max-width:900px){.spviet-order-adjustment-form{grid-template-columns:1fr 1fr}.spviet-order-adjustment-form button{grid-column:1/-1}}

/* v0.3.8 Payment Split / Table Ops Pro */
.spviet-order-payment-split,.spviet-order-table-ops{
  margin:14px 0;padding:14px;border:1px solid rgba(15,23,42,.12);border-radius:18px;background:linear-gradient(180deg,#ffffff,#f8fbff);box-shadow:0 12px 28px rgba(15,23,42,.06)
}
.spviet-order-payment-split h4,.spviet-order-table-ops h4{margin:0 0 10px;font-size:18px;font-weight:900;color:#0f172a}
.spviet-order-payment-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;align-items:end;margin-top:10px}
.spviet-order-payment-form input,.spviet-order-payment-form select{width:100%;min-height:42px;border:1px solid rgba(15,23,42,.18);border-radius:14px;padding:0 12px;background:#fff;font-weight:800;color:#0f172a}
.spviet-order-payment-form button{min-height:42px;border:0;border-radius:14px;background:#0ea5e9;color:white;font-weight:900;padding:0 14px;box-shadow:0 8px 18px rgba(14,165,233,.25)}
.spviet-order-payment-form button:disabled{opacity:.5;filter:grayscale(1)}
.spviet-order-status-grid b{display:inline-flex;align-items:center;gap:4px;border-radius:999px;background:#eef6ff;padding:2px 8px;color:#075985}

/* v0.3.9 - Kitchen Advanced / Course / SLA */
.spviet-order-kitchen-course-label{display:flex;align-items:center;gap:8px;font-weight:800;color:#e5e7eb}
.spviet-order-kitchen-course-label select{min-height:38px;border-radius:12px;border:1px solid rgba(255,255,255,.24);background:#fff;color:#0f172a;padding:0 10px;font-weight:800}
.spviet-order-kitchen-performance{grid-template-columns:1.4fr repeat(5,minmax(90px,1fr));gap:10px;margin:12px 18px 0;padding:12px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:18px}
.spviet-order-kitchen-performance>div{background:rgba(255,255,255,.94);color:#0f172a;border-radius:15px;padding:12px;box-shadow:0 10px 22px rgba(0,0,0,.12)}
.spviet-order-kitchen-performance .spviet-kitchen-perf-title{display:flex;align-items:center;font-weight:950;color:#1d4ed8;background:#eff6ff}
.spviet-order-kitchen-performance b{display:block;font-size:24px;line-height:1;font-weight:950;color:#0f172a}.spviet-order-kitchen-performance span{display:block;margin-top:6px;font-size:12px;font-weight:800;color:#64748b}
.spviet-order-kds-card.service-requested{border-color:#22c55e;box-shadow:0 0 0 2px rgba(34,197,94,.16),0 14px 30px rgba(0,0,0,.18)}
.spviet-order-kds-service{margin:8px 0 0;padding:8px 10px;border-radius:12px;background:#dcfce7;color:#166534;font-weight:950;border:1px solid #86efac}
.spviet-order-kds-lifecycle{margin-top:10px;padding:9px;border-radius:12px;background:#f8fafc;border:1px dashed #cbd5e1;color:#334155;font-size:11.5px;line-height:1.4}.spviet-order-kds-lifecycle strong{display:block;color:#0f172a;margin-bottom:5px}.spviet-order-kds-lifecycle span{display:block;margin-top:3px}.spviet-order-kds-lifecycle b{font-weight:900;color:#1d4ed8}
.spviet-order-kds-meta span:nth-child(2){text-align:right}
@media(max-width:1100px){.spviet-order-kitchen-performance{grid-template-columns:repeat(2,minmax(0,1fr))}.spviet-order-kitchen-performance .spviet-kitchen-perf-title{grid-column:1/-1}}
@media(max-width:720px){.spviet-order-kitchen-performance{grid-template-columns:1fr;margin-left:10px;margin-right:10px}.spviet-order-kitchen-course-label{width:100%}.spviet-order-kitchen-course-label select{flex:1}}

/* v0.4.0 Tablet UI Polish: hiện đại hơn, touch target lớn hơn, card món rõ hơn */
.spviet-order-app[data-modern-ui="yes"], .spviet-order-app {background:linear-gradient(180deg,#f8fafc 0%,#eef2f7 100%)}
.spviet-order-product{border:1px solid rgba(148,163,184,.22);box-shadow:0 18px 44px rgba(15,23,42,.12);transition:transform .14s ease, box-shadow .14s ease}
.spviet-order-product:active{transform:scale(.985);box-shadow:0 10px 28px rgba(15,23,42,.16)}
.spviet-order-product-body h3{line-height:1.25}.spviet-order-product-foot button{min-width:96px;min-height:48px;font-size:15px}
.spviet-order-cat{min-height:52px;border:1px solid rgba(148,163,184,.25)}.spviet-order-cat.active{box-shadow:0 12px 24px rgba(15,23,42,.18)}
.spviet-order-course-badge{display:inline-flex;align-items:center;gap:4px;width:max-content;max-width:100%;border-radius:999px;background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe;padding:4px 9px;font-size:12px;font-weight:900;margin-top:4px}
.spviet-order-bill-table .spviet-order-course-badge{margin:0}.spviet-order-kitchen-served-all{background:#dcfce7!important;border-color:#86efac!important;color:#166534!important}
@media(min-width:1200px){.spviet-order-products{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.spviet-order-product img,.spviet-order-no-img{height:172px}}

/* v0.4.1 Realtime Notification Center */
.spviet-order-notification-toggle{position:relative;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.12);color:#fff;border-radius:14px;padding:10px 14px;font-weight:800;cursor:pointer}
.spviet-order-notification-center{position:fixed;top:82px;right:18px;width:min(420px,calc(100vw - 28px));max-height:calc(100vh - 112px);z-index:2147483642;background:rgba(255,255,255,.98);border:1px solid rgba(15,23,42,.12);border-radius:22px;box-shadow:0 24px 70px rgba(15,23,42,.28);overflow:hidden;transform:translateX(calc(100% + 36px));transition:transform .22s ease;display:flex;flex-direction:column}
.spviet-order-notification-center.is-open{transform:translateX(0)}
.spviet-order-notification-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;background:linear-gradient(135deg,#0f172a,#1d4ed8);color:#fff}
.spviet-order-notification-head strong{font-size:17px;font-weight:900}.spviet-order-notification-head button{background:#fff;color:#0f172a;border:0;border-radius:12px;padding:8px 12px;font-weight:800;cursor:pointer}
.spviet-order-notification-status{padding:10px 18px;background:#eff6ff;color:#075985;font-weight:800;border-bottom:1px solid #dbeafe}.spviet-order-notification-list{overflow:auto;padding:14px;display:grid;gap:12px}
.spviet-order-notification-item{border:1px solid #e2e8f0;border-radius:16px;background:#fff;padding:12px 14px;box-shadow:0 10px 24px rgba(15,23,42,.08)}
.spviet-order-notification-item strong{display:block;color:#0f172a;font-size:15px;margin-bottom:5px}.spviet-order-notification-item span{display:block;color:#64748b;font-size:12px;font-weight:700;margin-bottom:6px}.spviet-order-notification-item p{margin:0;color:#334155;font-size:13px;line-height:1.45}.spviet-order-notification-item.priority-urgent{border-color:#fecaca;background:#fff7f7}.spviet-order-notification-item.priority-high{border-color:#fed7aa;background:#fffaf2}.spviet-order-notification-item.priority-normal{border-color:#bfdbfe;background:#f8fbff}
@media(max-width:760px){.spviet-order-notification-center{top:70px;right:8px;width:calc(100vw - 16px);max-height:calc(100vh - 86px)}}

/* v0.4.2 Service Call / Staff Communication */
.spviet-order-service-panel{display:flex;align-items:center;gap:14px;padding:10px 16px;background:rgba(255,255,255,.94);border-bottom:1px solid rgba(15,23,42,.08);box-shadow:0 8px 18px rgba(15,23,42,.06);z-index:3;position:relative}
.spviet-order-service-toggle{display:inline-flex;align-items:center;gap:10px;border:0;border-radius:18px;background:#0f172a;color:#fff;padding:12px 18px;font-weight:900;box-shadow:0 12px 28px rgba(15,23,42,.18);cursor:pointer;white-space:nowrap}.spviet-order-service-toggle span{font-size:18px}.spviet-order-service-toggle em{font-style:normal;transition:transform .18s ease}.spviet-order-service-panel.is-open .spviet-order-service-toggle em{transform:rotate(180deg)}
.spviet-order-service-buttons{display:none;gap:10px;flex-wrap:wrap;align-items:center}.spviet-order-service-panel.is-open .spviet-order-service-buttons{display:flex}
.spviet-order-service-btn{border:1px solid rgba(37,99,235,.18);background:linear-gradient(135deg,#eff6ff,#fff);border-radius:16px;padding:10px 14px;font-weight:900;color:#1e3a8a;box-shadow:0 10px 22px rgba(37,99,235,.10);display:flex;gap:8px;align-items:center;cursor:pointer}
.spviet-order-service-btn:active{transform:scale(.98)}
.spviet-order-service-result{min-width:180px;font-weight:800}
.spviet-order-service-center{margin:14px 16px;padding:14px;border-radius:22px;background:linear-gradient(135deg,#f8fafc,#eef6ff);border:1px solid rgba(37,99,235,.14);box-shadow:0 14px 34px rgba(15,23,42,.08)}
.spviet-order-service-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}
.spviet-order-service-card{background:#fff;border:1px solid rgba(15,23,42,.10);border-radius:18px;padding:12px;box-shadow:0 10px 24px rgba(15,23,42,.06)}
.spviet-order-service-card.status-new{border-color:rgba(239,68,68,.32);box-shadow:0 10px 24px rgba(239,68,68,.12)}
.spviet-order-service-card div:first-child{display:flex;flex-direction:column;gap:3px}.spviet-order-service-card strong{font-size:16px;color:#0f172a}.spviet-order-service-card span,.spviet-order-service-card em{font-size:12px;color:#64748b}.spviet-order-service-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.spviet-order-service-actions button{border:0;border-radius:12px;padding:8px 10px;background:#2563eb;color:#fff;font-weight:900}.spviet-order-service-actions button:last-child{background:#64748b}
@media(max-width:780px){.spviet-order-service-panel{align-items:flex-start;flex-direction:column}.spviet-order-service-toggle{width:100%;justify-content:center}.spviet-order-service-buttons{width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}.spviet-order-service-panel.is-open .spviet-order-service-buttons{display:grid}.spviet-order-service-btn{justify-content:center}}

/* v0.4.3 Advanced Kitchen-to-Service Runner Pro */
.spviet-order-runner-app{min-height:100vh;background:#eef4ff;color:#0f172a}
.spviet-order-runner-main{display:grid;grid-template-columns:1fr;gap:18px;padding:18px;height:calc(100vh - 156px);overflow:auto}
.spviet-order-runner-column{min-height:calc(100vh - 190px)}
.spviet-order-runner-card .spviet-order-kds-actions button{background:#0f766e;color:#fff;border-color:#0f766e;font-size:17px;font-weight:900;padding:14px 18px;border-radius:16px}
.spviet-order-runner-card.warning{border-color:#f59e0b;background:#fff7ed}
.spviet-order-runner-card.danger{border-color:#ef4444;background:#fff1f2;box-shadow:0 14px 36px rgba(239,68,68,.16)}
.spviet-order-runner-summary{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:900px){.spviet-order-runner-summary{grid-template-columns:1fr 1fr}.spviet-order-runner-main{height:auto}}

/* v0.4.4 Inventory Sold-out UI */
.spviet-order-product.is-soldout{opacity:.58;filter:grayscale(.35)}
.spviet-order-product.is-soldout button[disabled]{cursor:not-allowed}
.spviet-order-stock-pill{display:inline-flex;align-items:center;width:max-content;margin:6px 0 8px;padding:4px 9px;border-radius:999px;background:#eff6ff;border:1px solid #bfdbfe;font-size:12px;font-weight:800;color:#1d4ed8}

/* v0.4.5 - Cashier Loyalty panel */
.spviet-order-loyalty-panel{background:#f8fbff;border:1px solid #bfdbfe;border-radius:18px;padding:14px;margin:12px 0;box-shadow:0 8px 20px rgba(37,99,235,.08)}.spviet-order-loyalty-panel h4{margin:0 0 10px}.spviet-order-loyalty-card{display:flex;flex-wrap:wrap;gap:10px;align-items:center;background:#fff;border:1px dashed #93c5fd;border-radius:14px;padding:10px;margin-bottom:10px}.spviet-order-loyalty-card.is-linked{border-style:solid;background:#eff6ff}.spviet-order-loyalty-card strong{font-size:16px}.spviet-order-loyalty-card em{font-style:normal;color:#1d4ed8;font-weight:800}

/* v0.4.7 Loyalty Sync Warning */
.spviet-order-loyalty-card.has-sync-warning{border-color:#ef4444;background:#fff1f2;box-shadow:0 10px 24px rgba(239,68,68,.14)}
.spviet-order-loyalty-sync-warning{flex-basis:100%;margin-top:8px;padding:10px 12px;border-radius:12px;background:#fee2e2;color:#991b1b;font-weight:800;line-height:1.35}

/* v0.4.8 - Tablet menu image/readability fixes */
.spviet-order-product.no-image .spviet-order-no-img{display:flex;align-items:center;justify-content:center;text-align:center;padding:14px;background:linear-gradient(135deg,#fff1e8,#fff7cc);color:#991b1b;font-weight:900;line-height:1.35}
.spviet-order-product img{object-fit:cover;background:#f8fafc}


/* v0.4.9 Tablet Media / Service Call Operation Pro */
.spviet-order-tablet-tools{display:flex;align-items:center;gap:10px;padding:10px 18px;background:#fff;border-bottom:1px solid rgba(15,23,42,.08);box-shadow:0 10px 22px rgba(15,23,42,.05);z-index:2}.spviet-order-searchbox{flex:1;min-width:240px;display:flex;align-items:center;gap:8px;background:#f8fafc;border:1px solid #dbe4ef;border-radius:18px;padding:0 14px}.spviet-order-searchbox input{width:100%;border:0;background:transparent;padding:13px 2px;font-size:16px;font-weight:800;outline:0}.spviet-order-tablet-tools button{border:1px solid #e5e7eb;background:#f8fafc;border-radius:999px;padding:11px 14px;font-weight:950;color:#0f172a}.spviet-order-tablet-tools button.active{background:#111827;color:#fff;border-color:#111827}.spviet-order-service-buttons[hidden]{display:none!important}.spviet-order-product-badges{display:flex;gap:6px;flex-wrap:wrap;min-height:18px}.spviet-order-product-badges span{font-size:11px;font-weight:950;border-radius:999px;background:#fee2e2;color:#991b1b;padding:3px 7px}.spviet-order-product.just-added{animation:spvietOrderAddPulse .52s ease}.spviet-order-cart-row img{width:54px;height:54px;border-radius:14px;object-fit:cover;background:#f1f5f9;flex:0 0 auto}.spviet-order-cart-row em{display:block;font-style:normal;color:#334155;font-size:12px;margin-top:3px}.spviet-order-modifier-card,.spviet-order-confirm-card{width:min(760px,96vw);max-height:92vh;overflow:auto}.spviet-order-modifier-body{display:flex;flex-direction:column;gap:14px}.spviet-order-modifier-group{border:1px solid #e5e7eb;border-radius:18px;padding:14px;background:#f8fafc}.spviet-order-modifier-group h3{margin:0 0 10px;font-size:17px}.spviet-order-modifier-group label{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:10px 12px;margin:8px 0;font-weight:850}.spviet-order-modifier-group input{width:auto}.spviet-order-confirm-items{display:flex;flex-direction:column;gap:10px;max-height:50vh;overflow:auto;margin:12px 0}.spviet-order-confirm-row{display:flex;gap:12px;align-items:center;border:1px solid #e5e7eb;border-radius:18px;padding:10px;background:#f8fafc}.spviet-order-confirm-row img,.spviet-order-confirm-no-img{width:72px;height:72px;border-radius:16px;object-fit:cover;background:#fee2e2;display:flex;align-items:center;justify-content:center;text-align:center;font-size:11px;font-weight:950;color:#991b1b;flex:0 0 auto}.spviet-order-confirm-row strong{display:block;font-size:16px}.spviet-order-confirm-row em{display:block;font-style:normal;color:#475569;margin-top:3px}.spviet-order-confirm-row span{display:block;color:#b91c1c;font-weight:950;margin-top:5px}.spviet-order-confirm-total{font-size:20px;font-weight:900;text-align:right}.spviet-order-service-card.status-processing{border-color:rgba(245,158,11,.4);background:#fffbeb}.spviet-order-service-actions button[data-service-status="processing"]{background:#f59e0b;color:#111827}@keyframes spvietOrderAddPulse{0%{transform:scale(1)}45%{transform:scale(1.035);box-shadow:0 24px 58px rgba(220,38,38,.28)}100%{transform:scale(1)}}@media(max-width:780px){.spviet-order-tablet-tools{flex-wrap:wrap}.spviet-order-searchbox{width:100%;min-width:0}.spviet-order-tablet-tools button{flex:1}}

/* v0.5.0 - Tablet lock / Cashier empty session / Printer status */
.spviet-order-product.is-locked{opacity:.78;filter:saturate(.85)}
.spviet-order-product.is-locked button[disabled]{background:#991b1b!important;color:#fff!important;cursor:not-allowed;opacity:.95}
.spviet-order-lock-note,.spviet-order-payment-lock{margin:.5rem 0;padding:.55rem .75rem;border-radius:14px;background:#fef2f2;border:1px solid #fecaca;color:#991b1b;font-weight:800;line-height:1.35}
.spviet-order-empty-session{padding:1.2rem;border-radius:22px;background:#fff;border:1px solid #dbeafe;box-shadow:0 18px 50px rgba(15,23,42,.08)}
.spviet-order-empty-session h3{margin:.2rem 0 .7rem;font-size:1.25rem;color:#0f172a}
.spviet-order-empty-session p{margin:.3rem 0 1rem;color:#475569;font-weight:700}
.spviet-order-cashier-alert.printer-alert{background:#fff7ed;border:1px solid #fb923c;color:#9a3412;padding:.65rem .85rem;border-radius:999px;font-weight:800;box-shadow:0 12px 28px rgba(251,146,60,.18)}
.spviet-order-print-badge{display:inline-flex;align-items:center;gap:.35rem;margin:.35rem 0;padding:.35rem .6rem;border-radius:999px;font-size:.78rem;font-weight:900;border:1px solid #dbeafe;background:#eff6ff;color:#1d4ed8}
.spviet-order-print-badge.printed{background:#ecfdf5;border-color:#86efac;color:#15803d}
.spviet-order-print-badge.failed{background:#fef2f2;border-color:#fecaca;color:#b91c1c}
.spviet-order-print-badge.pending{background:#fffbeb;border-color:#fde68a;color:#b45309}

/* v0.5.1 - Payment Finalization / Bill Lifecycle Hardening */
.spviet-order-lifecycle-panel{margin:14px 0;padding:16px;border-radius:18px;background:linear-gradient(135deg,#fff,#eef7ff);border:1px solid #cfe3ff;box-shadow:0 12px 30px rgba(15,23,42,.07)}
.spviet-order-lifecycle-panel h4{margin:0 0 12px;font-size:16px;color:#0f172a}
.spviet-order-lifecycle-blockers{margin-top:10px;padding:10px 12px;border-radius:14px;background:#fff1f2;border:1px solid #fecdd3;color:#991b1b;font-weight:800}
.spviet-order-lifecycle-blockers p{margin:4px 0}.spviet-order-lifecycle-ok{margin-top:10px;padding:10px 12px;border-radius:14px;background:#ecfdf5;border:1px solid #bbf7d0;color:#166534;font-weight:800}
.spviet-order-cashier-alert.printer-alert{background:#fff7ed;border-color:#fed7aa;color:#9a3412}

/* v0.5.2 - Tablet card hardening: khung món đồng đều, nút Thêm luôn nằm trong vùng chạm */
.spviet-order-products{align-items:stretch;grid-auto-rows:1fr}.spviet-order-product{height:360px;min-height:360px;max-height:360px;overflow:hidden}.spviet-order-product img,.spviet-order-product .spviet-order-no-img{height:148px;min-height:148px;max-height:148px;flex:0 0 148px}.spviet-order-product-body{min-height:0;height:212px;overflow:hidden}.spviet-order-product-body h3{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:48px;max-height:48px}.spviet-order-product-body p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;max-height:55px;min-height:0;flex:0 0 auto}.spviet-order-product-foot{margin-top:auto;min-height:54px;flex:0 0 auto}.spviet-order-product-foot button{touch-action:manipulation;position:relative;z-index:2}.spviet-order-product.is-locked{opacity:1;filter:none}.spviet-order-product.is-locked .spviet-order-lock-note{font-size:12px;line-height:1.25;background:#fff1f2;border:1px solid #fecaca;color:#991b1b;border-radius:12px;padding:6px 8px;font-weight:900;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.spviet-order-product.is-locked .spviet-order-product-foot button:not(:disabled){background:#991b1b!important;color:#fff!important;opacity:1}.spviet-order-kitchen-alerts{display:flex;flex-direction:column;gap:8px;margin:8px 0 12px}.spviet-order-kitchen-alert{border-radius:14px;padding:10px 12px;font-weight:900;border:1px solid rgba(220,38,38,.25);background:#fff1f2;color:#991b1b}.spviet-order-kitchen-alert.warn{background:#fffbeb;color:#92400e;border-color:#fde68a}.spviet-order-kitchen-filterbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:8px 0 12px}.spviet-order-kitchen-filterbar input,.spviet-order-kitchen-filterbar select{border:1px solid #cbd5e1;border-radius:12px;padding:9px 12px;font-weight:800;background:#fff}.spviet-order-kitchen-group-card{border:1px solid #e5e7eb;border-radius:18px;background:#fff;padding:12px;margin-bottom:10px;box-shadow:0 8px 20px rgba(15,23,42,.06)}.spviet-order-kitchen-group-card strong{display:block;font-size:16px}.spviet-order-kitchen-group-card em{font-style:normal;color:#64748b;font-size:12px}.spviet-order-kitchen-group-card .spviet-order-kitchen-group-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
@media(min-width:1200px){.spviet-order-product{height:382px;min-height:382px;max-height:382px}.spviet-order-product img,.spviet-order-product .spviet-order-no-img{height:164px;min-height:164px;max-height:164px;flex-basis:164px}.spviet-order-product-body{height:218px}}
@media(max-width:980px){.spviet-order-product{height:348px;min-height:348px;max-height:348px}.spviet-order-product img,.spviet-order-product .spviet-order-no-img{height:140px;min-height:140px;max-height:140px;flex-basis:140px}.spviet-order-product-body{height:208px}}
.spviet-order-no-img-pro{display:flex!important;align-items:center!important;justify-content:center!important;background:linear-gradient(135deg,#fff7ed,#fff1f2)!important;color:#991b1b!important}.spviet-order-placeholder-card{width:86%;height:78%;border:2px solid #a30d1a;border-radius:14px;background:#fffaf0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;box-shadow:inset 0 0 0 1px rgba(163,13,26,.08)}.spviet-order-placeholder-top{width:82%;display:flex;align-items:center;gap:8px}.spviet-order-placeholder-top span{width:32px;height:32px;border-radius:999px;background:#a30d1a;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:1000}.spviet-order-placeholder-top b{flex:1;background:#a30d1a;color:#fff;border-radius:999px;text-align:center;font-size:12px;letter-spacing:.5px}.spviet-order-placeholder-plate{width:62px;height:62px;border:2px solid #e19d2b;border-radius:999px;position:relative;background:radial-gradient(circle at center,#ffd892 0 35%,transparent 36% 100%)}.spviet-order-placeholder-plate:after{content:"";position:absolute;right:-34px;top:-7px;width:8px;height:84px;border-left:4px solid #a30d1a;border-right:4px solid #a30d1a}.spviet-order-placeholder-card small{font-size:10px;font-weight:900;color:#a30d1a}

/* v0.5.4 Cashier Split/Merge Pro */
.spviet-order-split-check{display:inline-flex;align-items:center;gap:6px;margin-right:8px;padding:4px 8px;border:1px solid #dbe4f2;border-radius:999px;background:#f8fbff;font-size:12px;font-weight:800;color:#15315d}
.spviet-order-pay-ops{display:flex;gap:6px;flex-wrap:wrap}
.spviet-order-pay-ops button{border:1px solid #d6e2f4;background:#fff;border-radius:10px;padding:6px 8px;font-weight:800;cursor:pointer}
.spviet-order-bill-split-panel{border:1px solid #fde68a;background:linear-gradient(135deg,#fffaf0,#ffffff)}
.spviet-order-bill-split-panel p{margin:0 0 10px;color:#64748b;font-weight:700}

/* v0.5.5 Cashier Shift / Payment Ops / Split-Merge Polish */
.spviet-order-cashier-shift-panel,
.spviet-order-payment-ops-panel{
  margin:14px;
  padding:16px;
  border-radius:22px;
  background:linear-gradient(135deg, rgba(255,255,255,.98), rgba(245,248,255,.96));
  box-shadow:0 14px 34px rgba(15,23,42,.10);
  border:1px solid rgba(148,163,184,.22);
}
.spviet-order-shift-actions,
.spviet-order-payment-ops-filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.spviet-order-shift-actions button,
.spviet-order-payment-ops-panel button{border:0;border-radius:14px;padding:10px 14px;font-weight:800;background:#0f172a;color:#fff;cursor:pointer}
.spviet-order-shift-current{margin-top:10px}
.spviet-order-shift-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}
.spviet-order-shift-grid span,.spviet-order-shift-empty{display:block;border-radius:16px;background:#fff;padding:12px;border:1px solid rgba(148,163,184,.24)}
.spviet-order-shift-empty strong{display:block;font-size:18px;color:#b45309}.spviet-order-shift-empty span{display:block;color:#475569;margin-top:4px}
.spviet-order-payment-ops-filters input,.spviet-order-payment-ops-filters select,
.spviet-order-split-qty{border:1px solid rgba(148,163,184,.5);border-radius:12px;padding:9px 10px;background:#fff}
.spviet-order-payment-ops-list{margin-top:12px;max-height:310px;overflow:auto}.spviet-order-payment-ops-list table{min-width:780px}
.spviet-order-split-check{display:inline-flex;align-items:center;gap:4px;margin-right:8px;font-weight:800;color:#0f766e}.spviet-order-split-qty{width:76px;margin-right:8px;padding:6px 8px}
.spviet-order-bill-merge-panel{border-color:rgba(59,130,246,.25)!important;background:linear-gradient(135deg,#eff6ff,#fff)!important}
.spviet-order-merge-preview{margin-top:10px}.spviet-order-merge-preview strong{display:block;margin-bottom:8px}.spviet-order-result .is-warning,.spviet-order-merge-preview .is-warning{color:#b45309;font-weight:800}
.spviet-order-split-badge{display:inline-flex;margin:3px 6px 3px 0;padding:3px 8px;border-radius:999px;background:#e0f2fe;color:#0369a1;font-weight:900;font-size:11px;letter-spacing:.03em}
.spviet-order-kds-card .spviet-order-split-badge{margin:8px 0;background:#fef3c7;color:#92400e}
@media (max-width:900px){.spviet-order-cashier-shift-panel,.spviet-order-payment-ops-panel{margin:10px;padding:12px}.spviet-order-payment-ops-filters input,.spviet-order-payment-ops-filters select{width:100%}.spviet-order-shift-actions button{flex:1 1 120px}.spviet-order-payment-ops-list{max-height:240px}}

/* v0.5.6 Tablet product card polish: hỗ trợ tên món tiếng Việt/Nhật/Trung dài và giữ nút Thêm dễ bấm. */
.spviet-order-product-v056 .spviet-order-product-body{min-width:0;}
.spviet-order-product-v056 h3{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  word-break:break-word;
  overflow-wrap:anywhere;
  line-height:1.22;
  min-height:2.44em;
}
.spviet-order-product-v056 p{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  word-break:break-word;
  overflow-wrap:anywhere;
}
.spviet-order-product-v056 .spviet-order-product-foot{
  gap:10px;
  align-items:center;
}
.spviet-order-product-v056 .spviet-order-product-foot strong{
  white-space:nowrap;
  flex:0 0 auto;
}
.spviet-order-product-v056 [data-add-product]{
  min-width:92px;
  min-height:48px;
  padding:10px 14px;
  touch-action:manipulation;
  position:relative;
  z-index:2;
}
.spviet-order-product.just-added{
  transform:translateY(-2px) scale(1.01);
}
#spviet-order-notification-status{
  white-space:normal;
  overflow-wrap:anywhere;
}

/* v0.5.7 - Tablet/Cashier layout hardening: compact tablet topbar, customer gate, cashier side dock */
.spviet-order-tablet-topbar-pro{height:auto;min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:8px 14px;z-index:10;position:relative}.spviet-order-tablet-topbar-pro .spviet-order-session-info{gap:8px;position:relative}.spviet-order-table-pill{border:0;border-radius:999px;background:#0f172a;color:#fff;padding:10px 15px;font-weight:950;box-shadow:0 10px 22px rgba(15,23,42,.16);cursor:pointer;white-space:nowrap}.spviet-order-session-summary-compact{font-weight:850;color:#334155;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spviet-order-top-action-row{gap:8px;flex:1 1 auto;justify-content:flex-end;flex-wrap:wrap}.spviet-order-top-action-row>button,.spviet-order-service-panel-inline .spviet-order-service-toggle{min-height:44px;border:0;border-radius:999px;padding:10px 14px;font-weight:950;background:#fff;color:#0f172a;box-shadow:0 8px 18px rgba(15,23,42,.08);cursor:pointer}.spviet-order-top-action-row>button.active{background:#0f172a;color:#fff}.spviet-order-service-panel-inline{display:inline-flex;align-items:center;gap:8px;padding:0;background:transparent;border:0;box-shadow:none;position:relative;z-index:12}.spviet-order-service-panel-inline .spviet-order-service-toggle{background:#0f172a;color:#fff}.spviet-order-service-panel-inline .spviet-order-service-buttons{position:absolute;top:calc(100% + 8px);left:0;min-width:280px;display:none;background:#fff;border:1px solid rgba(148,163,184,.28);border-radius:18px;padding:10px;box-shadow:0 24px 60px rgba(15,23,42,.22);z-index:2147483662}.spviet-order-service-panel-inline.is-open .spviet-order-service-buttons{display:grid;grid-template-columns:1fr;gap:8px}.spviet-order-service-panel-inline .spviet-order-result{position:absolute;top:calc(100% + 8px);left:0;transform:translateY(100%);background:#fff;border-radius:12px;padding:6px 10px;box-shadow:0 12px 28px rgba(15,23,42,.16);min-width:220px}.spviet-order-table-popover{position:absolute;top:calc(100% + 10px);left:0;width:min(520px,92vw);background:#fff;border:1px solid rgba(148,163,184,.3);border-radius:22px;padding:14px;box-shadow:0 28px 70px rgba(15,23,42,.24);z-index:2147483661}.spviet-order-table-popover-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.spviet-order-table-popover-head button{border:0;border-radius:999px;background:#f1f5f9;padding:8px 12px;font-weight:900}.spviet-order-search-card{width:min(620px,96vw)}.spviet-order-searchbox-modal{display:flex!important;width:100%;min-width:0}.spviet-order-guest-card,.spviet-order-terms-card{width:min(620px,96vw)}.spviet-order-guest-card input{font-size:34px;text-align:center;font-weight:950}.spviet-order-terms-list{padding-left:1.4rem;font-size:18px;line-height:1.65;font-weight:850;color:#0f172a}.spviet-order-terms-card .spviet-order-modal-actions button:last-child,.spviet-order-guest-card .spviet-order-modal-actions button:last-child{background:#dc2626;color:#fff}.spviet-order-idle-screen{cursor:pointer}.spviet-order-product [data-add-product]{pointer-events:auto!important}.spviet-order-products{position:relative;z-index:1}.spviet-order-main{min-height:0}.spviet-order-cashier-app{overflow:hidden}.spviet-order-cashier-main-pro{flex:1;min-height:0;height:auto;padding-top:14px}.spviet-order-cashier-ops-dock{position:fixed;right:12px;top:86px;bottom:12px;width:min(560px,94vw);background:rgba(255,255,255,.98);border:1px solid rgba(148,163,184,.28);border-radius:24px;box-shadow:0 28px 76px rgba(15,23,42,.28);z-index:2147483665;transition:transform .22s ease;display:flex;flex-direction:column;overflow:visible}.spviet-order-cashier-ops-dock.is-collapsed{transform:translateX(calc(100% - 54px))}.spviet-order-cashier-ops-toggle{position:absolute;left:-50px;top:18px;width:58px;min-height:168px;border:0;border-radius:18px 0 0 18px;background:#0f172a;color:#fff;font-weight:950;box-shadow:0 18px 40px rgba(15,23,42,.25);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;cursor:pointer}.spviet-order-cashier-ops-toggle b{writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:.04em}.spviet-order-cashier-ops-scroll{min-height:0;overflow:auto;padding:14px}.spviet-order-cashier-ops-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;position:sticky;top:0;background:rgba(255,255,255,.96);z-index:2;padding-bottom:8px}.spviet-order-cashier-ops-head strong{font-size:20px}.spviet-order-cashier-ops-head button{border:0;border-radius:999px;background:#f1f5f9;padding:9px 12px;font-weight:900}.spviet-order-cashier-ops-dock .spviet-order-service-center,.spviet-order-cashier-ops-dock .spviet-order-cashier-shift-panel,.spviet-order-cashier-ops-dock .spviet-order-payment-ops-panel{margin:0 0 12px!important;padding:14px!important;border-radius:18px}.spviet-order-cashier-ops-dock .spviet-order-panel-head{align-items:flex-start;gap:10px}.spviet-order-cashier-ops-dock .spviet-order-panel-head p{margin:.35rem 0 0}.spviet-order-cashier-ops-dock .spviet-order-payment-ops-filters input,.spviet-order-cashier-ops-dock .spviet-order-payment-ops-filters select{flex:1 1 160px}.spviet-order-cashier-ops-dock .spviet-order-payment-ops-list{max-height:260px}.spviet-order-cashier-ops-dock.is-collapsed .spviet-order-cashier-ops-scroll{pointer-events:none;opacity:.12}.spviet-order-service-center{background:linear-gradient(135deg,#f8fbff,#fff);border:1px solid rgba(148,163,184,.22);box-shadow:0 14px 34px rgba(15,23,42,.08);border-radius:22px;padding:16px}.spviet-order-service-list{max-height:210px;overflow:auto}@media(max-width:980px){.spviet-order-tablet-topbar-pro{align-items:stretch}.spviet-order-top-action-row{justify-content:flex-start}.spviet-order-top-action-row>button,.spviet-order-service-panel-inline{flex:1 1 auto}.spviet-order-service-panel-inline .spviet-order-service-toggle{width:100%;justify-content:center}.spviet-order-session-summary-compact{max-width:none;white-space:normal}.spviet-order-cashier-ops-dock{top:76px;right:8px;bottom:8px}.spviet-order-cashier-main-pro{grid-template-columns:1fr!important;overflow:auto}}@media(max-width:640px){.spviet-order-top-action-row>button{flex:1 1 calc(50% - 8px)}.spviet-order-service-panel-inline{flex:1 1 100%}.spviet-order-table-popover{left:0;width:calc(100vw - 32px)}.spviet-order-cashier-ops-dock{width:calc(100vw - 28px)}.spviet-order-cashier-ops-dock.is-collapsed{transform:translateX(calc(100% - 50px))}.spviet-order-cashier-ops-toggle{left:-46px;width:52px}.spviet-order-cashier-ops-dock .spviet-order-panel-head{flex-direction:column}.spviet-order-shift-actions button{width:100%}}

/* v0.5.8 hotfix: Cashier dock toggle moved to the top-right edge and no longer covers bill content. */
.spviet-order-cashier-ops-toggle-floating{
  position:fixed!important;
  top:84px!important;
  right:0!important;
  left:auto!important;
  width:auto!important;
  min-width:96px!important;
  min-height:48px!important;
  height:48px!important;
  border-radius:18px 0 0 18px!important;
  padding:0 14px!important;
  z-index:2147483675!important;
  background:#0f172a!important;
  color:#fff!important;
  display:inline-flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  box-shadow:0 18px 42px rgba(15,23,42,.28)!important;
}
.spviet-order-cashier-ops-toggle-floating b{writing-mode:horizontal-tb!important;text-orientation:mixed!important;letter-spacing:0!important;white-space:nowrap!important;}
.spviet-order-cashier-ops-dock{top:140px!important;right:0!important;bottom:12px!important;border-radius:24px 0 0 24px!important;}
.spviet-order-cashier-ops-dock.is-collapsed{transform:translateX(calc(100% + 16px))!important;pointer-events:none!important;}
.spviet-order-cashier-ops-dock:not(.is-collapsed){transform:translateX(0)!important;pointer-events:auto!important;}
.spviet-order-cashier-ops-dock.is-collapsed .spviet-order-cashier-ops-scroll{pointer-events:none!important;opacity:0!important;}
.spviet-order-cashier-main-pro{padding-right:16px!important;}

/* v0.5.8 hotfix: customer Tablet topbar is compact. Do not show the old 'Đặt bàn' badge to guests. */
.spviet-order-tablet-app .spviet-order-mode-badge{display:none!important;}
.spviet-order-tablet-app .spviet-order-table-pill{font-size:15px!important;}

/* v0.5.8 hotfix: hidden layers must never steal clicks from product cards/Add button. */
.spviet-order-modal:not(.show),
.spviet-order-idle-screen:not(.show),
.spviet-order-cart:not(.open),
.spviet-order-history:not(.open){pointer-events:none!important;}
.spviet-order-products,
.spviet-order-product,
.spviet-order-product-body,
.spviet-order-product-foot,
.spviet-order-product [data-add-product]{pointer-events:auto!important;}
.spviet-order-product [data-add-product]{cursor:pointer!important;touch-action:manipulation!important;min-width:82px!important;}

@media(max-width:980px){
  .spviet-order-cashier-ops-toggle-floating{top:76px!important;min-width:88px!important;height:46px!important;}
  .spviet-order-cashier-ops-dock{top:130px!important;width:min(560px,calc(100vw - 16px))!important;}
}

/* v0.5.9 - Tablet restaurant-order layout like dedicated order machine */
.spviet-order-tablet-app{
  background:#101419!important;
  color:#f8fafc!important;
}
.spviet-order-tablet-app .spviet-order-header{
  height:46px!important;
  min-height:46px!important;
  padding:4px 12px!important;
  background:linear-gradient(180deg,#2a241f,#0b0f14)!important;
  border-bottom:1px solid rgba(255,215,130,.35)!important;
  box-shadow:none!important;
}
.spviet-order-tablet-app .spviet-order-header strong{font-size:14px!important;color:#fef3c7!important;white-space:nowrap;}
.spviet-order-tablet-app .spviet-order-header span{font-size:12px!important;color:#d1d5db!important;}
.spviet-order-tablet-app .spviet-order-header-actions{gap:7px!important;}
.spviet-order-tablet-app .spviet-order-lang-select,
.spviet-order-tablet-app .spviet-order-header button{
  min-height:34px!important;
  border-radius:999px!important;
  padding:6px 10px!important;
  background:#f7edd7!important;
  color:#1f2937!important;
  font-weight:950!important;
}
.spviet-order-tablet-app .spviet-order-cart-button{display:none!important;}
.spviet-order-tablet-topbar-pro{
  min-height:46px!important;
  padding:5px 10px!important;
  background:#1f2933!important;
  border-bottom:1px solid rgba(255,215,130,.25)!important;
  box-shadow:none!important;
  color:#fff!important;
}
.spviet-order-tablet-topbar-pro .spviet-order-session-summary-compact,
.spviet-order-tablet-topbar-pro .spviet-order-mode-badge{display:none!important;}
.spviet-order-table-pill{
  min-height:34px!important;
  padding:7px 12px!important;
  border-radius:6px!important;
  background:#2d3748!important;
  border:1px solid rgba(250,204,21,.42)!important;
  color:#fde68a!important;
  box-shadow:none!important;
}
.spviet-order-top-action-row{gap:6px!important;justify-content:flex-end!important;}
.spviet-order-top-action-row>button,
.spviet-order-service-panel-inline .spviet-order-service-toggle{
  min-height:34px!important;
  border-radius:999px!important;
  padding:6px 10px!important;
  background:#f4ead6!important;
  color:#1f2937!important;
  box-shadow:none!important;
  border:1px solid rgba(120,53,15,.18)!important;
}
.spviet-order-top-action-row [data-view]{display:none!important;}
.spviet-order-tablet-main-v059,
.spviet-order-tablet-app .spviet-order-main{
  display:flex!important;
  flex-direction:column!important;
  gap:0!important;
  flex:1 1 auto!important;
  min-height:0!important;
  padding:0 0 72px 0!important;
  background:#111827!important;
}
.spviet-order-tablet-app .spviet-order-categories{
  flex:0 0 auto!important;
  display:flex!important;
  align-items:stretch!important;
  gap:0!important;
  padding:0!important;
  height:58px!important;
  border-radius:0!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  background:#e8d5b8!important;
  box-shadow:none!important;
  border-bottom:2px solid #6b4d25!important;
}
.spviet-order-tablet-app .spviet-order-cat{
  width:auto!important;
  min-width:150px!important;
  max-width:220px!important;
  height:58px!important;
  margin:0!important;
  border-radius:0!important;
  padding:6px 12px!important;
  background:linear-gradient(180deg,#fff8e7,#d8bc8b)!important;
  border-right:1px solid #8b6b38!important;
  color:#1f2937!important;
  text-align:center!important;
  font-size:16px!important;
  line-height:1.2!important;
  font-weight:950!important;
  white-space:normal!important;
}
.spviet-order-tablet-app .spviet-order-cat.active{
  background:linear-gradient(180deg,#ffe38b,#d99b20)!important;
  color:#111827!important;
  box-shadow:inset 0 -4px 0 #7c2d12!important;
}
.spviet-order-tablet-app .spviet-order-products{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:auto!important;
  padding:10px 374px 12px 10px!important;
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(230px,1fr))!important;
  gap:12px!important;
  background:#18202a!important;
}
.spviet-order-home-grid{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:10px;
  align-content:start;
}
.spviet-order-home-cat{
  position:relative;
  min-height:150px;
  border:3px solid #7c5a2b;
  border-radius:4px;
  overflow:hidden;
  background:#fff7ed;
  color:#7f1d1d;
  box-shadow:0 12px 28px rgba(0,0,0,.28);
  cursor:pointer;
  padding:0;
}
.spviet-order-home-cat img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(1.1) contrast(1.04);}
.spviet-order-home-cat span{
  position:absolute;left:8px;right:8px;bottom:26px;
  display:block;padding:5px 8px;
  background:rgba(255,255,255,.88);
  font-size:24px;line-height:1.05;font-weight:1000;
  text-shadow:0 1px 0 #fff;
}
.spviet-order-home-cat em{
  position:absolute;right:8px;bottom:6px;
  background:#7f1d1d;color:#fff;font-style:normal;font-weight:950;
  border-radius:999px;padding:3px 9px;font-size:12px;
}
.spviet-order-home-cat-fallback{height:170px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#fef3c7,#fee2e2);font-weight:1000;color:#991b1b;}
.spviet-order-product-v059{
  position:relative!important;
  border-radius:4px!important;
  border:3px solid #7c5a2b!important;
  background:#f8f3e7!important;
  color:#111827!important;
  min-height:260px!important;
  box-shadow:0 14px 32px rgba(0,0,0,.34)!important;
  cursor:pointer!important;
}
.spviet-order-product-v059.in-cart{border-color:#f59e0b!important;box-shadow:0 0 0 3px rgba(245,158,11,.35),0 14px 32px rgba(0,0,0,.34)!important;}
.spviet-order-product-v059 img,.spviet-order-product-v059 .spviet-order-no-img{height:150px!important;border-bottom:2px solid #6b4d25!important;}
.spviet-order-product-v059 .spviet-order-product-body{padding:10px!important;gap:5px!important;}
.spviet-order-product-v059 h3{font-size:20px!important;line-height:1.12!important;font-weight:950!important;min-height:2.2em!important;}
.spviet-order-product-v059 p{display:none!important;}
.spviet-order-product-v059 .spviet-order-product-badges{min-height:0!important;}
.spviet-order-product-v059 .spviet-order-product-badges span{font-size:10px!important;background:#111827!important;color:#fff!important;border-radius:999px!important;padding:2px 6px!important;}
.spviet-order-product-v059 .spviet-order-product-foot strong{font-size:22px!important;color:#111827!important;}
.spviet-order-product-v059 [data-add-product]{
  min-width:56px!important;min-height:46px!important;border-radius:10px!important;
  font-size:26px!important;line-height:1!important;background:#b45309!important;color:#fff!important;
  position:relative!important;z-index:5!important;touch-action:manipulation!important;
}
.spviet-order-product-qty-badge{
  position:absolute;z-index:6;left:50%;top:48%;transform:translate(-50%,-50%);
  width:86px;height:86px;border-radius:999px;display:flex;align-items:center;justify-content:center;
  font-size:64px;font-weight:1000;color:#ef4444;background:rgba(255,255,255,.46);
  text-shadow:0 2px 0 #fff,0 0 12px rgba(255,255,255,.9);pointer-events:none;
}
.spviet-order-bottom-nav{
  position:fixed;left:0;right:0;bottom:0;height:70px;z-index:2147483647;
  display:flex;align-items:stretch;justify-content:center;gap:5px;
  padding:6px 8px;background:linear-gradient(180deg,rgba(12,15,20,.78),#0b0f14);
  border-top:2px solid rgba(255,215,130,.42);box-sizing:border-box;
}
.spviet-order-bottom-nav button{
  min-width:150px;max-width:260px;flex:1 1 0;border:2px solid rgba(255,255,255,.18);
  border-radius:12px;background:linear-gradient(180deg,#4b5563,#111827);color:#fff;
  display:flex;align-items:center;justify-content:center;gap:10px;font-size:22px;font-weight:1000;cursor:pointer;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 8px 16px rgba(0,0,0,.3);
}
.spviet-order-bottom-nav button.active{background:linear-gradient(180deg,#f59e0b,#92400e);border-color:#fef3c7;}
.spviet-order-bottom-nav span{font-size:28px;line-height:1;}
.spviet-order-tablet-app .spviet-order-cart{
  top:105px!important;right:0!important;bottom:70px!important;width:360px!important;
  transform:translateX(calc(100% - 34px))!important;
  background:rgba(15,23,42,.94)!important;color:#fff!important;border-left:2px solid #8b6b38!important;
  border-radius:14px 0 0 14px!important;padding:12px!important;box-shadow:-12px 0 40px rgba(0,0,0,.36)!important;
}
.spviet-order-tablet-app .spviet-order-cart:before{
  content:'LIST >>';position:absolute;left:-48px;top:32px;writing-mode:vertical-rl;text-orientation:mixed;
  background:rgba(15,23,42,.95);color:#fff;border:2px solid #8b6b38;border-right:0;border-radius:12px 0 0 12px;
  padding:10px 8px;font-weight:1000;letter-spacing:.08em;
}
.spviet-order-tablet-app .spviet-order-cart.open{transform:translateX(0)!important;}
.spviet-order-tablet-app .spviet-order-cart-head h2{color:#fff!important;}
.spviet-order-tablet-app .spviet-order-cart-head button{background:#f4ead6!important;color:#111827!important;}
.spviet-order-tablet-app .spviet-order-cart-row{border-bottom:1px solid rgba(255,255,255,.22)!important;color:#fff!important;align-items:flex-start!important;}
.spviet-order-tablet-app .spviet-order-cart-row img{width:48px;height:48px;object-fit:cover;border-radius:8px;}
.spviet-order-tablet-app .spviet-order-cart-row span,.spviet-order-tablet-app .spviet-order-cart-row em{color:#fde68a!important;display:block;}
.spviet-order-tablet-app .spviet-order-qty button{background:#f4ead6!important;color:#111827!important;}
.spviet-order-tablet-app .spviet-order-cart-total{color:#fff!important;font-weight:950!important;}
.spviet-order-tablet-app .spviet-order-send-order{background:#16a34a!important;color:#fff!important;font-size:22px!important;min-height:58px!important;border-radius:12px!important;}
.spviet-order-tablet-app .spviet-order-cart textarea{background:#111827!important;color:#fff!important;border-color:#475569!important;}
@media(max-width:1080px){
  .spviet-order-tablet-app .spviet-order-products{padding-right:332px!important;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))!important;}
  .spviet-order-tablet-app .spviet-order-cart{width:320px!important;}
  .spviet-order-bottom-nav button{min-width:110px;font-size:18px;}
}
@media(max-width:760px){
  .spviet-order-tablet-app .spviet-order-products{padding-right:10px!important;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))!important;}
  .spviet-order-tablet-app .spviet-order-cart{top:92px!important;width:min(340px,96vw)!important;}
  .spviet-order-tablet-app .spviet-order-cart:not(.open){transform:translateX(calc(100% - 30px))!important;}
  .spviet-order-bottom-nav{height:64px}.spviet-order-bottom-nav button{min-width:0;font-size:14px;gap:4px}.spviet-order-bottom-nav span{font-size:22px;}
  .spviet-order-tablet-app .spviet-order-header strong{font-size:12px!important;}
  .spviet-order-tablet-app .spviet-order-categories{height:52px!important}.spviet-order-tablet-app .spviet-order-cat{height:52px!important;min-width:122px!important;font-size:13px!important;}
}

/* v0.6.0 - Tablet swipe menu/product rows + clean cart/confirm list */
.spviet-order-tablet-app .spviet-order-categories,
.spviet-order-tablet-app .spviet-order-products{
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior:contain!important;
  touch-action:pan-x pan-y!important;
  cursor:grab!important;
  scrollbar-width:thin!important;
}
.spviet-order-tablet-app .spviet-order-categories.is-dragging,
.spviet-order-tablet-app .spviet-order-products.is-dragging{cursor:grabbing!important;user-select:none!important;}
.spviet-order-tablet-app .spviet-order-categories::-webkit-scrollbar,
.spviet-order-tablet-app .spviet-order-products::-webkit-scrollbar{height:8px!important;width:8px!important;}
.spviet-order-tablet-app .spviet-order-categories::-webkit-scrollbar-thumb,
.spviet-order-tablet-app .spviet-order-products::-webkit-scrollbar-thumb{background:rgba(251,191,36,.7)!important;border-radius:999px!important;}
.spviet-order-tablet-app .spviet-order-products{
  display:grid!important;
  grid-auto-flow:column!important;
  grid-auto-columns:minmax(var(--spviet-tablet-card-width,330px),var(--spviet-tablet-card-width,330px))!important;
  grid-template-columns:none!important;
  grid-template-rows:repeat(var(--spviet-tablet-product-rows,1),minmax(0,1fr))!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  align-items:stretch!important;
  align-content:stretch!important;
  scroll-snap-type:x proximity!important;
}
.spviet-order-tablet-app .spviet-order-product-v059{height:100%!important;min-height:0!important;display:flex!important;flex-direction:column!important;scroll-snap-align:start!important;}
.spviet-order-tablet-app .spviet-order-product-v059 img,
.spviet-order-tablet-app .spviet-order-product-v059 .spviet-order-no-img{width:100%!important;object-fit:cover!important;flex:1 1 auto!important;min-height:120px!important;}
.spviet-tablet-product-rows-1 .spviet-order-product-v059 img,
.spviet-tablet-product-rows-1 .spviet-order-product-v059 .spviet-order-no-img{height:auto!important;min-height:clamp(210px,42vh,390px)!important;}
.spviet-tablet-product-rows-2 .spviet-order-product-v059 img,
.spviet-tablet-product-rows-2 .spviet-order-product-v059 .spviet-order-no-img{height:clamp(120px,23vh,210px)!important;}
.spviet-tablet-product-rows-3 .spviet-order-product-v059 img,
.spviet-tablet-product-rows-3 .spviet-order-product-v059 .spviet-order-no-img{height:clamp(80px,15vh,145px)!important;}
.spviet-tablet-product-rows-1 .spviet-order-product-v059 h3{font-size:clamp(22px,3.4vw,34px)!important;min-height:2.1em!important;}
.spviet-tablet-product-rows-1 .spviet-order-product-v059 .spviet-order-product-foot strong{font-size:clamp(24px,3.2vw,34px)!important;}
.spviet-tablet-product-rows-1 .spviet-order-product-v059 [data-add-product]{min-width:72px!important;min-height:62px!important;font-size:34px!important;}
.spviet-order-tablet-app .spviet-order-cart-row>div:nth-child(2){min-width:0!important;flex:1 1 auto!important;}
.spviet-order-tablet-app .spviet-order-cart-row strong{display:block!important;color:#fff!important;font-size:15px!important;line-height:1.25!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;}
.spviet-order-tablet-app .spviet-order-cart-row span{font-size:14px!important;color:#fde68a!important;}
.spviet-order-tablet-app .spviet-order-cart-row em{font-size:12px!important;color:#bfdbfe!important;}
.spviet-order-tablet-app .spviet-order-confirm-card{background:#fff!important;color:#0f172a!important;max-width:min(920px,94vw)!important;max-height:92vh!important;overflow:auto!important;}
.spviet-order-tablet-app .spviet-order-confirm-card h2,
.spviet-order-tablet-app .spviet-order-confirm-card p,
.spviet-order-tablet-app .spviet-order-confirm-card span,
.spviet-order-tablet-app .spviet-order-confirm-card strong,
.spviet-order-tablet-app .spviet-order-confirm-card em{color:#0f172a!important;opacity:1!important;visibility:visible!important;}
.spviet-order-confirm-items{display:flex!important;flex-direction:column!important;gap:12px!important;margin:14px 0!important;}
.spviet-order-confirm-row{display:grid!important;grid-template-columns:96px minmax(0,1fr)!important;gap:14px!important;align-items:center!important;padding:12px!important;border:1px solid #e2e8f0!important;border-radius:18px!important;background:#f8fafc!important;}
.spviet-order-confirm-row img,.spviet-order-confirm-no-img{width:96px!important;height:76px!important;object-fit:cover!important;border-radius:14px!important;background:#fee2e2!important;display:flex!important;align-items:center!important;justify-content:center!important;color:#991b1b!important;font-weight:900!important;font-size:11px!important;}
.spviet-order-confirm-info{display:flex!important;flex-direction:column!important;gap:6px!important;min-width:0!important;}
.spviet-order-confirm-info strong{font-size:20px!important;line-height:1.25!important;font-weight:1000!important;white-space:normal!important;}
.spviet-order-confirm-info em{font-style:normal!important;font-size:13px!important;color:#475569!important;}
.spviet-order-confirm-info span{display:flex!important;gap:10px!important;flex-wrap:wrap!important;align-items:center!important;}
.spviet-order-confirm-info span b{background:#e0f2fe!important;color:#075985!important;border-radius:999px!important;padding:5px 10px!important;font-size:15px!important;}
.spviet-order-confirm-total{font-size:22px!important;color:#0f172a!important;text-align:right!important;margin-top:8px!important;}
@media(max-width:760px){
  .spviet-order-tablet-app .spviet-order-products{grid-auto-columns:minmax(min(72vw,var(--spviet-tablet-card-width,300px)),min(72vw,var(--spviet-tablet-card-width,300px)))!important;padding-right:42px!important;}
  .spviet-order-confirm-row{grid-template-columns:74px minmax(0,1fr)!important;gap:10px!important;padding:10px!important;}
  .spviet-order-confirm-row img,.spviet-order-confirm-no-img{width:74px!important;height:64px!important;}
  .spviet-order-confirm-info strong{font-size:17px!important;}
  .spviet-order-confirm-info span b{font-size:13px!important;padding:4px 8px!important;}
}

/* v0.6.1 - Real touch swipe / clean hidden LIST / readable history / safer idle timer */
.spviet-order-tablet-app .spviet-order-categories,
.spviet-order-tablet-app .spviet-order-products{
  overflow-x:scroll!important;
  overflow-y:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  scroll-behavior:auto!important;
  touch-action:auto!important;
  overscroll-behavior-x:contain!important;
  user-select:none!important;
}
.spviet-order-tablet-app .spviet-order-categories{white-space:nowrap!important;flex-wrap:nowrap!important;}
.spviet-order-tablet-app .spviet-order-categories .spviet-order-cat{flex:0 0 auto!important;}
.spviet-order-tablet-app .spviet-order-products{
  display:grid!important;
  grid-auto-flow:column!important;
  grid-template-columns:none!important;
  grid-template-rows:repeat(var(--spviet-tablet-product-rows,1),minmax(0,1fr))!important;
  grid-auto-columns:minmax(var(--spviet-tablet-card-width,330px),var(--spviet-tablet-card-width,330px))!important;
  scroll-snap-type:none!important;
  padding-right:12px!important;
}
.spviet-order-tablet-app .spviet-order-products.is-dragging,
.spviet-order-tablet-app .spviet-order-categories.is-dragging{cursor:grabbing!important;}
.spviet-order-tablet-app .spviet-order-cart:not(.open){
  transform:translateX(112%)!important;
  pointer-events:none!important;
}
.spviet-order-tablet-app .spviet-order-cart:not(.open):before{display:none!important;content:none!important;}
.spviet-order-tablet-app .spviet-order-cart.open{pointer-events:auto!important;}
.spviet-order-tablet-app .spviet-order-history{background:#fff!important;color:#0f172a!important;}
.spviet-order-tablet-app .spviet-order-history *{color:inherit!important;opacity:1!important;visibility:visible!important;}
.spviet-order-tablet-app .spviet-order-history-head em{background:#0f172a!important;color:#fff!important;}
.spviet-order-tablet-app .spviet-order-history-order{background:#f8fafc!important;color:#0f172a!important;border-color:#e2e8f0!important;}
.spviet-order-tablet-app .spviet-order-history-order ul{gap:10px!important;}
.spviet-order-tablet-app .spviet-order-history-order li,
.spviet-order-history-item{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;align-items:center!important;gap:10px!important;color:#0f172a!important;}
.spviet-order-history-item img{width:54px!important;height:44px!important;object-fit:cover!important;border-radius:8px!important;}
.spviet-order-tablet-app .spviet-order-history-order li strong{display:block!important;color:#0f172a!important;font-size:16px!important;line-height:1.25!important;white-space:normal!important;overflow:visible!important;}
.spviet-order-tablet-app .spviet-order-history-order li span{color:#334155!important;font-size:15px!important;font-weight:900!important;text-align:right!important;white-space:nowrap!important;}
@media(max-width:760px){
  .spviet-order-tablet-app .spviet-order-products{grid-auto-columns:minmax(min(78vw,var(--spviet-tablet-card-width,330px)),min(78vw,var(--spviet-tablet-card-width,330px)))!important;padding-right:12px!important;}
  .spviet-order-tablet-app .spviet-order-history-order li,.spviet-order-history-item{grid-template-columns:minmax(0,1fr) auto!important;}
  .spviet-order-history-item img{display:none!important;}
}

/* v0.6.2 - LIST tab stays visible, full cart hidden, swipe protected from refresh */
.spviet-order-tablet-app .spviet-order-cart-tab{
  position:fixed!important;right:0!important;top:112px!important;z-index:2147483662!important;
  width:58px!important;min-height:140px!important;border:2px solid #8b6b38!important;border-right:0!important;
  border-radius:14px 0 0 14px!important;background:rgba(15,23,42,.96)!important;color:#fff!important;
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:8px!important;
  font-weight:1000!important;letter-spacing:.08em!important;box-shadow:-8px 0 26px rgba(0,0,0,.36)!important;
  touch-action:manipulation!important;cursor:pointer!important;
}
.spviet-order-tablet-app .spviet-order-cart-tab span{writing-mode:vertical-rl!important;text-orientation:mixed!important;font-size:18px!important;line-height:1!important;}
.spviet-order-tablet-app .spviet-order-cart-tab b{font-size:22px!important;line-height:1!important;color:#fbbf24!important;}
.spviet-order-tablet-app .spviet-order-cart.open + .spviet-order-history,
.spviet-order-tablet-app .spviet-order-history.open{z-index:2147483656!important;}
.spviet-order-tablet-app .spviet-order-cart:before{display:none!important;content:none!important;}
.spviet-order-tablet-app .spviet-order-cart:not(.open){transform:translateX(100%)!important;pointer-events:none!important;}
.spviet-order-tablet-app .spviet-order-cart.open{transform:translateX(0)!important;pointer-events:auto!important;}
.spviet-order-tablet-app .spviet-order-main,
.spviet-order-tablet-app .spviet-order-tablet-main-v059{overflow:hidden!important;}
.spviet-order-tablet-app .spviet-order-categories,
.spviet-order-tablet-app .spviet-order-products{touch-action:pan-x!important;-ms-touch-action:pan-x!important;}
.spviet-order-tablet-app .spviet-order-categories *:not(input):not(textarea),
.spviet-order-tablet-app .spviet-order-products *:not(input):not(textarea){user-select:none!important;-webkit-user-select:none!important;}
.spviet-order-tablet-app .spviet-order-products{overscroll-behavior:contain!important;contain:layout paint!important;will-change:scroll-position!important;}
@media(max-width:760px){
  .spviet-order-tablet-app .spviet-order-cart-tab{top:112px!important;width:52px!important;min-height:134px!important;}
  .spviet-order-tablet-app .spviet-order-cart-tab span{font-size:17px!important;}
}


/* v0.6.3 - final visible LIST tab + real native horizontal swipe + readable product names */
.spviet-order-tablet-app #spviet-order-cart-tab,
body #spviet-order-cart-tab.spviet-order-cart-tab{
  display:flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;
  position:fixed!important;right:0!important;top:112px!important;z-index:2147483675!important;
  width:58px!important;min-height:142px!important;border:2px solid #8b6b38!important;border-right:0!important;
  border-radius:15px 0 0 15px!important;background:rgba(15,23,42,.98)!important;color:#fff!important;
  align-items:center!important;justify-content:center!important;flex-direction:column!important;gap:8px!important;
  font-weight:1000!important;box-shadow:-8px 0 26px rgba(0,0,0,.42)!important;cursor:pointer!important;
  touch-action:manipulation!important;-webkit-tap-highlight-color:transparent!important;
}
body #spviet-order-cart-tab.spviet-order-cart-tab span{writing-mode:vertical-rl!important;text-orientation:mixed!important;font-size:18px!important;line-height:1!important;letter-spacing:.08em!important;color:#fff!important;display:block!important;}
body #spviet-order-cart-tab.spviet-order-cart-tab b{display:block!important;font-size:24px!important;line-height:1!important;color:#fbbf24!important;}
.spviet-order-tablet-app .spviet-order-cart:not(.open){transform:translateX(120%)!important;pointer-events:none!important;visibility:hidden!important;opacity:0!important;}
.spviet-order-tablet-app .spviet-order-cart.open{transform:translateX(0)!important;pointer-events:auto!important;visibility:visible!important;opacity:1!important;}
.spviet-order-tablet-app .spviet-order-cart:before{display:none!important;content:none!important;}
.spviet-order-tablet-app .spviet-order-categories{
  display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;
  -webkit-overflow-scrolling:touch!important;touch-action:pan-x!important;scroll-snap-type:none!important;
  overscroll-behavior-x:contain!important;white-space:nowrap!important;max-width:100vw!important;
}
.spviet-order-tablet-app .spviet-order-categories .spviet-order-cat{flex:0 0 auto!important;display:block!important;}
.spviet-order-tablet-app .spviet-order-products{
  display:grid!important;grid-auto-flow:column!important;grid-template-columns:none!important;
  grid-template-rows:repeat(var(--spviet-tablet-product-rows,1), minmax(0, 1fr))!important;
  grid-auto-columns:minmax(var(--spviet-tablet-card-width,330px), var(--spviet-tablet-card-width,330px))!important;
  overflow-x:auto!important;overflow-y:hidden!important;-webkit-overflow-scrolling:touch!important;touch-action:pan-x!important;
  overscroll-behavior-x:contain!important;scroll-snap-type:none!important;max-width:100vw!important;
}
.spviet-order-tablet-app .spviet-order-products > .spviet-order-product{width:var(--spviet-tablet-card-width,330px)!important;min-width:var(--spviet-tablet-card-width,330px)!important;max-width:var(--spviet-tablet-card-width,330px)!important;}
.spviet-order-tablet-app .spviet-order-product-v059 .spviet-order-product-body,
.spviet-order-tablet-app .spviet-order-product .spviet-order-product-body{display:flex!important;visibility:visible!important;opacity:1!important;background:#f8f3e7!important;color:#111827!important;min-height:112px!important;}
.spviet-order-tablet-app .spviet-order-product-v059 h3,
.spviet-order-tablet-app .spviet-order-product h3{display:-webkit-box!important;visibility:visible!important;opacity:1!important;color:#111827!important;font-weight:1000!important;font-size:20px!important;line-height:1.12!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;margin:0!important;}
.spviet-order-tablet-app .spviet-order-product-v059 .spviet-order-product-foot,
.spviet-order-tablet-app .spviet-order-product .spviet-order-product-foot{display:flex!important;visibility:visible!important;opacity:1!important;margin-top:auto!important;}
@media(max-width:760px){
  body #spviet-order-cart-tab.spviet-order-cart-tab{top:108px!important;width:54px!important;min-height:132px!important;}
  .spviet-order-tablet-app .spviet-order-products{grid-auto-columns:minmax(min(78vw,var(--spviet-tablet-card-width,330px)),min(78vw,var(--spviet-tablet-card-width,330px)))!important;}
  .spviet-order-tablet-app .spviet-order-products > .spviet-order-product{width:min(78vw,var(--spviet-tablet-card-width,330px))!important;min-width:min(78vw,var(--spviet-tablet-card-width,330px))!important;max-width:min(78vw,var(--spviet-tablet-card-width,330px))!important;}
}


/* v0.6.5 - Tablet vertical space hotfix: remove blank service bubble, lift category/menu row, prevent bottom nav clipping products */
.spviet-order-tablet-app > .spviet-order-header{
  display:none!important;
  height:0!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;
}
.spviet-order-tablet-app .spviet-order-service-result:empty,
.spviet-order-tablet-app #spviet-order-service-result:empty{
  display:none!important;visibility:hidden!important;opacity:0!important;width:0!important;height:0!important;padding:0!important;margin:0!important;box-shadow:none!important;border:0!important;
}
.spviet-order-tablet-app .spviet-order-session-bar.spviet-order-tablet-topbar-pro{
  height:44px!important;min-height:44px!important;max-height:44px!important;
  padding:5px 10px!important;margin:0!important;
  display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;
  flex-wrap:nowrap!important;gap:8px!important;overflow:visible!important;
}
.spviet-order-tablet-app .spviet-order-table-info-wrap{flex:0 0 auto!important;min-width:auto!important;}
.spviet-order-tablet-app .spviet-order-top-action-row{
  display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-end!important;
  flex-wrap:nowrap!important;gap:6px!important;min-width:0!important;overflow:visible!important;
}
.spviet-order-tablet-app .spviet-order-top-action-row>button,
.spviet-order-tablet-app .spviet-order-service-panel-inline .spviet-order-service-toggle,
.spviet-order-tablet-app .spviet-order-table-pill{
  min-height:32px!important;height:32px!important;padding:4px 9px!important;font-size:12px!important;line-height:1!important;white-space:nowrap!important;
}
.spviet-order-tablet-app .spviet-order-service-panel-inline{flex:0 0 auto!important;min-width:auto!important;}
.spviet-order-tablet-app .spviet-order-service-panel-inline .spviet-order-service-toggle strong{font-size:12px!important;white-space:nowrap!important;}
.spviet-order-tablet-app .spviet-order-service-panel-inline .spviet-order-service-toggle span{font-size:14px!important;}
.spviet-order-tablet-app .spviet-order-categories{
  margin:0!important;height:46px!important;min-height:46px!important;max-height:46px!important;
  border-top:0!important;position:relative!important;z-index:20!important;
}
.spviet-order-tablet-app .spviet-order-categories .spviet-order-cat{
  height:46px!important;min-height:46px!important;padding:4px 10px!important;font-size:13px!important;line-height:1.05!important;
}
.spviet-order-tablet-app .spviet-order-main,
.spviet-order-tablet-app .spviet-order-tablet-main-v059{
  padding:0 0 70px 0!important;gap:0!important;overflow:hidden!important;min-height:0!important;
}
.spviet-order-tablet-app .spviet-order-products{
  padding-top:6px!important;padding-bottom:92px!important;
  height:auto!important;min-height:0!important;
  box-sizing:border-box!important;
}
.spviet-order-tablet-app .spviet-order-product-v059{
  overflow:hidden!important;
}
.spviet-order-tablet-app .spviet-order-product-v059 .spviet-order-product-body,
.spviet-order-tablet-app .spviet-order-product .spviet-order-product-body{
  flex:0 0 auto!important;min-height:104px!important;padding-bottom:8px!important;
}
.spviet-order-tablet-app .spviet-order-bottom-nav{
  height:62px!important;padding:5px 8px!important;
}
.spviet-order-tablet-app .spviet-order-bottom-nav button{
  font-size:18px!important;min-height:50px!important;line-height:1.05!important;
}
body #spviet-order-cart-tab.spviet-order-cart-tab{top:56px!important;}
@media(max-width:980px){
  .spviet-order-tablet-app .spviet-order-session-bar.spviet-order-tablet-topbar-pro{flex-direction:row!important;align-items:center!important;flex-wrap:nowrap!important;}
  .spviet-order-tablet-app .spviet-order-top-action-row{justify-content:flex-end!important;flex-wrap:nowrap!important;}
  .spviet-order-tablet-app .spviet-order-top-action-row>button,
  .spviet-order-tablet-app .spviet-order-service-panel-inline{flex:0 0 auto!important;}
}
@media(max-width:760px){
  .spviet-order-tablet-app .spviet-order-session-bar.spviet-order-tablet-topbar-pro{height:42px!important;min-height:42px!important;max-height:42px!important;padding:4px 6px!important;gap:4px!important;}
  .spviet-order-tablet-app .spviet-order-table-pill{font-size:11px!important;padding:4px 7px!important;}
  .spviet-order-tablet-app .spviet-order-service-panel-inline .spviet-order-service-toggle strong{display:none!important;}
  .spviet-order-tablet-app .spviet-order-top-action-row>button{font-size:11px!important;padding:4px 7px!important;}
  .spviet-order-tablet-app .spviet-order-categories{height:42px!important;min-height:42px!important;max-height:42px!important;}
  .spviet-order-tablet-app .spviet-order-categories .spviet-order-cat{height:42px!important;min-height:42px!important;font-size:12px!important;min-width:116px!important;}
  .spviet-order-tablet-app .spviet-order-products{padding-bottom:88px!important;}
  body #spviet-order-cart-tab.spviet-order-cart-tab{top:48px!important;}
}

/* v0.6.6 - Tablet TOP fixed grid + visible price + stable horizontal ordering layout */
.spviet-order-tablet-app .spviet-order-products.spviet-order-home-mode{
  display:block!important;
  overflow:hidden!important;
  padding:10px 64px 76px 10px!important;
  background:#18202a!important;
  height:100%!important;
}
.spviet-order-tablet-app .spviet-order-products.spviet-order-home-mode .spviet-order-home-grid{
  width:100%!important;
  height:100%!important;
  display:grid!important;
  grid-template-columns:repeat(var(--spviet-tablet-top-cols,4), minmax(0,1fr))!important;
  grid-template-rows:repeat(var(--spviet-tablet-top-rows,2), minmax(0,1fr))!important;
  gap:12px!important;
  align-content:stretch!important;
  justify-content:stretch!important;
}
.spviet-order-tablet-app .spviet-order-home-cat{
  min-height:0!important;height:100%!important;width:100%!important;
  display:block!important;border-radius:6px!important;
}
.spviet-order-tablet-app .spviet-order-home-cat img,
.spviet-order-tablet-app .spviet-order-home-cat-fallback{
  height:100%!important;min-height:0!important;width:100%!important;object-fit:cover!important;
}
.spviet-order-tablet-app .spviet-order-home-cat span{
  font-size:clamp(18px,2.6vw,34px)!important;
  line-height:1.08!important;bottom:30px!important;
}
.spviet-order-tablet-app .spviet-order-products:not(.spviet-order-home-mode){
  display:grid!important;grid-auto-flow:column!important;grid-template-columns:none!important;
  grid-template-rows:repeat(var(--spviet-tablet-product-rows,1), minmax(0,1fr))!important;
  grid-auto-columns:minmax(var(--spviet-tablet-card-width,330px), var(--spviet-tablet-card-width,330px))!important;
  overflow-x:auto!important;overflow-y:hidden!important;-webkit-overflow-scrolling:touch!important;
  touch-action:pan-x!important;scroll-snap-type:none!important;scrollbar-width:thin!important;
  padding-right:64px!important;padding-bottom:86px!important;
}
.spviet-order-tablet-app .spviet-order-products:not(.spviet-order-home-mode) > .spviet-order-product{
  height:calc(100% - 4px)!important;max-height:calc(100% - 4px)!important;
  display:flex!important;flex-direction:column!important;overflow:hidden!important;
}
.spviet-order-tablet-app.spviet-tablet-product-rows-1 .spviet-order-product-v059 img,
.spviet-order-tablet-app.spviet-tablet-product-rows-1 .spviet-order-product-v059 .spviet-order-no-img{
  height:clamp(150px,46vh,360px)!important;min-height:0!important;flex:1 1 auto!important;object-fit:cover!important;
}
.spviet-order-tablet-app .spviet-order-product-v059 .spviet-order-product-body,
.spviet-order-tablet-app .spviet-order-product .spviet-order-product-body{
  flex:0 0 auto!important;min-height:116px!important;background:#f8f3e7!important;color:#111827!important;
}
.spviet-order-tablet-app .spviet-order-product-v059 .spviet-order-product-foot strong,
.spviet-order-tablet-app .spviet-order-product .spviet-order-product-foot strong{
  display:block!important;visibility:visible!important;opacity:1!important;color:#111827!important;
  font-weight:1000!important;white-space:nowrap!important;line-height:1.05!important;
}
@media(max-width:760px){
  .spviet-order-tablet-app .spviet-order-products.spviet-order-home-mode .spviet-order-home-grid{grid-template-columns:repeat(2, minmax(0,1fr))!important;grid-template-rows:repeat(var(--spviet-tablet-top-rows,2), minmax(0,1fr))!important;}
  .spviet-order-tablet-app .spviet-order-products:not(.spviet-order-home-mode){grid-auto-columns:minmax(min(78vw,var(--spviet-tablet-card-width,330px)),min(78vw,var(--spviet-tablet-card-width,330px)))!important;}
}

/* v0.6.8 - TOP page must be a hard fixed grid, stretched full screen; never inherit product horizontal carousel styles. */
.spviet-order-tablet-app .spviet-order-products.spviet-order-home-mode{
  display:block!important;
  grid-auto-flow:unset!important;
  grid-template-columns:none!important;
  grid-template-rows:none!important;
  grid-auto-columns:unset!important;
  overflow:hidden!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  padding:8px 72px 88px 10px!important;
  box-sizing:border-box!important;
  background:#18202a!important;
}
.spviet-order-tablet-app .spviet-order-products.spviet-order-home-mode > .spviet-order-home-grid{
  display:grid!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  grid-template-columns:repeat(var(--spviet-tablet-top-cols,4), minmax(0,1fr))!important;
  grid-template-rows:repeat(var(--spviet-tablet-top-rows,2), minmax(0,1fr))!important;
  gap:10px!important;
  align-content:stretch!important;
  justify-content:stretch!important;
  place-items:stretch!important;
}
.spviet-order-tablet-app .spviet-order-products.spviet-order-home-mode .spviet-order-home-cat{
  width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;
  margin:0!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:stretch!important;
  overflow:hidden!important;border:2px solid rgba(180,83,9,.75)!important;border-radius:7px!important;
  background:#fff7ed!important;position:relative!important;
}
.spviet-order-tablet-app .spviet-order-products.spviet-order-home-mode .spviet-order-home-cat img,
.spviet-order-tablet-app .spviet-order-products.spviet-order-home-mode .spviet-order-home-cat-fallback{
  display:block!important;width:100%!important;height:100%!important;min-height:0!important;object-fit:cover!important;flex:1 1 auto!important;
}
.spviet-order-tablet-app .spviet-order-products.spviet-order-home-mode .spviet-order-home-cat span{
  position:absolute!important;left:8px!important;right:8px!important;bottom:30px!important;z-index:3!important;
  display:block!important;text-align:center!important;white-space:normal!important;overflow:hidden!important;
  color:#7f1d1d!important;background:rgba(255,255,255,.82)!important;border-radius:8px!important;padding:5px 7px!important;
  font-size:clamp(14px,2.2vw,30px)!important;font-weight:1000!important;line-height:1.05!important;
}
.spviet-order-tablet-app .spviet-order-products.spviet-order-home-mode .spviet-order-home-cat em{
  position:absolute!important;right:7px!important;bottom:7px!important;z-index:4!important;
  background:#b91c1c!important;color:#fff!important;border-radius:999px!important;padding:4px 8px!important;
  font-size:clamp(10px,1.3vw,16px)!important;font-style:normal!important;font-weight:950!important;
}
@media(max-width:760px){
  .spviet-order-tablet-app .spviet-order-products.spviet-order-home-mode > .spviet-order-home-grid{
    grid-template-columns:repeat(var(--spviet-tablet-top-cols,4), minmax(0,1fr))!important;
    grid-template-rows:repeat(var(--spviet-tablet-top-rows,2), minmax(0,1fr))!important;
  }
}


/* v0.6.9 - TOP fills the remaining vertical space; local Tablet setting modal. */
.spviet-order-tablet-app .spviet-order-products.spviet-order-home-mode{
  padding:8px 72px 10px 10px!important;
}
.spviet-order-local-settings-panel{
  margin-top:16px!important;border:1px solid rgba(148,163,184,.32)!important;border-radius:18px!important;background:#f8fafc!important;padding:14px!important;
}
.spviet-order-local-settings-panel h3{margin:0 0 8px!important;color:#0f172a!important;}
.spviet-order-local-settings-panel p{margin:0 0 12px!important;color:#475569!important;font-weight:700!important;line-height:1.45!important;}
.spviet-order-local-settings-panel label{display:block!important;margin:10px 0!important;font-weight:950!important;color:#0f172a!important;}
.spviet-order-local-settings-panel label span{display:block!important;margin-bottom:5px!important;}
.spviet-order-local-settings-panel input,.spviet-order-local-settings-panel select{
  width:100%!important;box-sizing:border-box!important;border:1px solid #cbd5e1!important;border-radius:14px!important;padding:12px 14px!important;font-size:18px!important;font-weight:850!important;background:#fff!important;color:#0f172a!important;
}
.spviet-order-local-actions{justify-content:space-between!important;gap:10px!important;}
.spviet-order-local-actions button:last-child{background:#dc2626!important;color:#fff!important;}
.spviet-order-local-actions button:first-child{background:#e5e7eb!important;color:#111827!important;}
.spviet-order-exit-result.ok{color:#15803d!important;}

/* v0.7.2 TOP hold hotfix: visible feedback while holding TOP for Tablet settings */
#spviet-order-app .spviet-order-top-holding {
  outline: 4px solid rgba(255, 214, 0, .95) !important;
  box-shadow: 0 0 0 8px rgba(255, 214, 0, .22), 0 0 22px rgba(255, 214, 0, .65) !important;
  transform: scale(.985) !important;
}


/* v0.7.3 - Kitchen/KDS compact header + expanded working area */
.spviet-order-kitchen-app{background:#f3f6fb}
.spviet-order-kitchen-header{height:auto;min-height:54px;padding:8px 14px;gap:10px;align-items:center;box-shadow:0 8px 24px rgba(0,0,0,.16)}
.spviet-order-kitchen-header>div:first-child strong{font-size:16px;line-height:1.15}.spviet-order-kitchen-header>div:first-child span{font-size:11px;opacity:.88}
.spviet-order-kitchen-header .spviet-order-header-actions{gap:8px;flex-wrap:nowrap;overflow:auto;padding-bottom:2px;scrollbar-width:thin}
.spviet-order-kitchen-header .spviet-order-header-actions>*{flex:0 0 auto}.spviet-order-kitchen-header .spviet-order-header-actions select,.spviet-order-kitchen-header .spviet-order-header-actions button,.spviet-order-kitchen-header .spviet-order-header-actions .spviet-order-check{min-height:36px;padding:8px 12px;font-size:13px;font-weight:900}
.spviet-order-kitchen-header .spviet-order-check{background:rgba(255,255,255,.1);border-radius:999px;padding-left:10px;padding-right:12px;white-space:nowrap}
.spviet-order-kitchen-station-label,.spviet-order-kitchen-course-label{gap:6px;white-space:nowrap}.spviet-order-kitchen-course-label select,.spviet-order-kitchen-station-label select{min-height:36px;padding:0 10px}
.spviet-order-kitchen-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:8px 12px;background:#f3f6fb;border-bottom:0}.spviet-order-kitchen-summary>div{padding:10px 12px;border-radius:14px;background:#0f172a;color:#e5e7eb;border:1px solid rgba(15,23,42,.08);box-shadow:0 6px 16px rgba(15,23,42,.08)}
.spviet-order-kitchen-summary strong{font-size:13px;line-height:1.2;color:#fff}.spviet-order-kitchen-summary span,.spviet-order-kitchen-summary .spviet-order-result{font-size:12px}.spviet-order-kitchen-summary #spviet-order-kitchen-action-result{display:flex;align-items:center;justify-content:center;margin:0;min-height:20px;text-align:center}
.spviet-order-kitchen-alerts{margin:4px 12px 0}.spviet-order-kitchen-alert{padding:8px 10px;border-radius:12px;font-size:12px}
.spviet-order-kitchen-filterbar{display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(140px,.9fr) auto;align-items:center;gap:8px;margin:6px 12px 0;padding:8px 10px;border-radius:14px;background:#fff;border:1px solid #dbe4f0;box-shadow:0 6px 16px rgba(15,23,42,.05)}
.spviet-order-kitchen-filterbar input,.spviet-order-kitchen-filterbar select{min-height:38px;padding:7px 10px;font-size:13px}.spviet-order-kitchen-filterbar label{font-size:13px;font-weight:900;color:#334155;white-space:nowrap}
.spviet-order-kitchen-performance{grid-template-columns:1.1fr repeat(5,minmax(84px,1fr));gap:8px;margin:6px 12px 0;padding:8px 10px;background:#fff;border:1px solid #dbe4f0;border-radius:14px;box-shadow:0 6px 16px rgba(15,23,42,.05)}
.spviet-order-kitchen-performance>div{padding:10px 12px;border-radius:12px;box-shadow:none;border:1px solid #e2e8f0}.spviet-order-kitchen-performance .spviet-kitchen-perf-title{font-size:14px;min-height:48px}.spviet-order-kitchen-performance b{font-size:22px}.spviet-order-kitchen-performance span{margin-top:4px;font-size:11px}
.spviet-order-kitchen-main{gap:12px;padding:12px;min-height:0;align-items:stretch}.spviet-order-kds-column{padding:12px;border-radius:20px}.spviet-order-kds-column-head{margin-bottom:10px}.spviet-order-kds-column-head h2{font-size:20px}.spviet-order-kds-column-head b{min-width:34px;height:34px;font-size:16px}
.spviet-order-kds-list{gap:10px}.spviet-order-kds-card{padding:14px;border-radius:18px}.spviet-order-kds-card h3{font-size:18px;margin:10px 0 8px}.spviet-order-kds-card-top b{font-size:16px}.spviet-order-kds-card-top strong{font-size:20px}.spviet-order-kds-meta{gap:6px;margin-bottom:8px}.spviet-order-kds-meta span{padding:4px 8px;font-size:11px}.spviet-order-kds-time{margin:8px 0;font-size:13px}.spviet-order-kds-actions button{padding:11px 10px;font-size:14px;border-radius:13px}
@media(min-width:1181px){.spviet-order-kitchen-main{grid-template-columns:repeat(3,minmax(0,1fr))}.spviet-order-kds-list{min-height:0;height:100%}}
@media(max-width:1180px){.spviet-order-kitchen-header{align-items:flex-start}.spviet-order-kitchen-header .spviet-order-header-actions{flex-wrap:wrap;overflow:visible}.spviet-order-kitchen-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.spviet-order-kitchen-filterbar{grid-template-columns:1fr 1fr}.spviet-order-kitchen-filterbar label{grid-column:1/-1}.spviet-order-kitchen-performance{grid-template-columns:repeat(3,minmax(0,1fr))}.spviet-order-kitchen-performance .spviet-kitchen-perf-title{grid-column:1/-1}}
@media(max-width:720px){.spviet-order-kitchen-header{padding:8px 10px}.spviet-order-kitchen-header>div:first-child strong{font-size:14px}.spviet-order-kitchen-summary{grid-template-columns:1fr;padding:8px 10px}.spviet-order-kitchen-filterbar{grid-template-columns:1fr;margin-left:10px;margin-right:10px}.spviet-order-kitchen-performance{grid-template-columns:repeat(2,minmax(0,1fr));margin-left:10px;margin-right:10px}.spviet-order-kitchen-performance .spviet-kitchen-perf-title{grid-column:1/-1}.spviet-order-kitchen-main{padding:10px;gap:10px}.spviet-order-kds-column{min-height:0}}

/* v0.7.4 - Tablet TOP hold 5s visual feedback */
#spviet-order-app .spviet-order-top-holding,
#spviet-order-app.spviet-order-top-admin-holding #spviet-order-bottom-home{
  outline:4px solid #facc15!important;
  box-shadow:0 0 0 6px rgba(250,204,21,.28),0 0 28px rgba(250,204,21,.65)!important;
  filter:brightness(1.08)!important;
}
#spviet-order-app.spviet-order-top-admin-hold-hint:after{
  content:"Giữ thêm để mở thiết định Tablet";
  position:fixed;
  left:50%;
  bottom:88px;
  transform:translateX(-50%);
  z-index:2147483665;
  padding:10px 18px;
  border-radius:999px;
  background:rgba(15,23,42,.92);
  color:#facc15;
  font-weight:950;
  font-size:16px;
  pointer-events:none;
  box-shadow:0 12px 34px rgba(0,0,0,.28);
}


/* v0.7.5 - Kitchen/KDS max-display layout */
.spviet-order-kitchen-header{display:none!important}
.spviet-order-kitchen-app{background:#eef2f7;color:#0f172a}
.spviet-order-kitchen-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) minmax(220px,.9fr);gap:8px;padding:8px 10px 6px;background:#eef2f7;border-bottom:0}
.spviet-order-kitchen-summary>div{background:#0f1b34;color:#dbeafe;border:1px solid rgba(15,23,42,.08);border-radius:12px;padding:8px 12px;min-height:52px;box-shadow:0 4px 12px rgba(15,23,42,.08)}
.spviet-order-kitchen-summary span{display:block;font-size:11px;font-weight:800;opacity:.9}.spviet-order-kitchen-summary strong{display:block;font-size:13px;line-height:1.2;color:#fff;font-weight:900;margin-top:3px}.spviet-order-kitchen-summary #spviet-order-kitchen-action-result{display:flex;align-items:center;justify-content:center;text-align:center;min-height:52px;margin:0;font-size:12px;font-weight:900}
.spviet-order-kitchen-summary-search{display:flex;align-items:center;justify-content:flex-end;padding:6px 8px!important}.spviet-order-kitchen-summary-search input{width:100%;min-height:38px;border:1px solid #cbd5e1;border-radius:10px;padding:8px 12px;background:#fff;color:#0f172a;font-weight:800}
.spviet-order-kitchen-alerts{margin:0 10px}.spviet-order-kitchen-alerts:empty{display:none}.spviet-order-kitchen-alert{padding:7px 10px;border-radius:10px;font-size:12px}
.spviet-order-kitchen-filterbar{display:none!important}
.spviet-order-kitchen-performance{display:grid;grid-template-columns:1.25fr repeat(5,minmax(0,1fr));gap:8px;margin:0 10px 8px;padding:0;background:transparent;border:0;box-shadow:none}
.spviet-order-kitchen-performance>div{background:#fff;color:#0f172a;border:1px solid #dbe4f0;border-radius:12px;padding:8px 12px;min-height:50px;box-shadow:0 4px 12px rgba(15,23,42,.05)}.spviet-order-kitchen-performance .spviet-kitchen-perf-title{display:flex;align-items:center;font-size:14px;font-weight:950;background:#eaf1fb;color:#1d4ed8}.spviet-order-kitchen-performance b{font-size:18px;line-height:1}.spviet-order-kitchen-performance span{margin-top:4px;font-size:11px;font-weight:800;color:#64748b}
.spviet-order-kitchen-main{flex:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;min-height:0;padding:0 10px 10px;box-sizing:border-box}
.spviet-order-kds-column{background:#14213d;border:1px solid rgba(255,255,255,.06);border-radius:18px;padding:10px;box-shadow:0 10px 24px rgba(0,0,0,.14);min-height:0;display:flex;flex-direction:column}
.spviet-order-kds-column-head{margin-bottom:8px}.spviet-order-kds-column-head h2{font-size:18px;line-height:1.15}.spviet-order-kds-column-head b{min-width:30px;height:30px;font-size:14px}
.spviet-order-kds-list{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:8px;padding-right:2px}.spviet-order-kds-list .spviet-order-empty,.spviet-order-kds-list .spviet-order-loading,.spviet-order-kds-list .spviet-order-error{padding:16px;border-radius:14px}
.spviet-order-kds-card{padding:12px;border-radius:16px;box-shadow:0 8px 18px rgba(0,0,0,.14)}.spviet-order-kds-card-top{gap:10px}.spviet-order-kds-card-top b{font-size:15px}.spviet-order-kds-card-top span{font-size:12px}.spviet-order-kds-card-top strong{font-size:16px}.spviet-order-kds-card h3{font-size:16px;line-height:1.25;margin:8px 0}.spviet-order-kds-meta{gap:6px;margin-bottom:8px}.spviet-order-kds-meta span{padding:4px 8px;font-size:10.5px}.spviet-order-kds-note{padding:8px;font-size:12px;margin:8px 0}.spviet-order-kds-time{margin:8px 0;font-size:12px}.spviet-order-kds-alert{padding:4px 8px;font-size:10.5px}.spviet-order-kds-lifecycle{margin-top:8px;padding:8px;font-size:10.5px}.spviet-order-kds-actions{gap:6px}.spviet-order-kds-actions button{padding:10px 8px;border-radius:12px;font-size:13px;font-weight:900}
@media(max-width:1180px){.spviet-order-kitchen-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.spviet-order-kitchen-summary-search{grid-column:1/-1}.spviet-order-kitchen-performance{grid-template-columns:repeat(3,minmax(0,1fr))}.spviet-order-kitchen-performance .spviet-kitchen-perf-title{grid-column:1/-1}.spviet-order-kitchen-main{grid-template-columns:1fr;gap:8px;padding:0 8px 8px}.spviet-order-kds-column{min-height:28vh}}
@media(max-width:720px){.spviet-order-kitchen-summary{padding:8px;gap:6px}.spviet-order-kitchen-summary>div{padding:8px 10px;min-height:48px}.spviet-order-kitchen-performance{grid-template-columns:repeat(2,minmax(0,1fr));margin:0 8px 8px;gap:6px}.spviet-order-kitchen-performance .spviet-kitchen-perf-title{grid-column:1/-1}.spviet-order-kds-card{padding:10px}.spviet-order-kds-card h3{font-size:15px}}


/* v0.7.6 - Kitchen Ultra Fullscreen Pro */
.spviet-order-kitchen-perf-shell{padding:0 10px 6px;display:block}.spviet-order-kitchen-perf-shell.is-collapsed{padding-bottom:2px}
.spviet-order-kitchen-perf-toggle-wrap{display:flex;justify-content:center;align-items:center;margin:0 0 4px}.spviet-order-kitchen-perf-toggle{width:34px;height:22px;border:0;border-radius:999px;background:#dbe7f5;color:#0f1b34;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 4px 10px rgba(15,23,42,.10);cursor:pointer}.spviet-order-kitchen-perf-toggle:hover{background:#c7dbf2}.spviet-order-kitchen-perf-toggle-arrow{display:inline-block;font-size:12px;line-height:1;transition:transform .2s ease}.spviet-order-kitchen-perf-toggle.is-open .spviet-order-kitchen-perf-toggle-arrow{transform:rotate(180deg)}
.spviet-order-kitchen-perf-shell.is-collapsed .spviet-order-kitchen-performance{display:none!important}.spviet-order-kitchen-perf-shell.is-collapsed .spviet-order-kitchen-perf-toggle-wrap{margin-bottom:0}
@media(max-width:720px){.spviet-order-kitchen-perf-shell{padding:0 8px 6px}}

/* v0.7.9 - KDS Action Lock + Tablet Dialog UI Polish Pro */
.spviet-order-modal-card{max-width:min(92vw,980px)!important;border-radius:30px!important;padding:34px!important;box-shadow:0 34px 90px rgba(15,23,42,.32)!important}
.spviet-order-modal-card h2{font-size:clamp(30px,4.4vw,52px)!important;line-height:1.12!important;margin:0 0 20px!important;color:#111827!important;letter-spacing:-.02em!important}
.spviet-order-modal-card p{font-size:clamp(18px,2.3vw,28px)!important;line-height:1.45!important;color:#334155!important;font-weight:800!important}
.spviet-order-modal-actions{gap:18px!important;align-items:center!important;justify-content:flex-end!important;margin-top:26px!important}
.spviet-order-modal-actions button,.spviet-order-confirm-card .spviet-order-modal-actions button,.spviet-order-guest-card .spviet-order-modal-actions button,.spviet-order-terms-card .spviet-order-modal-actions button{min-height:66px!important;min-width:150px!important;padding:18px 30px!important;border-radius:20px!important;font-size:clamp(18px,2.1vw,27px)!important;font-weight:1000!important;box-shadow:0 14px 32px rgba(15,23,42,.14)!important;touch-action:manipulation!important}
.spviet-order-terms-card{width:min(92vw,1050px)!important;padding:44px!important;background:linear-gradient(135deg,#ffffff,#fff7ed)!important;border:1px solid rgba(251,191,36,.35)!important}
.spviet-order-terms-card h2:before{content:"⚠️";display:inline-flex;margin-right:14px;filter:drop-shadow(0 8px 14px rgba(245,158,11,.25))}
.spviet-order-terms-list{display:grid!important;gap:18px!important;margin:28px 0 8px!important;padding:0!important;list-style:none!important}
.spviet-order-terms-item{display:grid!important;grid-template-columns:82px 42px 1fr!important;align-items:center!important;gap:16px!important;background:#fff!important;border:1px solid rgba(226,232,240,.95)!important;border-radius:24px!important;padding:18px 22px!important;box-shadow:0 16px 34px rgba(15,23,42,.08)!important;color:#111827!important;font-size:clamp(22px,3vw,38px)!important;font-weight:1000!important;line-height:1.3!important}
.spviet-order-terms-icon{display:inline-flex!important;width:70px!important;height:70px!important;align-items:center!important;justify-content:center!important;border-radius:22px!important;background:linear-gradient(135deg,#fee2e2,#fff7ed)!important;font-size:42px!important;box-shadow:inset 0 0 0 1px rgba(220,38,38,.10)!important}
.spviet-order-terms-item strong{color:#b91c1c!important;font-size:1.05em!important}
.spviet-order-terms-card #spviet-order-terms-no{background:#0f172a!important;color:#fff!important}
.spviet-order-terms-card #spviet-order-terms-yes{background:linear-gradient(135deg,#dc2626,#ef4444)!important;color:#fff!important;min-width:230px!important}
.spviet-order-guest-card{width:min(86vw,760px)!important;text-align:center!important}
.spviet-order-guest-card input#spviet-order-guest-count{height:82px!important;border-radius:22px!important;font-size:42px!important;font-weight:1000!important;text-align:center!important;border:2px solid #e2e8f0!important;background:#fff!important;box-shadow:inset 0 2px 8px rgba(15,23,42,.06)!important}
.spviet-order-confirm-card{width:min(94vw,1080px)!important}
.spviet-order-confirm-card .spviet-order-confirm-items{max-height:min(48vh,520px)!important}
.spviet-order-confirm-card .spviet-order-confirm-row{border-radius:22px!important;padding:16px!important}
.spviet-order-confirm-card .spviet-order-confirm-row h3,.spviet-order-confirm-card h3{font-size:clamp(22px,2.7vw,34px)!important;line-height:1.24!important}
.spviet-order-confirm-card .spviet-order-confirm-total,.spviet-order-confirm-card #spviet-order-confirm-total{font-size:clamp(28px,3.5vw,46px)!important;font-weight:1000!important}
.spviet-order-send-order,.spviet-order-pay,.spviet-order-close-order,#spviet-order-send-order{min-height:64px!important;border-radius:20px!important;font-size:22px!important;padding:18px 24px!important;box-shadow:0 16px 34px rgba(220,38,38,.22)!important;touch-action:manipulation!important}
.spviet-order-kds-card.is-action-locked{outline:3px solid rgba(37,99,235,.35)!important;box-shadow:0 0 0 5px rgba(37,99,235,.10),0 14px 38px rgba(15,23,42,.12)!important}
.spviet-order-kds-actions button.is-processing,.spviet-order-kitchen-group-actions button.is-processing{background:#2563eb!important;color:#fff!important;opacity:1!important;cursor:wait!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:10px!important}
.spviet-order-mini-spinner{width:18px;height:18px;border-radius:999px;border:3px solid rgba(255,255,255,.55);border-top-color:#fff;display:inline-block;animation:spvietOrderSpin .8s linear infinite}
.spviet-order-kds-pending-note{display:block;width:100%;margin-top:7px;color:#1d4ed8;font-weight:1000;text-align:center}
@keyframes spvietOrderSpin{to{transform:rotate(360deg)}}
@media(max-width:760px){.spviet-order-modal-card{padding:24px!important;border-radius:24px!important}.spviet-order-terms-item{grid-template-columns:62px 30px 1fr!important;font-size:22px!important;padding:14px!important}.spviet-order-terms-icon{width:56px!important;height:56px!important;font-size:32px!important}.spviet-order-modal-actions button{min-width:120px!important;min-height:58px!important;padding:14px 20px!important}}

/* v0.8.0 Cashier Pro Compact Payment Layout */
.spviet-order-completed-bills{margin-top:12px;border-top:1px dashed #cbd5e1;padding-top:12px}.spviet-order-completed-toggle{width:100%;border:0;border-radius:18px;background:linear-gradient(135deg,#0f172a,#1e293b);color:#fff;padding:14px 16px;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;font-weight:950;text-align:left;box-shadow:0 12px 28px rgba(15,23,42,.18)}.spviet-order-completed-toggle b{background:#dc2626;border-radius:999px;min-width:34px;height:28px;display:inline-flex;align-items:center;justify-content:center}.spviet-order-completed-toggle em{font-style:normal;font-size:12px;opacity:.9}.spviet-order-completed-list{display:none;flex-direction:column;gap:10px;margin-top:10px}.spviet-order-completed-list.is-open{display:flex}.spviet-order-cashier-empty-active{box-shadow:none;border:1px dashed #cbd5e1;background:#f8fafc}.spviet-order-cashier-pro-detail{display:flex;flex-direction:column;gap:12px;padding-bottom:20px}.spviet-order-bill-head-pro{position:sticky;top:0;z-index:5;background:#fff;border-radius:18px;padding:12px 8px 14px;margin-bottom:0}.spviet-order-cashier-paybar{position:sticky;top:86px;z-index:6;display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;background:linear-gradient(135deg,#fff7ed,#fff);border:1px solid #fed7aa;border-radius:22px;padding:14px;box-shadow:0 16px 36px rgba(154,52,18,.14)}.spviet-order-cashier-paybar small{display:block;color:#64748b;font-weight:800}.spviet-order-cashier-paybar strong{display:block;font-size:30px;line-height:1.05;color:#b91c1c;font-weight:950}.spviet-order-cashier-paybar em{display:inline-flex;margin-top:5px;background:#e0f2fe;color:#075985;border-radius:999px;padding:5px 10px;font-style:normal;font-weight:900}.spviet-order-cashier-paybar .spviet-order-pay,.spviet-order-cashier-paybar .spviet-order-close-order{min-height:56px;min-width:150px;font-size:17px;border-radius:18px;box-shadow:0 10px 22px rgba(220,38,38,.2)}.spviet-order-cashier-paybar .spviet-order-close-order{box-shadow:0 10px 22px rgba(15,23,42,.2)}.spviet-order-status-grid-pro{margin-bottom:0}.spviet-order-cashier-pro-card{background:#fff;border:1px solid #dbeafe;border-radius:22px;padding:14px;box-shadow:0 10px 26px rgba(15,23,42,.06)}.spviet-order-cashier-card-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.spviet-order-cashier-card-title h4{margin:0;font-size:18px;font-weight:950}.spviet-order-cashier-card-title span{background:#eff6ff;color:#1d4ed8;border-radius:999px;padding:5px 10px;font-weight:900}.spviet-order-cashier-accordion{border:1px solid #e5e7eb;border-radius:20px;background:#fff;overflow:hidden;box-shadow:0 8px 22px rgba(15,23,42,.05)}.spviet-order-cashier-accordion summary{cursor:pointer;list-style:none;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:950;background:linear-gradient(135deg,#f8fafc,#eef6ff)}.spviet-order-cashier-accordion summary::-webkit-details-marker{display:none}.spviet-order-cashier-accordion summary b{font-size:12px;color:#64748b}.spviet-order-cashier-accordion[open] summary{border-bottom:1px solid #e5e7eb}.spviet-order-cashier-accordion-body{padding:14px}.spviet-order-cashier-accordion .spviet-order-adjustments,.spviet-order-cashier-accordion .spviet-order-payment-split,.spviet-order-cashier-accordion .spviet-order-table-ops,.spviet-order-cashier-accordion .spviet-order-lifecycle-panel,.spviet-order-cashier-accordion .spviet-order-loyalty-panel{margin:0;box-shadow:none}.spviet-order-cashier-items-card .spviet-order-bill-table-edit th{position:sticky;top:0;z-index:2}.spviet-order-cashier-detail-panel{overflow:hidden}.spviet-order-cashier-detail{overflow:auto;padding-right:4px}.spviet-order-cashier-main-pro{grid-template-columns:minmax(300px,32vw) minmax(320px,28vw) minmax(520px,1fr)}@media(max-width:1200px){.spviet-order-cashier-main-pro{grid-template-columns:1fr}.spviet-order-cashier-paybar{position:relative;top:auto;grid-template-columns:1fr}.spviet-order-cashier-paybar .spviet-order-pay,.spviet-order-cashier-paybar .spviet-order-close-order{width:100%}}


/* v0.8.1 - Tablet Modal Viewport Fit Hotfix */
.spviet-order-modal{padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))!important;overflow:auto!important;-webkit-overflow-scrolling:touch!important}
.spviet-order-modal.show{overflow:auto!important}
.spviet-order-modal-card{width:min(96vw,980px)!important;max-height:calc(100dvh - 20px)!important;overflow:auto!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important;scrollbar-gutter:stable both-edges}
#spviet-order-terms-modal .spviet-order-modal-card,#spviet-order-exit-modal .spviet-order-modal-card{display:flex!important;flex-direction:column!important;min-height:0!important}
#spviet-order-terms-modal .spviet-order-terms-card{width:min(96vw,1040px)!important;max-height:calc(100dvh - 20px)!important;padding:clamp(20px,3vw,34px)!important;overflow:hidden!important}
#spviet-order-terms-modal .spviet-order-terms-list{flex:1 1 auto!important;min-height:0!important;overflow:auto!important;padding-right:6px!important;margin:18px 0 6px!important}
#spviet-order-terms-modal .spviet-order-modal-actions{position:sticky!important;bottom:0!important;z-index:2!important;background:linear-gradient(180deg,rgba(255,247,237,0),#fff7ed 22%,#fff7ed 100%)!important;padding-top:14px!important;padding-bottom:2px!important;margin-top:16px!important}
#spviet-order-terms-modal .spviet-order-modal-actions button{flex:1 1 0!important}
#spviet-order-exit-modal .spviet-order-modal-card{width:min(96vw,920px)!important;padding:clamp(20px,3vw,32px)!important}
#spviet-order-exit-modal .spviet-order-settings-panel{margin-top:18px!important;flex:1 1 auto!important;min-height:0!important;overflow:auto!important;padding-right:6px!important}
#spviet-order-exit-modal .spviet-order-modal-actions{flex-wrap:wrap!important}
#spviet-order-exit-modal .spviet-order-local-actions{position:sticky!important;bottom:0!important;z-index:2!important;background:linear-gradient(180deg,rgba(248,250,252,0),#f8fafc 22%,#f8fafc 100%)!important;padding-top:14px!important;padding-bottom:2px!important;margin-top:16px!important}
#spviet-order-exit-modal .spviet-order-local-actions button{flex:1 1 220px!important}
#spviet-order-exit-modal .spviet-order-settings-panel input,#spviet-order-exit-modal .spviet-order-settings-panel select{max-width:100%!important}
@media (orientation:landscape) and (max-height:800px){
  .spviet-order-modal-card{max-height:calc(100dvh - 14px)!important;padding:20px!important}
  #spviet-order-terms-modal .spviet-order-terms-card{width:min(96vw,1180px)!important;padding:20px!important}
  #spviet-order-terms-modal .spviet-order-terms-list{gap:12px!important;margin:14px 0 4px!important}
  #spviet-order-terms-modal .spviet-order-terms-item{grid-template-columns:56px 28px 1fr!important;font-size:clamp(18px,2vw,28px)!important;padding:12px 14px!important;border-radius:18px!important;gap:12px!important}
  #spviet-order-terms-modal .spviet-order-terms-icon{width:48px!important;height:48px!important;font-size:28px!important;border-radius:16px!important}
  #spviet-order-terms-modal .spviet-order-modal-card h2{font-size:clamp(24px,3vw,38px)!important;margin-bottom:10px!important}
  #spviet-order-terms-modal .spviet-order-modal-card p{font-size:clamp(15px,1.7vw,22px)!important;line-height:1.35!important}
  #spviet-order-terms-modal .spviet-order-modal-actions{margin-top:10px!important;padding-top:10px!important}
  #spviet-order-terms-modal .spviet-order-modal-actions button,#spviet-order-exit-modal .spviet-order-modal-actions button{min-height:52px!important;font-size:clamp(16px,1.6vw,22px)!important;padding:12px 18px!important;border-radius:16px!important}
  #spviet-order-exit-modal .spviet-order-modal-card h2{font-size:clamp(24px,3vw,38px)!important;margin-bottom:12px!important}
  #spviet-order-exit-modal .spviet-order-modal-card p{font-size:clamp(15px,1.6vw,22px)!important;line-height:1.35!important}
  #spviet-order-exit-modal .spviet-order-settings-panel h3{font-size:clamp(22px,2.4vw,34px)!important;margin-bottom:6px!important}
  #spviet-order-exit-modal .spviet-order-settings-panel p{font-size:clamp(15px,1.45vw,20px)!important;margin-bottom:10px!important}
  #spviet-order-exit-modal .spviet-order-settings-panel label{margin:8px 0!important}
  #spviet-order-exit-modal .spviet-order-settings-panel input,#spviet-order-exit-modal .spviet-order-settings-panel select{padding:10px 12px!important;font-size:clamp(16px,1.55vw,21px)!important;border-radius:12px!important}
}
@media (max-width:760px){
  #spviet-order-terms-modal .spviet-order-modal-actions{flex-direction:column-reverse!important}
  #spviet-order-terms-modal .spviet-order-modal-actions button,#spviet-order-exit-modal .spviet-order-modal-actions button{width:100%!important}
}

/* v0.8.2 - Cashier Payment Receive Change Flow Pro */
.spviet-order-cashier-payment-modal{position:fixed;inset:0;z-index:2147483700;background:rgba(2,6,23,.72);display:flex;align-items:center;justify-content:center;padding:24px;box-sizing:border-box;overflow:auto}.spviet-order-cashier-payment-card{width:min(720px,96vw);max-height:calc(100dvh - 32px);overflow:auto;background:#fff;border-radius:32px;padding:28px;box-shadow:0 34px 90px rgba(15,23,42,.38);border:1px solid rgba(226,232,240,.95)}.spviet-order-payment-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.spviet-order-payment-modal-head small{display:block;color:#64748b;font-weight:1000;letter-spacing:.12em}.spviet-order-payment-modal-head h2{margin:4px 0 0;font-size:42px;line-height:1;color:#111827}.spviet-order-payment-modal-head button{border:0;border-radius:18px;background:#f1f5f9;color:#0f172a;font-size:34px;font-weight:1000;width:62px;height:62px}.spviet-order-payment-due,.spviet-order-payment-change-preview{border-radius:26px;padding:20px;background:linear-gradient(135deg,#fff7ed,#fff);border:1px solid #fed7aa;margin-bottom:16px}.spviet-order-payment-due span,.spviet-order-payment-change-preview span{display:block;color:#64748b;font-weight:1000;font-size:17px}.spviet-order-payment-due strong,.spviet-order-payment-change-preview strong{display:block;color:#b91c1c;font-size:46px;line-height:1.1;margin-top:6px}.spviet-order-payment-input-label{display:block;font-weight:1000;color:#111827;font-size:20px;margin:14px 0}.spviet-order-payment-input-label input{width:100%;box-sizing:border-box;margin-top:8px;height:82px;border:2px solid #cbd5e1;border-radius:24px;padding:12px 20px;font-size:44px;font-weight:1000;text-align:right;color:#0f172a;background:#fff}.spviet-order-payment-modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:12px}.spviet-order-payment-modal-grid label{display:block;font-weight:900;color:#334155}.spviet-order-payment-modal-grid input,.spviet-order-payment-modal-grid select{width:100%;box-sizing:border-box;margin-top:7px;height:56px;border:1px solid #cbd5e1;border-radius:16px;padding:10px 14px;font-size:18px;font-weight:800;background:#fff}.spviet-order-payment-warn{min-height:26px;color:#dc2626;font-weight:1000;font-size:18px;margin-top:6px}.spviet-order-payment-modal-actions{display:flex;justify-content:flex-end;gap:14px;margin-top:24px;position:sticky;bottom:0;background:linear-gradient(180deg,rgba(255,255,255,0),#fff 22%,#fff 100%);padding-top:16px}.spviet-order-payment-modal-actions button{min-width:170px;min-height:68px;border:0;border-radius:22px;padding:16px 26px;font-size:22px;font-weight:1000}.spviet-order-payment-modal-actions button:first-child{background:#f1f5f9;color:#0f172a}.spviet-order-payment-modal-actions button:last-child{background:linear-gradient(135deg,#dc2626,#ef4444);color:#fff;box-shadow:0 16px 34px rgba(220,38,38,.24)}.spviet-order-cashier-change-screen{position:fixed;inset:0;z-index:2147483710;background:rgba(2,6,23,.86);display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;padding:30px}.spviet-order-cashier-change-screen>div{width:min(880px,94vw);background:linear-gradient(135deg,#16a34a,#0f766e);border-radius:42px;padding:54px 38px;box-shadow:0 40px 100px rgba(0,0,0,.45)}.spviet-order-cashier-change-screen small{font-size:24px;font-weight:1000;letter-spacing:.12em;opacity:.92}.spviet-order-cashier-change-screen h2{font-size:clamp(46px,7vw,86px);line-height:1;margin:18px 0;color:#fff}.spviet-order-cashier-change-screen strong{display:block;font-size:clamp(58px,9vw,118px);line-height:1;color:#fef3c7;text-shadow:0 6px 24px rgba(0,0,0,.24)}.spviet-order-cashier-change-screen p{font-size:22px;font-weight:900;opacity:.95}@media(max-width:720px){.spviet-order-cashier-payment-card{padding:22px;border-radius:26px}.spviet-order-payment-modal-grid{grid-template-columns:1fr}.spviet-order-payment-modal-actions{flex-direction:column-reverse}.spviet-order-payment-modal-actions button{width:100%}.spviet-order-payment-due strong,.spviet-order-payment-change-preview strong{font-size:36px}.spviet-order-payment-input-label input{font-size:36px;height:72px}}

/* v0.8.5 - Tablet confirm modal footer + customer kitchen notifications */
.spviet-order-tablet-app .spviet-order-confirm-card{
  display:flex!important;
  flex-direction:column!important;
  max-height:92vh!important;
  overflow:hidden!important;
  padding-bottom:18px!important;
}
.spviet-order-tablet-app .spviet-order-confirm-card h2{
  flex:0 0 auto!important;
  margin-bottom:10px!important;
}
.spviet-order-tablet-app .spviet-order-confirm-card .spviet-order-confirm-lang{
  flex:0 0 auto!important;
  margin:0 0 8px!important;
}
.spviet-order-tablet-app .spviet-order-confirm-card .spviet-order-confirm-items{
  flex:1 1 auto!important;
  min-height:0!important;
  max-height:min(44vh,440px)!important;
  overflow:auto!important;
  padding-right:8px!important;
  margin:10px 0!important;
  -webkit-overflow-scrolling:touch!important;
}
.spviet-order-tablet-app .spviet-order-confirm-card .spviet-order-confirm-total{
  flex:0 0 auto!important;
  width:100%!important;
  text-align:left!important;
  margin:8px 0 10px!important;
  padding:6px 4px!important;
  font-size:clamp(26px,3.2vw,44px)!important;
  line-height:1.1!important;
}
.spviet-order-tablet-app .spviet-order-confirm-card .spviet-order-modal-actions{
  flex:0 0 auto!important;
  position:sticky!important;
  bottom:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:12px!important;
  width:100%!important;
  margin-top:0!important;
  padding:10px 0 0!important;
  background:linear-gradient(180deg,rgba(255,255,255,.92),#fff 44%)!important;
  z-index:5!important;
}
.spviet-order-tablet-app .spviet-order-confirm-card .spviet-order-modal-actions button{
  width:100%!important;
  min-width:0!important;
  white-space:nowrap!important;
  margin:0!important;
}
#spviet-order-customer-notice.spviet-order-customer-notice{
  position:fixed!important;
  left:50%!important;
  bottom:calc(24px + env(safe-area-inset-bottom,0px))!important;
  transform:translate(-50%,22px) scale(.98)!important;
  width:min(92vw,980px)!important;
  display:flex!important;
  align-items:center!important;
  gap:18px!important;
  padding:22px 28px!important;
  border-radius:28px!important;
  border:2px solid rgba(34,197,94,.35)!important;
  background:rgba(240,253,244,.98)!important;
  color:#052e16!important;
  box-shadow:0 28px 80px rgba(15,23,42,.35)!important;
  font-size:clamp(24px,3.2vw,42px)!important;
  font-weight:1000!important;
  line-height:1.25!important;
  z-index:2147483900!important;
  opacity:0!important;
  pointer-events:none!important;
  transition:opacity .18s ease,transform .18s ease!important;
}
#spviet-order-customer-notice.spviet-order-customer-notice.is-show{
  opacity:1!important;
  transform:translate(-50%,0) scale(1)!important;
}
#spviet-order-customer-notice .spviet-order-customer-notice-icon{
  flex:0 0 auto!important;
  width:62px!important;
  height:62px!important;
  border-radius:22px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#fff!important;
  box-shadow:0 10px 30px rgba(15,23,42,.12)!important;
}
#spviet-order-customer-notice .spviet-order-customer-notice-text{
  flex:1 1 auto!important;
}
#spviet-order-customer-notice.type-kitchen{
  border-color:rgba(59,130,246,.35)!important;
  background:rgba(239,246,255,.98)!important;
  color:#082f49!important;
}
@media(max-height:720px){
  .spviet-order-tablet-app .spviet-order-confirm-card{max-height:94vh!important;padding:22px!important;}
  .spviet-order-tablet-app .spviet-order-confirm-card .spviet-order-confirm-items{max-height:38vh!important;}
  .spviet-order-tablet-app .spviet-order-confirm-card .spviet-order-confirm-total{font-size:clamp(24px,3vw,38px)!important;}
  .spviet-order-tablet-app .spviet-order-confirm-card .spviet-order-modal-actions button{min-height:58px!important;font-size:clamp(17px,2vw,24px)!important;padding:14px 18px!important;}
  #spviet-order-customer-notice.spviet-order-customer-notice{bottom:16px!important;padding:18px 22px!important;font-size:clamp(22px,3vw,34px)!important;}
}
@media(max-width:640px){
  .spviet-order-tablet-app .spviet-order-confirm-card .spviet-order-modal-actions{grid-template-columns:1fr 1fr!important;}
  #spviet-order-customer-notice.spviet-order-customer-notice{width:calc(100vw - 24px)!important;border-radius:22px!important;}
}

/* v0.8.6 Tablet real-device polish: top marquee + full-height dish cards */
#spviet-order-app.spviet-order-tablet-app .spviet-order-tablet-topbar-pro{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  padding:6px 10px !important;
  min-height:40px !important;
  overflow:visible !important;
}
#spviet-order-app.spviet-order-tablet-app .spviet-order-table-info-wrap{
  flex:0 0 auto !important;
  min-width:auto !important;
  max-width:30vw !important;
}
#spviet-order-app.spviet-order-tablet-app .spviet-order-tablet-marquee{
  flex:1 1 auto !important;
  min-width:180px !important;
  height:30px !important;
  display:flex !important;
  align-items:center !important;
  overflow:hidden !important;
  border-radius:999px !important;
  border:1px solid rgba(245,158,11,.28) !important;
  background:linear-gradient(90deg,rgba(15,23,42,.72),rgba(30,41,59,.48),rgba(15,23,42,.72)) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07), 0 6px 18px rgba(0,0,0,.12) !important;
  color:#fff7ed !important;
}
#spviet-order-app.spviet-order-tablet-app .spviet-order-tablet-marquee.is-empty{
  display:none !important;
}
#spviet-order-app.spviet-order-tablet-app .spviet-order-tablet-marquee-track{
  display:flex !important;
  min-width:100% !important;
  white-space:nowrap !important;
}
#spviet-order-app.spviet-order-tablet-app .spviet-order-tablet-marquee-track span{
  display:inline-block !important;
  padding-left:100% !important;
  font-size:13px !important;
  line-height:30px !important;
  font-weight:900 !important;
  letter-spacing:.02em !important;
  text-shadow:0 1px 2px rgba(0,0,0,.42) !important;
  animation:spvietTabletTopMarquee 22s linear infinite !important;
}
@keyframes spvietTabletTopMarquee{
  0%{transform:translateX(0)}
  100%{transform:translateX(-100%)}
}
#spviet-order-app.spviet-order-tablet-app .spviet-order-top-action-row{
  flex:0 0 auto !important;
  max-width:44vw !important;
  justify-content:flex-end !important;
  overflow:visible !important;
}
#spviet-order-app.spviet-order-tablet-app .spviet-order-main-v059{
  padding-bottom:62px !important;
}
#spviet-order-app.spviet-order-tablet-app .spviet-order-products:not(.spviet-order-home-mode){
  padding-bottom:6px !important;
  align-content:stretch !important;
}
#spviet-order-app.spviet-order-tablet-app.spviet-tablet-product-rows-1 .spviet-order-products:not(.spviet-order-home-mode){
  grid-template-rows:minmax(0,1fr) !important;
}
#spviet-order-app.spviet-order-tablet-app .spviet-order-product{
  height:calc(100% - 2px) !important;
  min-height:0 !important;
}
#spviet-order-app.spviet-order-tablet-app.spviet-tablet-product-rows-1 .spviet-order-product > img,
#spviet-order-app.spviet-order-tablet-app.spviet-tablet-product-rows-1 .spviet-order-product > .spviet-order-no-img{
  flex:1 1 auto !important;
  height:auto !important;
  min-height:150px !important;
  max-height:none !important;
}
#spviet-order-app.spviet-order-tablet-app .spviet-order-product > img{
  object-fit:contain !important;
  background:#fffaf2 !important;
}
#spviet-order-app.spviet-order-tablet-app.spviet-tablet-product-rows-1 .spviet-order-product .spviet-order-product-body{
  flex:0 0 auto !important;
  min-height:102px !important;
  padding:10px 10px 9px !important;
}
#spviet-order-customer-notice.spviet-order-customer-notice{
  top:50% !important;
  bottom:auto !important;
  left:50% !important;
  transform:translate(-50%,-50%) scale(.96) !important;
  max-width:min(680px, calc(100vw - 34px)) !important;
  min-width:min(520px, calc(100vw - 34px)) !important;
  z-index:2147483646 !important;
}
#spviet-order-customer-notice.spviet-order-customer-notice.is-show{
  transform:translate(-50%,-50%) scale(1) !important;
}


/* v0.8.7 Tablet real-device viewport QA + configurable success notice */
#spviet-order-app.spviet-order-tablet-app{
  padding-bottom:env(safe-area-inset-bottom) !important;
}
#spviet-order-app.spviet-order-tablet-app .spviet-order-main-v059,
#spviet-order-app.spviet-order-tablet-app .spviet-order-tablet-main-v059{
  padding-bottom:calc(52px + env(safe-area-inset-bottom)) !important;
}
#spviet-order-app.spviet-order-tablet-app .spviet-order-products:not(.spviet-order-home-mode){
  min-height:0 !important;
}
#spviet-order-app.spviet-order-tablet-app .spviet-order-product-v059 img,
#spviet-order-app.spviet-order-tablet-app .spviet-order-product-v059 .spviet-order-no-img{
  min-height:clamp(170px, 42vh, 360px) !important;
}
#spviet-order-app.spviet-order-tablet-app.spviet-tablet-product-rows-2 .spviet-order-product-v059 img,
#spviet-order-app.spviet-order-tablet-app.spviet-tablet-product-rows-2 .spviet-order-product-v059 .spviet-order-no-img{
  min-height:clamp(115px, 25vh, 230px) !important;
}
#spviet-order-app.spviet-order-tablet-app.spviet-tablet-product-rows-3 .spviet-order-product-v059 img,
#spviet-order-app.spviet-order-tablet-app.spviet-tablet-product-rows-3 .spviet-order-no-img,
#spviet-order-app.spviet-order-tablet-app.spviet-tablet-product-rows-3 .spviet-order-product-v059 .spviet-order-no-img{
  min-height:clamp(88px, 18vh, 170px) !important;
}
.spviet-order-visual-qa-open{
  width:100% !important;
  border:0 !important;
  border-radius:16px !important;
  padding:13px 14px !important;
  margin:8px 0 12px !important;
  background:linear-gradient(135deg,#0f172a,#1d4ed8) !important;
  color:#fff !important;
  font-weight:950 !important;
  box-shadow:0 12px 28px rgba(15,23,42,.24) !important;
}
.spviet-order-visual-qa-card{
  width:min(820px,96vw) !important;
  max-height:92vh !important;
  overflow:auto !important;
}
.spviet-order-visual-qa-card h2{margin-bottom:6px!important;}
.spviet-order-visual-qa-card p{color:#475569!important;margin-top:0!important;}
.spviet-order-visual-qa-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:10px !important;
  margin:14px 0 !important;
}
.spviet-order-visual-qa-line{
  border:1px solid #dbe3ef !important;
  background:#f8fafc !important;
  border-radius:14px !important;
  padding:10px 12px !important;
}
.spviet-order-visual-qa-line b{
  display:block !important;
  color:#0f172a !important;
  font-size:12px !important;
  text-transform:uppercase !important;
  letter-spacing:.04em !important;
  margin-bottom:3px !important;
}
.spviet-order-visual-qa-line span{
  display:block !important;
  font-weight:850 !important;
  color:#1f2937 !important;
  overflow-wrap:anywhere !important;
}
.spviet-order-visual-qa-card details{
  border:1px solid #cbd5e1 !important;
  border-radius:14px !important;
  padding:10px 12px !important;
  background:#fff !important;
}
.spviet-order-visual-qa-card pre{
  max-height:260px !important;
  overflow:auto !important;
  background:#0f172a !important;
  color:#d1fae5 !important;
  border-radius:12px !important;
  padding:12px !important;
  font-size:12px !important;
}
.spviet-order-visual-qa-saved{
  margin-top:10px !important;
  padding:10px 12px !important;
  border-radius:12px !important;
  background:#dcfce7 !important;
  color:#166534 !important;
  font-weight:900 !important;
}
@media(max-width:720px){
  .spviet-order-visual-qa-grid{grid-template-columns:1fr !important;}
}

/* v0.8.8 Tablet Visual Tuning Admin Pro: per-category image fit */
#spviet-order-app.spviet-order-tablet-app .spviet-order-product-v059 > img{
  object-fit:var(--spviet-product-image-fit, contain) !important;
}
#spviet-order-app.spviet-order-tablet-app .spviet-order-product-v059.image-fit-cover > img{
  object-fit:cover !important;
}
#spviet-order-app.spviet-order-tablet-app .spviet-order-product-v059.image-fit-contain > img{
  object-fit:contain !important;
  background:#fffaf2 !important;
}

/* v0.10.3 Local LAN cashier/session fail-soft note */
.spviet-order-lan-soft-note{display:block;margin:8px 0 10px;padding:8px 10px;border-radius:12px;background:#fff7ed;color:#9a3412;border:1px solid #fed7aa;font-size:12px;font-weight:700;line-height:1.35}

/* v0.10.6 customer-safe cart/payment dialogs */
.spviet-order-unsent-cart-notice .spviet-order-customer-modal-card,
.spviet-order-payment-summary-modal .spviet-order-payment-summary-card{
  width:min(94vw, 980px);
  max-height:92vh;
  overflow:auto;
  background:#fff;
  border-radius:28px;
  padding:30px;
  box-shadow:0 30px 80px rgba(15,23,42,.30);
  border:1px solid rgba(245,158,11,.22);
}
.spviet-order-unsent-cart-notice .spviet-order-customer-modal-card{ text-align:center; max-width:760px; }
.spviet-order-unsent-icon{font-size:64px; line-height:1; margin-bottom:10px;}
.spviet-order-unsent-cart-notice h2,
.spviet-order-payment-summary-modal h2{font-size:clamp(34px,5vw,58px); margin:4px 0 16px; color:#111827; font-weight:900;}
.spviet-order-unsent-cart-notice p{font-size:clamp(22px,3vw,34px); line-height:1.35; color:#334155; margin:0 0 24px; font-weight:800;}
.spviet-order-payment-kicker{font-weight:900; color:#f97316; letter-spacing:.12em; text-transform:uppercase; font-size:14px;}
.spviet-order-payment-table-wrap{border:1px solid #e5e7eb; border-radius:18px; overflow:auto; max-height:38vh; margin:14px 0;}
.spviet-order-payment-table-wrap table{width:100%; border-collapse:collapse; font-size:18px;}
.spviet-order-payment-table-wrap th,
.spviet-order-payment-table-wrap td{padding:14px 12px; border-bottom:1px solid #e5e7eb; text-align:left; vertical-align:top;}
.spviet-order-payment-table-wrap th{background:#fff7ed; font-weight:900; color:#0f172a; position:sticky; top:0;}
.spviet-order-payment-table-wrap td:nth-child(2),
.spviet-order-payment-table-wrap td:nth-child(3),
.spviet-order-payment-table-wrap td:nth-child(4){white-space:nowrap; text-align:right; font-weight:800;}
.spviet-order-payment-split{display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:14px 0;}
.spviet-order-payment-split label,
.spviet-order-payment-split>div{background:#f8fafc; border:1px solid #e2e8f0; border-radius:18px; padding:14px; font-weight:900; color:#334155;}
.spviet-order-payment-split input{width:100%; margin-top:8px; border:2px solid #cbd5e1; border-radius:16px; padding:14px; font-size:32px; font-weight:900; text-align:center;}
.spviet-order-payment-split small{display:block; color:#64748b; font-weight:800; margin-bottom:8px;}
.spviet-order-payment-split strong{font-size:30px; color:#dc2626;}
.spviet-order-payment-total{display:flex; align-items:center; justify-content:space-between; gap:18px; background:#fff7ed; border:1px solid #fed7aa; border-radius:20px; padding:18px 20px; margin:12px 0;}
.spviet-order-payment-total span{font-size:20px; font-weight:900; color:#334155;}
.spviet-order-payment-total strong{font-size:clamp(36px,5vw,64px); color:#b91c1c; font-weight:1000;}
.spviet-order-payment-summary-message{min-height:24px; color:#dc2626; font-size:18px; font-weight:900; margin:8px 0 0;}
.spviet-order-payment-summary-modal .spviet-order-customer-modal-actions button,
.spviet-order-unsent-cart-notice .spviet-order-customer-modal-actions button{font-size:24px; padding:18px 26px; border-radius:18px; min-width:220px;}
@media(max-width:760px){
  .spviet-order-payment-split{grid-template-columns:1fr;}
  .spviet-order-payment-table-wrap table{font-size:15px;}
  .spviet-order-payment-table-wrap th,.spviet-order-payment-table-wrap td{padding:10px 8px;}
}

/* v0.10.7 - Tablet/Runner stability and customer UX hotfixes */
.spviet-order-product{position:relative!important;}
.spviet-order-product .spviet-order-product-qty-badge{
  position:absolute!important;top:10px!important;right:10px!important;z-index:30!important;
  min-width:64px!important;height:64px!important;padding:0 14px!important;border-radius:999px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  font-size:42px!important;line-height:1!important;font-weight:1000!important;
  color:#fff!important;background:#ef4444!important;border:4px solid #fff!important;
  box-shadow:0 12px 30px rgba(239,68,68,.45)!important;
}
.spviet-order-confirm-modal [data-confirm-cancel],
.spviet-order-confirm-modal .spviet-order-confirm-cancel{
  background:#dc2626!important;color:#fff!important;border-color:#dc2626!important;
}
.spviet-order-confirm-modal [data-confirm-submit],
.spviet-order-confirm-modal .spviet-order-confirm-submit{
  background:#22c55e!important;color:#111827!important;border-color:#22c55e!important;
}
.spviet-order-cart textarea,
.spviet-order-cart-note textarea,
.spviet-order-cart [name="note"],
.spviet-order-cart [data-cart-note]{
  min-height:34px!important;height:34px!important;max-height:44px!important;
  padding-top:8px!important;padding-bottom:8px!important;resize:none!important;
}
.spviet-order-cart .spviet-order-cart-note,
.spviet-order-cart .spviet-order-note-wrap{margin-bottom:6px!important;}
#spviet-order-confirm-cancel{background:#dc2626!important;color:#fff!important;border-color:#dc2626!important;}
#spviet-order-confirm-send{background:#22c55e!important;color:#111827!important;border-color:#22c55e!important;}


/* v0.10.8 - Customer-safe payment request visibility */
#spviet-order-request-payment[hidden],
#spviet-order-bottom-payment[hidden],
.spviet-order-bottom-nav button[hidden] {
  display: none !important;
}


/* v0.10.9 Realtime Debug Runtime */
.spviet-order-debug-fab{position:fixed;left:12px;bottom:12px;z-index:2147483670;border:0;border-radius:999px;background:#111827;color:#fff;font-weight:950;padding:10px 14px;box-shadow:0 14px 34px rgba(15,23,42,.28);letter-spacing:.04em}
.spviet-order-debug-panel{position:fixed;left:12px;bottom:62px;width:min(430px,calc(100vw - 24px));max-height:min(680px,calc(100vh - 90px));overflow:auto;z-index:2147483671;background:rgba(255,255,255,.98);border:1px solid rgba(148,163,184,.35);border-radius:22px;box-shadow:0 24px 70px rgba(15,23,42,.32);padding:14px;color:#0f172a;font-size:13px}.spviet-order-debug-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.spviet-order-debug-head strong{font-size:18px}.spviet-order-debug-head button{border:0;border-radius:12px;background:#eef2f7;font-size:20px;font-weight:950;padding:5px 10px}.spviet-order-debug-help{background:#fff7ed;border:1px solid #fed7aa;border-radius:14px;padding:9px 10px;color:#9a3412;font-weight:800;line-height:1.45;margin-bottom:10px}.spviet-order-debug-rows{display:grid;gap:6px}.spviet-order-debug-rows>div{display:grid;grid-template-columns:128px 1fr;gap:8px;border-bottom:1px dashed #e2e8f0;padding:5px 0}.spviet-order-debug-rows b{color:#475569}.spviet-order-debug-rows span{font-weight:850;word-break:break-word}.spviet-order-debug-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.spviet-order-debug-actions button{border:0;border-radius:14px;background:#0f172a;color:#fff;font-weight:950;padding:10px 12px}.spviet-order-debug-actions button[data-debug-reset-table]{background:#dc2626}.spviet-order-debug-result{margin-top:10px;color:#b91c1c;font-weight:900}.spviet-order-idle-screen~.spviet-order-debug-runtime .spviet-order-debug-fab,.spviet-order-debug-fab{opacity:.82}

/* v0.11.3 - Customer modal overlay fix for Payment Confirm / unsent cart dialogs */
.spviet-order-customer-modal{
  position:fixed!important;
  inset:0!important;
  z-index:2147483646!important;
  display:none!important;
  align-items:center!important;
  justify-content:center!important;
  padding:24px!important;
  background:rgba(15,23,42,.66)!important;
  -webkit-backdrop-filter:blur(6px);
  backdrop-filter:blur(6px);
}
.spviet-order-customer-modal.show{display:flex!important;}
.spviet-order-customer-modal .spviet-order-customer-modal-close{
  position:absolute;
  right:18px;
  top:16px;
  width:48px;
  height:48px;
  border-radius:999px;
  border:0;
  background:#111827;
  color:#fff;
  font-size:30px;
  line-height:1;
  font-weight:900;
}
.spviet-order-payment-summary-modal .spviet-order-payment-summary-card,
.spviet-order-unsent-cart-notice .spviet-order-customer-modal-card{position:relative;}

/* v0.11.6 - Tablet selected quantity badge: large, centered and never hidden */
.spviet-order-tablet-app .spviet-order-product,
.spviet-order-tablet-app .spviet-order-product-v059{
  position:relative!important;
}
.spviet-order-tablet-app .spviet-order-product .spviet-order-product-qty-badge,
.spviet-order-tablet-app .spviet-order-product-v059 .spviet-order-product-qty-badge{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  right:auto!important;
  bottom:auto!important;
  transform:translate(-50%,-50%)!important;
  z-index:21474840!important;
  width:clamp(92px,13vw,150px)!important;
  height:clamp(92px,13vw,150px)!important;
  min-width:clamp(92px,13vw,150px)!important;
  padding:0!important;
  border-radius:999px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  font-size:clamp(72px,10vw,124px)!important;
  line-height:1!important;
  font-weight:1000!important;
  letter-spacing:-.06em!important;
  color:#ef1f1f!important;
  background:rgba(255,255,255,.78)!important;
  border:6px solid rgba(255,255,255,.95)!important;
  text-shadow:0 3px 0 #fff,0 0 18px rgba(255,255,255,.95),0 8px 20px rgba(0,0,0,.28)!important;
  box-shadow:0 18px 44px rgba(0,0,0,.22), inset 0 0 0 2px rgba(239,31,31,.12)!important;
  pointer-events:none!important;
  user-select:none!important;
  overflow:visible!important;
}
.spviet-order-tablet-app .spviet-order-product.in-cart img,
.spviet-order-tablet-app .spviet-order-product-v059.in-cart img{
  filter:saturate(1.05) brightness(.98)!important;
}
@media(max-width:760px){
  .spviet-order-tablet-app .spviet-order-product .spviet-order-product-qty-badge,
  .spviet-order-tablet-app .spviet-order-product-v059 .spviet-order-product-qty-badge{
    width:86px!important;height:86px!important;min-width:86px!important;
    font-size:68px!important;border-width:5px!important;
  }
}

/* v0.12.7 - Tablet payment summary compact fixed-footer layout */
.spviet-order-payment-summary-modal .spviet-order-payment-summary-card{
  width:min(96vw, 1180px)!important;
  height:min(94vh, 820px)!important;
  max-height:94vh!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  padding:22px 26px!important;
}
.spviet-order-payment-summary-modal .spviet-order-payment-head{
  flex:0 0 auto!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:16px!important;
  padding-right:56px!important;
}
.spviet-order-payment-summary-modal .spviet-order-payment-kicker{
  margin:0!important;
  font-size:13px!important;
  line-height:1.2!important;
}
.spviet-order-payment-summary-modal h2{
  margin:2px 0 6px!important;
  font-size:clamp(30px,4.4vw,54px)!important;
  line-height:1.02!important;
}
.spviet-order-payment-summary-modal .spviet-order-payment-table-wrap{
  flex:1 1 auto!important;
  min-height:190px!important;
  max-height:none!important;
  margin:4px 0 6px!important;
  overflow:auto!important;
  -webkit-overflow-scrolling:touch!important;
}
.spviet-order-payment-summary-modal .spviet-order-payment-table-wrap table{
  font-size:clamp(15px,1.75vw,19px)!important;
}
.spviet-order-payment-summary-modal .spviet-order-payment-table-wrap th,
.spviet-order-payment-summary-modal .spviet-order-payment-table-wrap td{
  padding:10px 12px!important;
}
.spviet-order-payment-summary-modal .spviet-order-payment-footer-fixed{
  flex:0 0 auto!important;
  display:grid!important;
  gap:10px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.96),#fff)!important;
}
.spviet-order-payment-summary-modal .spviet-order-payment-totals-row{
  display:grid!important;
  grid-template-columns:minmax(190px,.9fr) minmax(190px,.9fr) minmax(280px,1.25fr)!important;
  gap:12px!important;
  align-items:stretch!important;
}
.spviet-order-payment-summary-modal .spviet-order-payment-metric{
  background:#fffaf2!important;
  border:1px solid #fed7aa!important;
  border-radius:20px!important;
  padding:14px 18px!important;
  min-height:96px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  color:#334155!important;
  font-weight:900!important;
}
.spviet-order-payment-summary-modal .spviet-order-payment-metric span{
  font-size:clamp(15px,1.8vw,22px)!important;
  line-height:1.15!important;
  font-weight:900!important;
  color:#334155!important;
  margin:0 0 6px!important;
}
.spviet-order-payment-summary-modal .spviet-order-payment-metric input{
  width:100%!important;
  margin:0!important;
  border:2px solid #cbd5e1!important;
  border-radius:16px!important;
  padding:10px 12px!important;
  height:54px!important;
  font-size:clamp(30px,4vw,44px)!important;
  font-weight:1000!important;
  text-align:center!important;
  background:#fff!important;
}
.spviet-order-payment-summary-modal .spviet-order-payment-metric strong{
  display:block!important;
  font-size:clamp(28px,4vw,44px)!important;
  line-height:1.05!important;
  color:#dc2626!important;
  font-weight:1000!important;
  white-space:nowrap!important;
}
.spviet-order-payment-summary-modal .spviet-order-payment-total{
  margin:0!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
  gap:2px!important;
  background:#fff7ed!important;
}
.spviet-order-payment-summary-modal .spviet-order-payment-total strong{
  font-size:clamp(38px,5vw,62px)!important;
  color:#b91c1c!important;
  white-space:nowrap!important;
}
.spviet-order-payment-summary-modal .spviet-order-customer-modal-actions{
  display:grid!important;
  grid-template-columns:minmax(180px,.75fr) minmax(360px,1.6fr)!important;
  gap:14px!important;
  align-items:stretch!important;
}
.spviet-order-payment-summary-modal .spviet-order-customer-modal-actions button{
  min-width:0!important;
  width:100%!important;
  min-height:64px!important;
  border-radius:18px!important;
  border:2px solid transparent!important;
  font-size:clamp(22px,2.7vw,32px)!important;
  font-weight:1000!important;
  box-shadow:0 10px 24px rgba(15,23,42,.16)!important;
}
.spviet-order-payment-summary-modal .spviet-order-payment-cancel{
  background:#dc2626!important;
  color:#fff!important;
  border-color:#b91c1c!important;
}
.spviet-order-payment-summary-modal .spviet-order-payment-submit{
  background:#22c55e!important;
  color:#111827!important;
  border-color:#16a34a!important;
}
.spviet-order-payment-summary-modal .spviet-order-payment-summary-message{
  min-height:20px!important;
  margin:0!important;
  font-size:16px!important;
  line-height:1.25!important;
}
@media(max-width:860px){
  .spviet-order-payment-summary-modal .spviet-order-payment-summary-card{padding:18px!important;height:94vh!important;}
  .spviet-order-payment-summary-modal .spviet-order-payment-totals-row{grid-template-columns:1fr 1fr!important;}
  .spviet-order-payment-summary-modal .spviet-order-payment-total{grid-column:1 / -1!important;min-height:82px!important;}
  .spviet-order-payment-summary-modal .spviet-order-customer-modal-actions{grid-template-columns:1fr!important;}
}

/* v0.14.34 Member QR Login One-shot Draft Session + Mobile Order Tracking Pro */
#spviet-order-terms-modal .spviet-order-modal-actions button{min-height:104px!important;font-size:clamp(28px,3.2vw,42px)!important;border-radius:26px!important;font-weight:1000!important;letter-spacing:.01em!important}
#spviet-order-terms-modal .spviet-order-modal-actions button#spviet-order-terms-yes{background:linear-gradient(135deg,#dc2626,#ef4444)!important;color:#fff!important;box-shadow:0 18px 40px rgba(220,38,38,.28)!important}
#spviet-order-terms-modal .spviet-order-modal-actions button#spviet-order-terms-no{background:linear-gradient(135deg,#020617,#111827)!important;color:#fff!important;box-shadow:0 18px 40px rgba(15,23,42,.24)!important}
.spviet-order-bottom-language{position:relative;display:flex;align-items:center;justify-content:center;min-width:92px;z-index:20}
.spviet-order-bottom-lang-toggle{height:100%;min-width:88px;border:0;border-radius:16px;background:linear-gradient(135deg,#991b1b,#dc2626)!important;color:#fff!important;font-weight:1000!important;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 10px 24px rgba(0,0,0,.22)}
.spviet-order-bottom-lang-toggle span{font-size:28px;line-height:1}.spviet-order-bottom-lang-toggle b{font-size:18px;letter-spacing:.04em}
.spviet-order-bottom-lang-menu{position:absolute;left:0;bottom:calc(100% + 10px);width:250px;background:#fff;border:1px solid rgba(226,232,240,.95);border-radius:22px;padding:10px;box-shadow:0 28px 70px rgba(15,23,42,.35);display:grid;gap:8px}
.spviet-order-bottom-lang-menu button{width:100%;border:0;border-radius:16px;background:#f8fafc;color:#111827;font-size:22px;font-weight:1000;text-align:left;padding:16px 18px}
.spviet-order-bottom-lang-menu button:active{background:#fee2e2;color:#991b1b}
#spviet-order-customer-notice.spviet-order-customer-notice{max-width:min(860px,92vw)!important;padding:28px 34px!important;border-radius:34px!important;background:linear-gradient(135deg,#f0fdf4,#fff)!important;border:2px solid rgba(22,163,74,.26)!important;box-shadow:0 34px 90px rgba(15,23,42,.34)!important;color:#052e16!important;align-items:flex-start!important}
#spviet-order-customer-notice .spviet-order-customer-notice-icon{width:78px!important;height:78px!important;border-radius:24px!important;background:linear-gradient(135deg,#16a34a,#22c55e)!important;color:#fff!important;font-size:42px!important;box-shadow:0 18px 36px rgba(22,163,74,.25)!important}
#spviet-order-customer-notice .spviet-order-customer-notice-text{font-size:clamp(34px,4.2vw,56px)!important;line-height:1.12!important;font-weight:1000!important;color:#111827!important}
.spviet-order-member-gate-card,.spviet-order-member-qr-card{width:min(860px,94vw)!important;border-radius:36px!important;padding:34px!important;background:linear-gradient(180deg,#fff,#fff7ed)!important;border:1px solid rgba(254,215,170,.95)!important}
.spviet-order-member-gate-head{display:grid;grid-template-columns:86px 1fr;gap:22px;align-items:center}.spviet-order-member-gate-head>span{width:86px;height:86px;border-radius:28px;background:linear-gradient(135deg,#dc2626,#f97316);display:flex;align-items:center;justify-content:center;font-size:46px;color:#fff}.spviet-order-member-gate-head h2,.spviet-order-member-qr-card h2{font-size:clamp(34px,4vw,54px)!important;margin:0 0 8px!important}.spviet-order-member-gate-head p,.spviet-order-member-qr-card p{font-size:clamp(20px,2vw,28px)!important;font-weight:800!important;color:#475569!important;line-height:1.45!important}.spviet-order-member-gate-actions{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:28px}.spviet-order-member-gate-actions button{min-height:96px;border:0;border-radius:28px;font-size:clamp(26px,3vw,38px);font-weight:1000}.spviet-order-member-gate-actions button:first-child{background:#111827;color:#fff}.spviet-order-member-gate-actions button:last-child{background:linear-gradient(135deg,#dc2626,#ef4444);color:#fff}.spviet-order-member-qr-box{display:grid;justify-items:center;gap:14px;background:#fff;border:2px dashed #fecaca;border-radius:30px;padding:24px;margin:20px 0}.spviet-order-member-qr-box img{width:min(330px,62vw);height:auto;border-radius:18px}.spviet-order-member-qr-box a{font-size:20px;font-weight:1000;color:#b91c1c}.spviet-order-member-qr-status{font-size:clamp(22px,2.5vw,34px);font-weight:1000;text-align:center;color:#15803d;margin:14px 0}.spviet-order-member-qr-card .spviet-order-modal-actions button{min-height:76px;font-size:24px;border-radius:22px;font-weight:1000}
@media(max-width:720px){.spviet-order-member-gate-head{grid-template-columns:1fr;text-align:center}.spviet-order-member-gate-head>span{margin:0 auto}.spviet-order-member-gate-actions{grid-template-columns:1fr}.spviet-order-bottom-language{min-width:76px}.spviet-order-bottom-lang-menu{width:220px}.spviet-order-bottom-lang-toggle{min-width:72px}#spviet-order-terms-modal .spviet-order-modal-actions button{min-height:86px!important}}


/* v0.14.35 Tablet UX + Token Login Flow Polish Pro */
#spviet-order-bottom-lang-menu[hidden]{display:none!important;visibility:hidden!important;pointer-events:none!important;opacity:0!important;transform:translateY(20px) scale(.98)!important;}
#spviet-order-bottom-lang-menu:not([hidden]){display:grid!important;animation:spvietLangSheetUp .18s ease-out both!important;}
@keyframes spvietLangSheetUp{from{opacity:0;transform:translateY(22px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
#spviet-order-customer-notice .spviet-order-notice-order-code{display:inline-block!important;color:#dc2626!important;background:#fff1f2!important;border:2px solid rgba(220,38,38,.22)!important;border-radius:18px!important;padding:.02em .28em!important;font-weight:1000!important;letter-spacing:.03em!important;white-space:nowrap!important;}

/* v0.14.36 - Parallel cashier layout pilot: left 2/3 tabs + right 1/3 bill/payment panel. Safe CSS-only layout; existing IDs/workflows preserved. */
.spviet-order-cashier-layout-v2 .spviet-order-header{min-height:54px;height:54px;padding:0 16px;background:linear-gradient(135deg,#061b49,#0b3274)}
.spviet-order-cashier-layout-v2 .spviet-order-header strong{font-size:18px}.spviet-order-cashier-layout-v2 .spviet-order-header span{font-size:12px}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-main-layout-v2{grid-template-columns:minmax(0,2fr) minmax(360px,1fr)!important;gap:10px;padding:10px;background:#08265a;align-items:stretch;overflow:hidden}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-left-workspace{min-width:0;min-height:0;display:flex;flex-direction:column;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 12px 32px rgba(2,6,23,.18)}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-layout-tabs{height:58px;display:flex;gap:8px;align-items:stretch;padding:8px;background:#08265a;border-bottom:1px solid rgba(255,255,255,.12);box-sizing:border-box}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-layout-tabs button{border:0;border-radius:16px;padding:0 20px;background:#0b72d9;color:#fff;font-weight:1000;font-size:16px;display:flex;align-items:center;justify-content:center;gap:8px;min-width:150px;box-shadow:inset 0 -2px 0 rgba(0,0,0,.18)}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-layout-tabs button.is-active{background:#fff;color:#0f172a;border-bottom-left-radius:0;border-bottom-right-radius:0;box-shadow:0 -2px 0 #fff,0 8px 18px rgba(2,6,23,.18)}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-tab-panel{display:none;min-height:0;flex:1;overflow:hidden}.spviet-order-cashier-layout-v2 .spviet-order-cashier-tab-panel.is-active{display:flex;flex-direction:column}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-tab-panel .spviet-order-cashier-board-panel,.spviet-order-cashier-layout-v2 .spviet-order-cashier-tab-panel .spviet-order-cashier-list-panel,.spviet-order-cashier-layout-v2 .spviet-order-cashier-tab-panel .spviet-order-cashier-menu-panel{border-radius:0;box-shadow:none;min-height:0;flex:1;padding:14px;background:#fff;overflow:hidden;display:flex;flex-direction:column}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-right-bill-panel{min-width:0;border-radius:16px;padding:12px;background:#fff;box-shadow:0 12px 32px rgba(2,6,23,.18)}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-detail{overflow:auto;padding-right:4px}.spviet-order-cashier-layout-v2 .spviet-order-panel-head{margin-bottom:8px}.spviet-order-cashier-layout-v2 .spviet-order-panel-head h2{font-size:18px}.spviet-order-cashier-layout-v2 .spviet-order-panel-head p,.spviet-order-cashier-layout-v2 .spviet-order-panel-head small{margin:4px 0 0;color:#64748b;font-weight:700}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-tables{grid-template-columns:repeat(var(--spviet-cashier-table-columns,4),minmax(110px,1fr));gap:10px;overflow:auto}.spviet-order-cashier-layout-v2 .spviet-order-cashier-table-card{min-height:132px;border-radius:18px}.spviet-order-cashier-layout-v2 .spviet-order-cashier-orders{gap:8px;overflow:auto}.spviet-order-cashier-layout-v2 .spviet-order-cashier-order{border-radius:16px;padding:12px}.spviet-order-cashier-layout-v2 .spviet-order-cashier-order strong{font-size:15px}.spviet-order-cashier-layout-v2 .spviet-order-order-meta b{font-size:17px;color:#dc2626}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-paybar{position:sticky;bottom:0;z-index:5;margin-top:12px;border-radius:18px;background:#f8fafc;border:1px solid #e2e8f0;padding:10px;display:grid;grid-template-columns:1fr;gap:8px}.spviet-order-cashier-layout-v2 .spviet-order-cashier-paybar .spviet-order-pay{min-height:58px;border-radius:18px;background:#0b72d9;font-size:18px}.spviet-order-cashier-layout-v2 .spviet-order-cashier-paybar .spviet-order-close-order{min-height:52px;border-radius:18px;background:#10b981;color:#06251b;font-size:16px}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-menu-search{width:100%;height:48px;border:1px solid #cbd5e1;border-radius:16px;padding:0 16px;font-size:17px;font-weight:800;margin-bottom:12px;box-sizing:border-box}.spviet-order-cashier-layout-v2 .spviet-order-cashier-menu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;overflow:auto;min-height:0}.spviet-order-cashier-layout-v2 .spviet-order-cashier-menu-card{border:1px solid #e5e7eb;border-radius:18px;background:#fff;text-align:left;padding:10px;box-shadow:0 8px 20px rgba(15,23,42,.08);display:flex;flex-direction:column;gap:7px;min-height:210px}.spviet-order-cashier-layout-v2 .spviet-order-cashier-menu-card img,.spviet-order-cashier-layout-v2 .spviet-order-cashier-menu-noimg{height:100px;width:100%;object-fit:cover;border-radius:14px;background:linear-gradient(135deg,#fee2e2,#fef3c7);display:grid;place-items:center;font-weight:1000;color:#991b1b}.spviet-order-cashier-layout-v2 .spviet-order-cashier-menu-card strong{font-size:16px;line-height:1.25}.spviet-order-cashier-layout-v2 .spviet-order-cashier-menu-card em{font-style:normal;font-size:17px;font-weight:1000;color:#b91c1c}.spviet-order-cashier-layout-v2 .spviet-order-cashier-menu-card small{color:#64748b;font-weight:700}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-payment-modal{z-index:2147483700}.spviet-order-cashier-layout-v2 .spviet-order-cashier-payment-card{width:min(760px,92vw);border-radius:22px}.spviet-order-cashier-layout-v2 .spviet-order-payment-modal-actions button{min-height:58px;font-size:18px}.spviet-order-cashier-layout-v2 .spviet-order-payment-input-label input{height:54px;font-size:24px;font-weight:1000;text-align:right}
@media(max-width:1100px){.spviet-order-cashier-layout-v2 .spviet-order-cashier-main-layout-v2{grid-template-columns:1fr!important}.spviet-order-cashier-layout-v2 .spviet-order-cashier-right-bill-panel{min-height:42vh}.spviet-order-cashier-layout-v2 .spviet-order-cashier-layout-tabs{overflow-x:auto}.spviet-order-cashier-layout-v2 .spviet-order-cashier-layout-tabs button{min-width:170px}}

/* v0.14.37 - Cashier layout V2 correction: SAPO-like right bill 1/3 + offline-fast menu draft */
.spviet-order-cashier-layout-v2{height:100vh;max-height:100vh;overflow:hidden;background:#08265a}
.spviet-order-cashier-layout-v2 .spviet-order-header{display:none!important}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-main-layout-v2{height:100vh!important;display:grid!important;grid-template-columns:minmax(0,2fr) minmax(420px,1fr)!important;gap:8px!important;padding:8px!important;background:#08265a!important;box-sizing:border-box!important}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-left-workspace{border-radius:18px!important;background:#fff!important;display:grid!important;grid-template-rows:62px minmax(0,1fr)!important;overflow:hidden!important}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-layout-tabs{height:62px!important;background:#0a3474!important;padding:8px 10px!important;gap:8px!important;align-items:center!important;overflow:hidden!important;border:0!important}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-layout-tabs button{height:48px!important;min-width:148px!important;border-radius:999px!important;padding:0 18px!important;font-size:15px!important;background:#0b72d9!important;color:#fff!important;white-space:nowrap!important}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-layout-tabs button.is-active{background:#fff!important;color:#08316c!important;box-shadow:0 8px 18px rgba(2,6,23,.2)!important}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-tab-panel{min-height:0!important;overflow:hidden!important}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-tab-panel .spviet-order-cashier-board-panel,
.spviet-order-cashier-layout-v2 .spviet-order-cashier-tab-panel .spviet-order-cashier-list-panel,
.spviet-order-cashier-layout-v2 .spviet-order-cashier-tab-panel .spviet-order-cashier-menu-panel{padding:12px!important;overflow:hidden!important;min-height:0!important}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-right-bill-panel{border-radius:18px!important;background:#fff!important;display:grid!important;grid-template-rows:auto auto minmax(0,1fr)!important;gap:10px!important;overflow:hidden!important;padding:12px!important}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-right-head{margin:0!important;display:flex!important;align-items:center!important;justify-content:space-between!important;background:#f8fafc!important;border:1px solid #e2e8f0!important;border-radius:16px!important;padding:10px 12px!important}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-right-head h2{font-size:18px!important;margin:0!important}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-right-head button{width:44px;height:44px;border-radius:14px;border:0;background:#0b72d9;color:#fff;font-size:22px;font-weight:1000}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-detail{overflow:auto!important;min-height:0!important;background:#fff!important;border:1px solid #e5e7eb!important;border-radius:16px!important;padding:10px!important}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-draft{border:1px solid #dbeafe;background:#eff6ff;border-radius:16px;padding:10px;min-height:120px;box-shadow:0 8px 22px rgba(15,23,42,.08)}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-draft-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-draft-head span{display:block;color:#475569;font-weight:900;font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-draft-head strong{font-size:22px;color:#b91c1c;font-weight:1000}.spviet-order-cashier-layout-v2 .spviet-order-cashier-draft-head button{border:0;border-radius:12px;background:#fee2e2;color:#991b1b;font-weight:1000;padding:10px 12px}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-draft-controls{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:6px;margin-bottom:8px}.spviet-order-cashier-layout-v2 .spviet-order-cashier-draft-controls input,.spviet-order-cashier-layout-v2 .spviet-order-cashier-draft-controls select{height:40px;border:1px solid #bfdbfe;border-radius:12px;padding:0 10px;font-weight:800;min-width:0;background:#fff}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-draft-list{max-height:185px;overflow:auto;display:flex;flex-direction:column;gap:6px}.spviet-order-cashier-layout-v2 .spviet-order-cashier-draft-list p{margin:6px 0;color:#64748b;font-weight:800;text-align:center}.spviet-order-cashier-layout-v2 .spviet-order-cashier-draft-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;background:#fff;border:1px solid #dbeafe;border-radius:12px;padding:8px}.spviet-order-cashier-layout-v2 .spviet-order-cashier-draft-row strong{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.spviet-order-cashier-layout-v2 .spviet-order-cashier-draft-row small{color:#64748b;font-weight:800}.spviet-order-cashier-layout-v2 .spviet-order-cashier-draft-row em{font-style:normal;font-weight:1000;color:#0f172a}.spviet-order-cashier-layout-v2 .spviet-order-cashier-draft-qty{display:flex;align-items:center;gap:6px}.spviet-order-cashier-layout-v2 .spviet-order-cashier-draft-qty button{width:32px;height:32px;border:0;border-radius:10px;background:#0b72d9;color:#fff;font-weight:1000}.spviet-order-cashier-layout-v2 .spviet-order-cashier-draft-submit{width:100%;height:54px;border:0;border-radius:16px;background:#0b72d9;color:#fff;font-size:17px;font-weight:1000;margin-top:8px}.spviet-order-cashier-layout-v2 .spviet-order-cashier-draft-submit:disabled{opacity:.5}.spviet-order-cashier-layout-v2 .spviet-order-cashier-draft-note{display:block;margin-top:6px;color:#64748b;font-weight:700}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-menu-search{height:54px!important;margin-bottom:10px!important}.spviet-order-cashier-layout-v2 .spviet-order-cashier-menu-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))!important;gap:10px!important;overflow:auto!important}.spviet-order-cashier-layout-v2 .spviet-order-cashier-menu-card{min-height:190px!important;border-radius:18px!important;position:relative!important}.spviet-order-cashier-layout-v2 .spviet-order-cashier-menu-card::after{content:'+';position:absolute;right:10px;bottom:10px;width:38px;height:38px;border-radius:12px;background:#f97316;color:#fff;display:grid;place-items:center;font-size:24px;font-weight:1000}.spviet-order-cashier-layout-v2 .spviet-order-cashier-menu-card img,.spviet-order-cashier-layout-v2 .spviet-order-cashier-menu-noimg{height:88px!important}.spviet-order-cashier-layout-v2 .spviet-order-cashier-menu-card small{padding-right:44px!important}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-tables{grid-template-columns:repeat(auto-fill,minmax(135px,1fr))!important}.spviet-order-cashier-layout-v2 .spviet-order-cashier-paybar{position:sticky!important;bottom:0!important}.spviet-order-cashier-layout-v2 .spviet-order-cashier-payment-card{width:min(900px,94vw)!important}.spviet-order-cashier-layout-v2 .spviet-order-cashier-payment-modal .spviet-order-cashier-payment-card{box-shadow:0 24px 80px rgba(2,6,23,.35)!important}
@media(max-width:1100px){.spviet-order-cashier-layout-v2 .spviet-order-cashier-main-layout-v2{grid-template-columns:1fr!important;overflow:auto!important}.spviet-order-cashier-layout-v2 .spviet-order-cashier-right-bill-panel{min-height:46vh!important}.spviet-order-cashier-layout-v2 .spviet-order-cashier-layout-tabs{overflow-x:auto!important}.spviet-order-cashier-layout-v2 .spviet-order-cashier-layout-tabs button{min-width:170px!important}}

/* v0.14.38 - Cashier Layout V2 Right Bill / Payment Panel Deep Pro */
.spviet-order-cashier-layout-v2 .spviet-order-cashier-right-bill-panel{display:flex!important;flex-direction:column!important;padding:0!important;overflow:hidden!important;background:#f8fafc!important;border-radius:22px!important;border:1px solid rgba(15,23,42,.10)!important;box-shadow:0 18px 40px rgba(2,6,23,.18)!important}.spviet-order-cashier-layout-v2 .spviet-order-cashier-right-head{padding:12px 14px!important;margin:0!important;background:linear-gradient(135deg,#061b49,#0b3274)!important;color:#fff!important}.spviet-order-cashier-layout-v2 #spviet-order-cashier-draft{border-bottom:1px solid #e5e7eb!important;background:#fff!important;max-height:34%!important;overflow:auto!important}.spviet-order-cashier-layout-v2 #spviet-order-cashier-detail{flex:1!important;min-height:0!important;overflow:auto!important;padding:10px!important}.spviet-order-cashier-layout-v2 .spviet-v2-bill-shell{min-height:100%;display:flex;flex-direction:column;gap:10px}.spviet-order-cashier-layout-v2 .spviet-v2-bill-top{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:12px;box-shadow:0 8px 22px rgba(15,23,42,.06)}.spviet-order-cashier-layout-v2 .spviet-v2-bill-top small{font-weight:1000;color:#64748b;text-transform:uppercase}.spviet-order-cashier-layout-v2 .spviet-v2-bill-top h3{margin:2px 0;font-size:24px;color:#0f172a}.spviet-order-cashier-layout-v2 .spviet-v2-bill-top p{margin:0;color:#475569;font-weight:850}.spviet-order-cashier-layout-v2 .spviet-v2-icon-btn{width:44px;height:44px;border:0;border-radius:14px;background:#e0f2fe;color:#075985;font-size:20px;font-weight:1000}.spviet-order-cashier-layout-v2 .spviet-v2-bill-list{display:flex;flex-direction:column;gap:8px;min-height:150px;max-height:36vh;overflow:auto}.spviet-order-cashier-layout-v2 .spviet-v2-bill-row{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:10px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;box-shadow:0 6px 16px rgba(15,23,42,.05)}.spviet-order-cashier-layout-v2 .spviet-v2-bill-row.is-cancelled{opacity:.55;text-decoration:line-through}.spviet-order-cashier-layout-v2 .spviet-v2-bill-row-main b{display:block;font-size:15px;color:#0f172a}.spviet-order-cashier-layout-v2 .spviet-v2-bill-row-main small{display:block;color:#64748b;margin-top:2px}.spviet-order-cashier-layout-v2 .spviet-v2-bill-row-price{text-align:right;white-space:nowrap}.spviet-order-cashier-layout-v2 .spviet-v2-bill-row-price span{display:block;color:#64748b;font-weight:900}.spviet-order-cashier-layout-v2 .spviet-v2-bill-row-price strong{display:block;color:#0f172a;font-size:16px}.spviet-order-cashier-layout-v2 .spviet-v2-bill-row-actions{grid-column:1/-1;display:flex;gap:6px}.spviet-order-cashier-layout-v2 .spviet-v2-bill-row-actions button{height:36px;border:0;border-radius:10px;background:#e5e7eb;color:#0f172a;font-weight:1000;min-width:48px}.spviet-order-cashier-layout-v2 .spviet-v2-bill-row-actions button:last-child{margin-left:auto;background:#fee2e2;color:#991b1b}.spviet-order-cashier-layout-v2 .spviet-v2-total-card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:12px;display:flex;flex-direction:column;gap:8px}.spviet-order-cashier-layout-v2 .spviet-v2-total-card div{display:flex;align-items:center;justify-content:space-between;color:#475569;font-weight:900}.spviet-order-cashier-layout-v2 .spviet-v2-total-card .is-main{border-top:1px dashed #cbd5e1;padding-top:8px;color:#0f172a}.spviet-order-cashier-layout-v2 .spviet-v2-total-card .is-main strong{font-size:24px}.spviet-order-cashier-layout-v2 .spviet-v2-total-card .is-due strong{color:#dc2626}.spviet-order-cashier-layout-v2 .spviet-v2-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;position:sticky;bottom:0;background:#f8fafc;padding-top:4px}.spviet-order-cashier-layout-v2 .spviet-v2-action-grid button{height:58px;border:0;border-radius:16px;font-size:15px;font-weight:1000}.spviet-order-cashier-layout-v2 .spviet-v2-secondary{background:#eef2ff;color:#1e3a8a}.spviet-order-cashier-layout-v2 .spviet-v2-primary{background:linear-gradient(135deg,#0b72d9,#0057bd);color:#fff;grid-column:span 2;font-size:18px!important}.spviet-order-cashier-layout-v2 .spviet-v2-tools-drawer{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:10px}.spviet-order-cashier-layout-v2 .spviet-v2-tools-drawer>summary{cursor:pointer;font-weight:1000;color:#334155}.spviet-order-payment-modal-v2 .spviet-order-cashier-payment-card{width:min(980px,96vw)!important;border-radius:22px!important;overflow:hidden!important}.spviet-order-payment-v2-body{display:grid;grid-template-columns:260px minmax(260px,1fr) 315px;gap:12px;padding:14px;background:#f8fafc}.spviet-order-payment-search{height:50px;border:1px solid #e5e7eb;border-radius:14px;background:#fff;display:flex;align-items:center;gap:8px;padding:0 12px;font-weight:900}.spviet-order-payment-search input{border:0;outline:0;min-width:0;width:100%;font-weight:800}.spviet-order-payment-method-cards{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.spviet-order-payment-method-cards label{height:74px;border:1px solid #dbeafe;border-radius:14px;background:#fff;display:grid;place-items:center;text-align:center;font-weight:1000;color:#0f172a;cursor:pointer}.spviet-order-payment-method-cards input{display:none}.spviet-order-payment-method-cards input:checked+span{outline:3px solid #0b72d9;background:#eff6ff}.spviet-order-payment-method-cards span{width:100%;height:100%;border-radius:12px;display:grid;place-items:center}.spviet-order-payment-mid{background:#fff;border-radius:16px;border:1px solid #e5e7eb;padding:12px}.spviet-order-payment-keypad{display:flex;flex-direction:column;gap:8px}.spviet-order-payment-keypad-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.spviet-order-payment-keypad-grid button,.spviet-order-payment-presets button{border:1px solid #e5e7eb;background:#fff;border-radius:12px;height:52px;font-size:22px;font-weight:1000;color:#334155}.spviet-order-payment-presets{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.spviet-order-payment-presets button{font-size:13px;height:44px}.spviet-order-payment-modal-v2 .spviet-order-payment-modal-actions{padding:0 14px 14px!important;background:#f8fafc!important}.spviet-order-payment-modal-v2 .spviet-order-payment-modal-actions button:last-child{height:62px!important;font-size:18px!important;border-radius:16px!important;background:#0b72d9!important;color:#fff!important}@media(max-width:980px){.spviet-order-payment-v2-body{grid-template-columns:1fr}.spviet-order-payment-keypad-grid{grid-template-columns:repeat(3,1fr)}}

/* v0.14.39 - Cashier Layout V2 payment queue + offline menu visual QA */
.spviet-order-cashier-layout-v2 .spviet-order-payment-request-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;margin-bottom:10px;border-radius:16px;background:linear-gradient(135deg,#fff7ed,#ffedd5);border:1px solid #fed7aa;color:#7c2d12;font-weight:1000}.spviet-order-cashier-layout-v2 .spviet-order-payment-request-summary span{font-size:12px;color:#9a3412}.spviet-order-cashier-layout-v2 .spviet-order-payment-request-card{width:100%;border:2px solid #e5e7eb;background:#fff;border-radius:18px;padding:12px;margin-bottom:10px;text-align:left;display:grid;gap:10px;box-shadow:0 8px 20px rgba(15,23,42,.08);transition:.16s ease}.spviet-order-cashier-layout-v2 .spviet-order-payment-request-card:hover,.spviet-order-cashier-layout-v2 .spviet-order-payment-request-card.active{border-color:#dc2626;box-shadow:0 12px 26px rgba(220,38,38,.16);transform:translateY(-1px)}.spviet-order-cashier-layout-v2 .spviet-order-payreq-top,.spviet-order-cashier-layout-v2 .spviet-order-payreq-main,.spviet-order-cashier-layout-v2 .spviet-order-payreq-meta{display:flex;align-items:center;justify-content:space-between;gap:8px}.spviet-order-cashier-layout-v2 .spviet-order-payreq-top span{background:#fee2e2;color:#991b1b;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:1000}.spviet-order-cashier-layout-v2 .spviet-order-payreq-top b{font-size:16px;color:#0f172a}.spviet-order-cashier-layout-v2 .spviet-order-payreq-main strong{font-size:22px;color:#111827}.spviet-order-cashier-layout-v2 .spviet-order-payreq-main em{font-style:normal;font-size:22px;font-weight:1000;color:#dc2626}.spviet-order-cashier-layout-v2 .spviet-order-payreq-meta span{background:#f1f5f9;border-radius:999px;padding:5px 9px;color:#334155;font-size:12px;font-weight:900}.spviet-order-cashier-layout-v2 .spviet-order-payment-request-empty{height:100%;min-height:280px;border:2px dashed #cbd5e1;border-radius:22px;background:#f8fafc;display:grid;place-content:center;text-align:center;padding:28px;color:#475569}.spviet-order-cashier-layout-v2 .spviet-order-payment-request-empty strong{font-size:22px;color:#0f172a}.spviet-order-cashier-layout-v2 .spviet-order-payment-request-empty span{display:block;margin-top:8px;font-weight:800}.spviet-order-cashier-layout-v2 .spviet-order-payment-request-empty small{margin-top:10px;color:#64748b;font-weight:900}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-menu-source{display:inline-flex;margin-top:4px;padding:4px 9px;border-radius:999px;background:#ecfdf5;color:#166534;font-weight:1000}.spviet-order-cashier-layout-v2 .spviet-order-cashier-menu-tools{display:grid;grid-template-columns:1fr auto;gap:8px;margin-bottom:8px}.spviet-order-cashier-layout-v2 .spviet-order-cashier-menu-tools button{border:0;border-radius:14px;background:#e2e8f0;color:#0f172a;font-weight:1000;padding:0 14px}.spviet-order-cashier-layout-v2 .spviet-order-cashier-menu-cats{display:flex;gap:8px;overflow:auto;padding:2px 0 10px;margin-bottom:6px;scrollbar-width:thin}.spviet-order-cashier-layout-v2 .spviet-order-cashier-menu-cats button{flex:0 0 auto;border:1px solid #dbeafe;border-radius:999px;background:#fff;color:#1e3a8a;font-weight:1000;padding:9px 14px}.spviet-order-cashier-layout-v2 .spviet-order-cashier-menu-cats button.is-active{background:#0b72d9;color:#fff;border-color:#0b72d9;box-shadow:0 5px 14px rgba(11,114,217,.25)}.spviet-order-cashier-layout-v2 .spviet-order-cashier-menu-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;padding-right:4px}.spviet-order-cashier-layout-v2 .spviet-order-cashier-menu-card{min-height:184px;border:1px solid #e2e8f0;border-radius:18px;background:#fff;box-shadow:0 8px 18px rgba(15,23,42,.07);padding:10px;display:flex;flex-direction:column;gap:7px;text-align:left}.spviet-order-cashier-layout-v2 .spviet-order-cashier-menu-card img,.spviet-order-cashier-layout-v2 .spviet-order-cashier-menu-noimg{width:100%;height:86px;border-radius:14px;background:#f1f5f9;object-fit:cover;display:grid;place-items:center;color:#94a3b8;font-weight:1000}.spviet-order-cashier-layout-v2 .spviet-order-cashier-menu-card strong{font-size:15px;line-height:1.25;color:#0f172a;min-height:38px}.spviet-order-cashier-layout-v2 .spviet-order-cashier-menu-card em{font-style:normal;color:#dc2626;font-size:17px;font-weight:1000}.spviet-order-cashier-layout-v2 .spviet-order-cashier-menu-card small{color:#64748b;font-weight:850}.spviet-order-cashier-layout-v2 .spviet-order-cashier-menu-search{height:46px;border-radius:14px;border:1px solid #cbd5e1;padding:0 14px;font-weight:900}
@media(max-width:1180px){.spviet-order-cashier-layout-v2 .spviet-order-cashier-menu-grid{grid-template-columns:repeat(auto-fill,minmax(128px,1fr))}.spviet-order-cashier-layout-v2 .spviet-order-payreq-main strong,.spviet-order-cashier-layout-v2 .spviet-order-payreq-main em{font-size:18px}}

/* v0.14.40 - Cashier Layout V2 real-device HD screen fit + payment modal closeout */
.spviet-order-cashier-layout-v2{
  --spviet-v2-blue:#07306f;
  --spviet-v2-gap:6px;
  --spviet-v2-radius:14px;
  font-family:Inter,"Noto Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-main-layout-v2{
  grid-template-columns:minmax(0,2fr) minmax(360px,1fr)!important;
  gap:var(--spviet-v2-gap)!important;
  padding:var(--spviet-v2-gap)!important;
}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-left-workspace{
  grid-template-rows:54px minmax(0,1fr)!important;
  border-radius:var(--spviet-v2-radius)!important;
}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-layout-tabs{
  height:54px!important;
  padding:6px 8px!important;
}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-layout-tabs button{
  height:42px!important;
  min-width:132px!important;
  font-size:14px!important;
  padding:0 14px!important;
}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-right-bill-panel{
  grid-template-rows:auto minmax(0,1fr)!important;
  gap:8px!important;
  padding:8px!important;
  border-radius:var(--spviet-v2-radius)!important;
}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-right-head{display:none!important;}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-detail{
  border-radius:14px!important;
  padding:8px!important;
  display:flex!important;
  flex-direction:column!important;
}
.spviet-order-cashier-layout-v2 .spviet-v2-bill-shell{
  min-height:0;
  flex:1;
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto auto auto;
  gap:8px;
  overflow:hidden;
}
.spviet-order-cashier-layout-v2 .spviet-v2-bill-top{
  border-radius:14px;
  padding:9px 10px;
  background:linear-gradient(135deg,#eff6ff,#ffffff);
  border:1px solid #bfdbfe;
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:8px;
}
.spviet-order-cashier-layout-v2 .spviet-v2-bill-top small{font-size:11px;font-weight:1000;color:#1d4ed8;letter-spacing:.05em;text-transform:uppercase}
.spviet-order-cashier-layout-v2 .spviet-v2-bill-top h3{font-size:21px;line-height:1.1;margin:2px 0;color:#0f172a;font-weight:1000}
.spviet-order-cashier-layout-v2 .spviet-v2-bill-top p{margin:0;color:#475569;font-size:12px;font-weight:900}
.spviet-order-cashier-layout-v2 .spviet-v2-icon-btn{width:38px!important;height:38px!important;border-radius:12px!important;background:#0b72d9!important;color:#fff!important;border:0!important;font-size:18px!important}
.spviet-order-cashier-layout-v2 .spviet-order-version-notice{display:none!important;}
.spviet-order-cashier-layout-v2 .spviet-v2-bill-list{
  min-height:0;
  overflow:auto;
  display:flex;
  flex-direction:column;
  gap:6px;
  padding-right:2px;
}
.spviet-order-cashier-layout-v2 .spviet-v2-bill-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:6px 8px;
  border:1px solid #e5e7eb;
  border-radius:12px;
  padding:8px;
  background:#fff;
}
.spviet-order-cashier-layout-v2 .spviet-v2-bill-row-main b{font-size:14px;line-height:1.25;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.spviet-order-cashier-layout-v2 .spviet-v2-bill-row-price span{font-size:12px}.spviet-order-cashier-layout-v2 .spviet-v2-bill-row-price strong{font-size:15px}
.spviet-order-cashier-layout-v2 .spviet-v2-bill-row-actions{gap:5px}.spviet-order-cashier-layout-v2 .spviet-v2-bill-row-actions button{height:32px;min-width:42px;border-radius:9px;font-size:13px}
.spviet-order-cashier-layout-v2 .spviet-v2-total-card{border-radius:14px;padding:10px;gap:6px;background:#f8fafc}.spviet-order-cashier-layout-v2 .spviet-v2-total-card div{font-size:13px}.spviet-order-cashier-layout-v2 .spviet-v2-total-card .is-main strong{font-size:22px}.spviet-order-cashier-layout-v2 .spviet-v2-total-card .is-due strong{color:#dc2626;font-size:24px}
.spviet-order-cashier-layout-v2 .spviet-v2-action-grid{grid-template-columns:1fr 1fr;gap:6px;background:#fff;padding-top:2px}.spviet-order-cashier-layout-v2 .spviet-v2-action-grid button{height:50px;border-radius:13px;font-size:14px}.spviet-order-cashier-layout-v2 .spviet-v2-primary{height:58px!important;font-size:18px!important}
.spviet-order-cashier-layout-v2 .spviet-v2-tools-drawer{max-height:42px;overflow:hidden;border-radius:13px;padding:9px}.spviet-order-cashier-layout-v2 .spviet-v2-tools-drawer[open]{max-height:38vh;overflow:auto}.spviet-order-cashier-layout-v2 .spviet-v2-tools-drawer>summary{font-size:13px}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-table-card{min-height:112px!important;padding:10px!important}.spviet-order-cashier-layout-v2 .spviet-order-table-card-top strong{font-size:16px}.spviet-order-cashier-layout-v2 .spviet-order-table-card-amount{font-size:22px}.spviet-order-cashier-layout-v2 .spviet-order-cashier-menu-grid{grid-template-columns:repeat(auto-fill,minmax(135px,1fr))!important;gap:8px!important}.spviet-order-cashier-layout-v2 .spviet-order-cashier-menu-card{min-height:165px!important;padding:8px!important;border-radius:14px!important}.spviet-order-cashier-layout-v2 .spviet-order-cashier-menu-card img,.spviet-order-cashier-layout-v2 .spviet-order-cashier-menu-noimg{height:72px!important;border-radius:11px!important}.spviet-order-cashier-layout-v2 .spviet-order-cashier-menu-card strong{font-size:14px!important;min-height:34px}.spviet-order-cashier-layout-v2 .spviet-order-cashier-menu-card em{font-size:16px!important}
.spviet-order-payment-modal-v2{background:rgba(2,6,23,.72)!important;backdrop-filter:blur(3px)!important;display:grid!important;place-items:center!important;padding:10px!important;}
.spviet-order-payment-modal-v2 .spviet-order-cashier-payment-card{width:min(920px,96vw)!important;max-height:94vh!important;display:grid!important;grid-template-rows:auto minmax(0,1fr) auto!important;border-radius:18px!important;}
.spviet-order-payment-modal-v2 .spviet-order-payment-modal-head{padding:12px 16px!important}.spviet-order-payment-modal-v2 .spviet-order-payment-modal-head h2{font-size:20px!important;margin:0!important}.spviet-order-payment-modal-v2 .spviet-order-payment-modal-head button{width:42px;height:42px;border-radius:12px;font-size:26px}
.spviet-order-payment-v2-body{min-height:0;overflow:auto;grid-template-columns:230px minmax(250px,1fr) 285px!important;gap:10px!important;padding:10px!important}.spviet-order-payment-method-cards{grid-template-columns:1fr 1fr;gap:7px}.spviet-order-payment-method-cards label{height:60px!important}.spviet-order-payment-mid{padding:10px!important}.spviet-order-payment-due strong{font-size:24px;color:#dc2626}.spviet-order-payment-input-label input{height:48px!important;font-size:22px!important}.spviet-order-payment-keypad-grid{gap:6px!important}.spviet-order-payment-keypad-grid button{height:48px!important;font-size:20px!important}.spviet-order-payment-presets{gap:6px!important}.spviet-order-payment-presets button{height:38px!important;font-size:12px!important}.spviet-order-payment-modal-v2 .spviet-order-payment-modal-actions{display:grid!important;grid-template-columns:180px 1fr!important;gap:10px!important;padding:10px!important}.spviet-order-payment-modal-v2 .spviet-order-payment-modal-actions button{height:56px!important;border-radius:14px!important;font-weight:1000!important}
@media(max-height:760px){.spviet-order-cashier-layout-v2 .spviet-order-cashier-left-workspace{grid-template-rows:48px minmax(0,1fr)!important}.spviet-order-cashier-layout-v2 .spviet-order-cashier-layout-tabs{height:48px!important;padding:4px 6px!important}.spviet-order-cashier-layout-v2 .spviet-order-cashier-layout-tabs button{height:40px!important}.spviet-order-cashier-layout-v2 .spviet-v2-bill-top{padding:7px 9px}.spviet-order-cashier-layout-v2 .spviet-v2-bill-top h3{font-size:19px}.spviet-order-cashier-layout-v2 .spviet-v2-action-grid button{height:46px}.spviet-order-cashier-layout-v2 .spviet-v2-primary{height:54px!important}.spviet-order-payment-v2-body{grid-template-columns:220px minmax(240px,1fr) 270px!important}.spviet-order-payment-keypad-grid button{height:44px!important}.spviet-order-payment-method-cards label{height:56px!important}}
@media(max-width:1180px){.spviet-order-cashier-layout-v2 .spviet-order-cashier-main-layout-v2{grid-template-columns:minmax(0,1.7fr) minmax(330px,1fr)!important}.spviet-order-payment-v2-body{grid-template-columns:1fr!important}.spviet-order-payment-modal-v2 .spviet-order-cashier-payment-card{max-height:96vh!important}}


/* v0.14.42 - Cashier Layout V2 final visual polish + real-device evidence pack */
.spviet-order-cashier-layout-v2 .spviet-order-cashier-main-layout-v2{
  grid-template-columns:minmax(0,2fr) minmax(372px,1fr)!important;
  height:calc(100dvh - 54px)!important;
}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-left-workspace,
.spviet-order-cashier-layout-v2 .spviet-order-cashier-right-bill-panel{
  border:1px solid rgba(255,255,255,.18)!important;
}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-layout-tabs button{
  min-height:44px!important;
  touch-action:manipulation;
}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-layout-tabs button.is-active{
  box-shadow:0 7px 20px rgba(2,6,23,.24), inset 0 -3px 0 #0b72d9!important;
}
.spviet-order-cashier-layout-v2 .spviet-order-panel-head{
  margin-bottom:8px!important;
}
.spviet-order-cashier-layout-v2 .spviet-order-panel-head h2{
  font-size:18px!important;
  line-height:1.15!important;
}
.spviet-order-cashier-layout-v2 .spviet-order-panel-head p{
  font-size:12px!important;
  line-height:1.25!important;
}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-orders,
.spviet-order-cashier-layout-v2 .spviet-order-cashier-tables,
.spviet-order-cashier-layout-v2 .spviet-order-cashier-menu-grid{
  scrollbar-width:thin;
}
.spviet-order-cashier-layout-v2 .spviet-order-payment-request-card.active,
.spviet-order-cashier-layout-v2 .spviet-order-cashier-table-card.is-selected,
.spviet-order-cashier-layout-v2 .spviet-order-cashier-order.is-selected{
  outline:3px solid rgba(220,38,38,.22)!important;
  border-color:#dc2626!important;
}
.spviet-order-cashier-layout-v2 .spviet-v2-bill-list{
  background:linear-gradient(180deg,#ffffff,#f8fafc);
  border:1px solid #eef2f7;
  border-radius:14px;
  padding:6px;
}
.spviet-order-cashier-layout-v2 .spviet-v2-bill-row{
  min-height:54px;
  align-items:center;
}
.spviet-order-cashier-layout-v2 .spviet-v2-bill-row-actions button{
  touch-action:manipulation;
  font-weight:1000;
}
.spviet-order-cashier-layout-v2 .spviet-v2-total-card{
  border:2px solid #fee2e2!important;
  background:linear-gradient(135deg,#fff7ed,#ffffff)!important;
}
.spviet-order-cashier-layout-v2 .spviet-v2-primary{
  background:linear-gradient(135deg,#dc2626,#b91c1c)!important;
  color:#fff!important;
  letter-spacing:.02em;
  box-shadow:0 12px 22px rgba(220,38,38,.22)!important;
}
.spviet-order-cashier-layout-v2 .spviet-v2-secondary{
  border:1px solid #dbeafe!important;
}
.spviet-order-cashier-layout-v2 .spviet-v2-tools-drawer[open]{
  box-shadow:0 -12px 24px rgba(15,23,42,.10);
}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-menu-card:active,
.spviet-order-cashier-layout-v2 .spviet-v2-action-grid button:active,
.spviet-order-cashier-layout-v2 .spviet-order-payment-request-card:active{
  transform:scale(.985);
}
.spviet-order-payment-modal-v2 .spviet-order-cashier-payment-card{
  box-shadow:0 34px 80px rgba(2,6,23,.38)!important;
}
.spviet-order-payment-modal-v2 .spviet-order-payment-modal-actions button:last-child{
  background:linear-gradient(135deg,#dc2626,#b91c1c)!important;
}
@media(max-width:1180px){
  .spviet-order-cashier-layout-v2 .spviet-order-cashier-main-layout-v2{grid-template-columns:minmax(0,1.65fr) minmax(340px,1fr)!important;}
  .spviet-order-cashier-layout-v2 .spviet-order-cashier-layout-tabs button{min-width:118px!important;font-size:13px!important;}
}
@media(max-height:720px){
  .spviet-order-cashier-layout-v2 .spviet-v2-bill-top h3{font-size:18px!important;}
  .spviet-order-cashier-layout-v2 .spviet-v2-bill-row{min-height:48px;}
  .spviet-order-cashier-layout-v2 .spviet-v2-total-card .is-main strong{font-size:20px!important;}
  .spviet-order-cashier-layout-v2 .spviet-v2-total-card .is-due strong{font-size:22px!important;}
}


/* v0.14.54 Loyalty Tablet QR compact hotfix: keep QR modal fully visible on Toshiba/Android tablets */
.spviet-order-member-qr-card{
  max-height:92vh!important;
  overflow:auto!important;
  padding:clamp(18px,2.4vw,30px)!important;
}
.spviet-order-member-qr-card h2{font-size:clamp(30px,3.5vw,46px)!important;line-height:1.12!important;}
.spviet-order-member-qr-card p{font-size:clamp(18px,1.8vw,24px)!important;line-height:1.38!important;margin-bottom:10px!important;}
.spviet-order-member-qr-box{gap:10px!important;padding:clamp(14px,2vw,22px)!important;margin:14px 0 10px!important;}
.spviet-order-member-qr-box img{width:min(300px,52vw,48vh)!important;max-height:46vh!important;object-fit:contain!important;}
.spviet-order-member-qr-box .spviet-order-member-qr-skip,
#spviet-order-member-qr-link.spviet-order-member-qr-skip{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin-top:8px!important;
  min-height:54px!important;
  min-width:min(300px,62vw)!important;
  padding:0 34px!important;
  border:0!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,#0f172a,#334155)!important;
  color:#fff!important;
  font-size:clamp(22px,2.7vw,30px)!important;
  line-height:1!important;
  font-weight:1000!important;
  letter-spacing:.01em!important;
  box-shadow:0 12px 28px rgba(15,23,42,.22)!important;
  cursor:pointer!important;
  text-decoration:none!important;
}
.spviet-order-member-qr-status{font-size:clamp(18px,2vw,26px)!important;margin:8px 0!important;}
.spviet-order-member-qr-card .spviet-order-modal-actions button{min-height:58px!important;font-size:clamp(18px,2vw,24px)!important;border-radius:18px!important;}
.spviet-order-member-qr-box .spviet-order-member-qr-skip:active,
#spviet-order-member-qr-link.spviet-order-member-qr-skip:active{transform:translateY(1px) scale(.99)!important;}
.spviet-order-btn-busy,
.spviet-order-btn-locked,
.spviet-order-modal button:disabled{
  opacity:.58!important;
  filter:grayscale(.15)!important;
  pointer-events:none!important;
  cursor:not-allowed!important;
  transform:none!important;
}
.spviet-order-btn-busy::after{content:'  ...';font-weight:1000;}
@media(max-width:700px){
  #spviet-order-member-qr-link.spviet-order-member-qr-skip{min-width:min(280px,74vw)!important;min-height:52px!important;font-size:24px!important;padding:0 24px!important;}
  .spviet-order-member-qr-box img{width:min(260px,62vw,42vh)!important;}
}

/* v0.14.74 Tablet Marketing Badge / Combo Upsell Drawer / Promotion Apply Guard QA Pro */
#spviet-order-app .spviet-order-product.has-marketing{position:relative;overflow:hidden;border-color:rgba(245,158,11,.55)!important;box-shadow:0 14px 34px rgba(245,158,11,.12),0 6px 18px rgba(15,23,42,.08)!important;}
#spviet-order-app .spviet-order-marketing-badge-stack{position:absolute;z-index:8;top:10px;left:10px;right:58px;display:flex;flex-wrap:wrap;gap:6px;pointer-events:none;}
#spviet-order-app .spviet-order-marketing-badge{pointer-events:auto;border:0;border-radius:999px;padding:7px 10px;display:inline-flex;align-items:center;gap:5px;background:rgba(15,23,42,.88);color:#fff;font-weight:1000;font-size:clamp(11px,1.25vw,14px);line-height:1;box-shadow:0 8px 20px rgba(0,0,0,.18);backdrop-filter:blur(10px);max-width:100%;}
#spviet-order-app .spviet-order-marketing-badge.primary{background:linear-gradient(135deg,#f59e0b,#ef4444);}
#spviet-order-app .spviet-order-marketing-badge span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px;}
#spviet-order-app .spviet-order-product-promo-chip{background:linear-gradient(135deg,#fff7ed,#fee2e2)!important;color:#9a3412!important;border-color:#fed7aa!important;font-weight:1000!important;}
#spviet-order-app .spviet-order-marketing-strip{width:100%;margin:5px 0 8px;border:1px solid #fed7aa;border-radius:14px;background:linear-gradient(135deg,#fff7ed,#fffbeb);color:#7c2d12;padding:8px 9px;display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:6px;text-align:left;box-shadow:0 5px 14px rgba(245,158,11,.12);}
#spviet-order-app .spviet-order-marketing-strip b{font-size:clamp(12px,1.35vw,15px);font-weight:1000;white-space:nowrap;}
#spviet-order-app .spviet-order-marketing-strip em{font-style:normal;font-size:clamp(11px,1.2vw,13px);font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#b45309;}
#spviet-order-marketing-drawer.spviet-order-modal{align-items:stretch;justify-content:flex-end;background:rgba(15,23,42,.42);z-index:999999;}
#spviet-order-marketing-drawer .spviet-order-marketing-drawer-card{height:100%;width:min(520px,92vw);background:#fff;border-radius:28px 0 0 28px;box-shadow:-24px 0 60px rgba(15,23,42,.26);display:flex;flex-direction:column;overflow:hidden;animation:spvietMarketingDrawerIn .18s ease-out;}
@keyframes spvietMarketingDrawerIn{from{transform:translateX(24px);opacity:.7}to{transform:translateX(0);opacity:1}}
.spviet-order-marketing-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 18px 14px;background:linear-gradient(135deg,#111827,#334155);color:#fff;}
.spviet-order-marketing-drawer-head span{display:block;font-size:11px;letter-spacing:.08em;font-weight:1000;opacity:.76;}
.spviet-order-marketing-drawer-head h2{margin:2px 0 0;font-size:clamp(22px,3vw,34px);line-height:1.05;font-weight:1000;color:#fff;}
.spviet-order-marketing-drawer-head button{width:48px;height:48px;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font-size:34px;font-weight:700;line-height:1;}
.spviet-order-marketing-drawer-body{padding:16px;overflow:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:12px;background:#f8fafc;}
.spviet-order-marketing-product{display:grid;grid-template-columns:96px 1fr;gap:12px;align-items:center;background:#fff;border-radius:20px;padding:10px;box-shadow:0 8px 20px rgba(15,23,42,.08);}
.spviet-order-marketing-product img,.spviet-order-marketing-no-img{width:96px;height:72px;border-radius:16px;object-fit:cover;background:#e2e8f0;display:flex;align-items:center;justify-content:center;font-weight:1000;color:#334155;}
.spviet-order-marketing-product strong{display:block;font-size:20px;line-height:1.15;color:#0f172a;}
.spviet-order-marketing-product span{display:block;margin-top:6px;font-weight:1000;color:#dc2626;font-size:18px;}
.spviet-order-marketing-campaign,.spviet-order-marketing-upsell,.spviet-order-marketing-empty,.spviet-order-marketing-safe-note{background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:12px;box-shadow:0 7px 16px rgba(15,23,42,.06);}
.spviet-order-marketing-campaign{border-color:#fed7aa;background:linear-gradient(135deg,#fff,#fff7ed);}
.spviet-order-marketing-campaign>div{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.spviet-order-marketing-campaign b{font-size:18px;font-weight:1000;color:#9a3412;}
.spviet-order-marketing-campaign em{font-style:normal;border-radius:999px;background:#ffedd5;color:#9a3412;padding:5px 9px;font-weight:1000;font-size:12px;white-space:nowrap;}
.spviet-order-marketing-campaign p{margin:8px 0 6px;color:#334155;font-weight:700;line-height:1.35;}
.spviet-order-marketing-campaign small,.spviet-order-marketing-upsell small{display:block;margin-top:5px;color:#64748b;font-weight:800;line-height:1.35;}
.spviet-order-marketing-section h3{margin:4px 0 8px;font-size:18px;color:#0f172a;font-weight:1000;}
.spviet-order-marketing-upsell{margin-bottom:8px;}
.spviet-order-marketing-upsell b{display:block;font-size:16px;color:#0f172a;font-weight:1000;}
.spviet-order-marketing-upsell span{display:inline-block;margin-top:5px;border-radius:999px;background:#ecfeff;color:#155e75;padding:4px 9px;font-weight:1000;font-size:13px;}
.spviet-order-marketing-upsell p{margin:6px 0;color:#475569;font-weight:700;}
.spviet-order-marketing-drawer-actions{position:sticky;bottom:0;display:grid;grid-template-columns:1fr;gap:8px;background:linear-gradient(180deg,rgba(248,250,252,.86),#f8fafc 35%);padding-top:10px;}
.spviet-order-marketing-drawer-actions button{min-height:52px;border:0;border-radius:16px;font-size:18px;font-weight:1000;background:#0f172a;color:#fff;box-shadow:0 10px 20px rgba(15,23,42,.16);}
.spviet-order-marketing-drawer-actions button:nth-child(2){background:#f97316;}
.spviet-order-marketing-drawer-actions button:last-child{background:#e2e8f0;color:#0f172a;box-shadow:none;}
.spviet-order-marketing-safe-note{font-size:13px;color:#64748b;font-weight:800;background:#f1f5f9;text-align:center;}
@media(max-width:720px){#spviet-order-marketing-drawer .spviet-order-marketing-drawer-card{width:100vw;border-radius:22px 22px 0 0;margin-top:6vh;height:94vh}.spviet-order-marketing-product{grid-template-columns:82px 1fr}.spviet-order-marketing-product img,.spviet-order-marketing-no-img{width:82px;height:64px}#spviet-order-app .spviet-order-marketing-badge-stack{right:48px}.spviet-order-marketing-drawer-head h2{font-size:24px}}

/* v0.14.75 Promotion Checkout Preview / Cashier Discount Approval Evidence */
.spviet-order-payment-marketing{margin-top:12px;border:1px solid #fde68a;background:linear-gradient(135deg,#fffbeb,#fff);border-radius:16px;padding:12px;color:#78350f;font-weight:900;box-shadow:0 8px 22px rgba(245,158,11,.10)}
.spviet-order-payment-marketing.is-good{border-color:#bbf7d0;background:linear-gradient(135deg,#f0fdf4,#fff);color:#14532d}.spviet-order-payment-marketing.is-loading{opacity:.72;pointer-events:none}
.spviet-order-promo-pay-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.spviet-order-promo-pay-head b{font-size:15px}.spviet-order-promo-pay-head span{font-size:13px;background:rgba(255,255,255,.86);border-radius:999px;padding:4px 8px;color:#92400e}
.spviet-order-payment-marketing ul{margin:8px 0 0;padding:0;list-style:none;display:grid;gap:6px}.spviet-order-payment-marketing li{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#fff;border:1px solid rgba(251,191,36,.45);border-radius:12px;padding:8px 10px;font-size:13px}.spviet-order-payment-marketing li span{white-space:nowrap;color:#b45309;font-weight:1000}
.spviet-order-promo-receipt-lines{display:grid;gap:4px;margin-top:8px}.spviet-order-promo-receipt-lines small{display:block;color:#475569;font-weight:800;background:#f8fafc;border-radius:10px;padding:6px 8px}
.spviet-order-promo-pay-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.spviet-order-promo-pay-actions button{border:0;border-radius:12px;height:42px;font-weight:1000;font-size:13px}.spviet-order-promo-pay-actions button:first-child{background:#0f766e;color:#fff}.spviet-order-promo-pay-actions button:last-child{background:#fee2e2;color:#991b1b}.spviet-order-payment-marketing em{display:block;margin-top:8px;color:#64748b;font-size:12px;font-style:normal;line-height:1.35}
@media(max-width:980px){.spviet-order-promo-pay-actions{grid-template-columns:1fr}.spviet-order-payment-marketing{margin-bottom:10px}}

/* tablet-table-picker-v0151411 */
.spviet-order-local-settings-panel input[readonly]{background:#f1f5f9!important;color:#334155!important;font-weight:950!important;}
#spviet-order-local-table-no{font-weight:950!important;}

/* v0.15.14.46 Cashier Online Intake readable item confirmation + action feedback */
.spviet-order-cashier-layout-v2 .spviet-order-cashier-online-panel{background:#f8fbff!important;border:1px solid #bfdbfe!important;border-radius:0 0 18px 18px!important;padding:14px!important;overflow:auto!important;color:#0f172a!important;font-family:"Segoe UI","Noto Sans","Noto Sans Vietnamese",Arial,sans-serif!important;font-size:12px!important;font-weight:400!important;}
.spviet-order-cashier-layout-v2 .spviet-online-intake-toolbar-v0151446{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;background:linear-gradient(135deg,#eff6ff,#f8fafc)!important;border:1px solid #bfdbfe!important;border-radius:18px!important;padding:12px 14px!important;margin-bottom:12px!important;box-shadow:0 10px 24px rgba(15,23,42,.06)!important;}
.spviet-order-cashier-layout-v2 .spviet-online-intake-toolbar-v0151446 strong{display:block!important;font-size:15px!important;font-weight:700!important;color:#0f172a!important;}
.spviet-order-cashier-layout-v2 .spviet-online-intake-toolbar-v0151446 span{display:block!important;margin-top:3px!important;font-size:12px!important;color:#475569!important;font-weight:400!important;}
.spviet-order-cashier-layout-v2 #spviet-order-cashier-online-refresh-inline,.spviet-order-cashier-layout-v2 #spviet-order-cashier-online-refresh{border:0!important;border-radius:14px!important;background:#0284c7!important;color:#fff!important;padding:10px 14px!important;font-size:12px!important;font-weight:700!important;box-shadow:0 10px 18px rgba(2,132,199,.22)!important;cursor:pointer!important;}
.spviet-order-cashier-layout-v2 .spviet-online-action-result-v0151446{display:none!important;margin:0 0 12px!important;border-radius:14px!important;padding:10px 12px!important;font-size:12px!important;font-weight:500!important;border:1px solid transparent!important;}
.spviet-order-cashier-layout-v2 .spviet-online-action-result-v0151446.is-loading,.spviet-order-cashier-layout-v2 .spviet-online-action-result-v0151446.is-ok,.spviet-order-cashier-layout-v2 .spviet-online-action-result-v0151446.is-error{display:block!important;}
.spviet-order-cashier-layout-v2 .spviet-online-action-result-v0151446.is-loading{background:#eff6ff!important;border-color:#bfdbfe!important;color:#1d4ed8!important;}
.spviet-order-cashier-layout-v2 .spviet-online-action-result-v0151446.is-ok{background:#ecfdf5!important;border-color:#bbf7d0!important;color:#047857!important;}
.spviet-order-cashier-layout-v2 .spviet-online-action-result-v0151446.is-error{background:#fef2f2!important;border-color:#fecaca!important;color:#b91c1c!important;}
.spviet-order-cashier-layout-v2 .spviet-online-intake-list-v0151446{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(440px,1fr))!important;gap:14px!important;align-items:start!important;}
.spviet-order-cashier-layout-v2 .spviet-online-intake-card-v0151446{background:#fff!important;border:1px solid #dbeafe!important;border-radius:20px!important;padding:14px!important;box-shadow:0 14px 32px rgba(15,23,42,.08)!important;position:relative!important;overflow:hidden!important;font-size:12px!important;font-weight:400!important;}
.spviet-order-cashier-layout-v2 .spviet-online-intake-card-v0151446:before{content:""!important;position:absolute!important;left:0!important;top:0!important;bottom:0!important;width:6px!important;background:#f59e0b!important;}
.spviet-order-cashier-layout-v2 .spviet-online-intake-card-v0151446.is-paid:before{background:#16a34a!important;}
.spviet-order-cashier-layout-v2 .spviet-online-intake-card-v0151446.is-kitchen:before{background:#2563eb!important;}
.spviet-order-cashier-layout-v2 .spviet-online-intake-head-v0151446{display:flex!important;justify-content:space-between!important;gap:12px!important;align-items:flex-start!important;margin-bottom:10px!important;padding-left:4px!important;}
.spviet-order-cashier-layout-v2 .spviet-online-intake-head-v0151446 b{display:block!important;font-size:15px!important;font-weight:700!important;color:#0f172a!important;line-height:1.25!important;}
.spviet-order-cashier-layout-v2 .spviet-online-intake-head-v0151446 span{display:block!important;font-size:12px!important;color:#64748b!important;font-weight:400!important;}
.spviet-order-cashier-layout-v2 .spviet-online-status-stack-v0151446{text-align:right!important;display:flex!important;flex-direction:column!important;gap:4px!important;}
.spviet-order-cashier-layout-v2 .spviet-online-status-stack-v0151446 em{font-style:normal!important;font-size:12px!important;font-weight:700!important;color:#0f172a!important;background:#fef3c7!important;border-radius:999px!important;padding:5px 9px!important;}
.spviet-order-cashier-layout-v2 .spviet-online-status-stack-v0151446 small{font-size:11px!important;color:#475569!important;font-weight:400!important;}
.spviet-order-cashier-layout-v2 .spviet-online-intake-meta-v0151446,.spviet-order-cashier-layout-v2 .spviet-online-customer-v0151446,.spviet-order-cashier-layout-v2 .spviet-online-fee-v0151446{display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin:8px 0!important;}
.spviet-order-cashier-layout-v2 .spviet-online-intake-meta-v0151446 span,.spviet-order-cashier-layout-v2 .spviet-online-customer-v0151446 span,.spviet-order-cashier-layout-v2 .spviet-online-fee-v0151446 span{background:#f8fafc!important;border:1px solid #e2e8f0!important;border-radius:999px!important;padding:6px 10px!important;font-size:12px!important;font-weight:400!important;color:#334155!important;}
.spviet-order-cashier-layout-v2 .spviet-online-items-v0151446{margin:12px 0!important;border:1px solid #dbeafe!important;border-radius:16px!important;overflow:hidden!important;background:#f8fbff!important;}
.spviet-order-cashier-layout-v2 .spviet-online-items-v0151446>strong{display:block!important;background:#eff6ff!important;border-bottom:1px solid #dbeafe!important;padding:10px 12px!important;font-size:13px!important;font-weight:700!important;color:#1e3a8a!important;}
.spviet-order-cashier-layout-v2 .spviet-online-items-head-v0151446,.spviet-order-cashier-layout-v2 .spviet-online-item-row-v0151446{display:grid!important;grid-template-columns:34px minmax(180px,1fr) 76px 112px 118px!important;gap:8px!important;align-items:center!important;padding:8px 10px!important;border-bottom:1px solid #e2e8f0!important;}
.spviet-order-cashier-layout-v2 .spviet-online-items-head-v0151446{background:#fff!important;color:#475569!important;font-size:11px!important;font-weight:700!important;text-transform:none!important;}
.spviet-order-cashier-layout-v2 .spviet-online-item-row-v0151446{background:#fff!important;font-size:12px!important;font-weight:400!important;color:#0f172a!important;}
.spviet-order-cashier-layout-v2 .spviet-online-item-row-v0151446:last-child{border-bottom:0!important;}
.spviet-order-cashier-layout-v2 .spviet-online-item-index{width:24px!important;height:24px!important;border-radius:999px!important;display:grid!important;place-items:center!important;background:#dbeafe!important;color:#1d4ed8!important;font-weight:700!important;}
.spviet-order-cashier-layout-v2 .spviet-online-item-name{font-weight:600!important;color:#0f172a!important;line-height:1.25!important;}
.spviet-order-cashier-layout-v2 .spviet-online-item-qty,.spviet-order-cashier-layout-v2 .spviet-online-item-unit,.spviet-order-cashier-layout-v2 .spviet-online-item-money{font-size:12px!important;color:#334155!important;white-space:nowrap!important;}
.spviet-order-cashier-layout-v2 .spviet-online-item-qty b,.spviet-order-cashier-layout-v2 .spviet-online-item-unit b,.spviet-order-cashier-layout-v2 .spviet-online-item-money b{font-weight:700!important;color:#64748b!important;margin-right:4px!important;}
.spviet-order-cashier-layout-v2 .spviet-online-intake-actions-v0151446{display:flex!important;flex-wrap:wrap!important;gap:9px!important;margin-top:12px!important;}
.spviet-order-cashier-layout-v2 .spviet-online-btn-v0151446{border:0!important;border-radius:14px!important;padding:10px 14px!important;font-size:12px!important;font-weight:700!important;cursor:pointer!important;box-shadow:0 10px 20px rgba(15,23,42,.08)!important;min-height:40px!important;}
.spviet-order-cashier-layout-v2 .spviet-online-btn-v0151446.pay{background:#16a34a!important;color:#fff!important;}.spviet-order-cashier-layout-v2 .spviet-online-btn-v0151446.kitchen{background:#2563eb!important;color:#fff!important;}.spviet-order-cashier-layout-v2 .spviet-online-btn-v0151446.cancel{background:#fee2e2!important;color:#991b1b!important;border:1px solid #fecaca!important;}
.spviet-order-cashier-layout-v2 .spviet-online-btn-v0151446.is-disabled,.spviet-order-cashier-layout-v2 .spviet-online-btn-v0151446:disabled{background:#e5e7eb!important;color:#64748b!important;border:1px solid #cbd5e1!important;box-shadow:none!important;cursor:not-allowed!important;opacity:.82!important;}
.spviet-order-cashier-layout-v2 .spviet-online-btn-v0151446.is-working{opacity:.7!important;cursor:wait!important;}
@media(max-width:760px){.spviet-order-cashier-layout-v2 .spviet-online-intake-list-v0151446{grid-template-columns:1fr!important}.spviet-order-cashier-layout-v2 .spviet-online-intake-toolbar-v0151446{flex-direction:column!important;align-items:stretch!important}.spviet-order-cashier-layout-v2 .spviet-online-items-head-v0151446{display:none!important}.spviet-order-cashier-layout-v2 .spviet-online-item-row-v0151446{grid-template-columns:28px 1fr!important}.spviet-order-cashier-layout-v2 .spviet-online-item-qty,.spviet-order-cashier-layout-v2 .spviet-online-item-unit,.spviet-order-cashier-layout-v2 .spviet-online-item-money{grid-column:2!important;white-space:normal!important}.spviet-order-cashier-layout-v2 .spviet-online-status-stack-v0151446{text-align:left!important}.spviet-order-cashier-layout-v2 .spviet-online-intake-head-v0151446{flex-direction:column!important}}

/* v0.15.14.48 Cashier Online dedicated action bridge + confirm overlay in actually-enqueued CSS */
.spviet-online-confirm-overlay-v0151445{position:fixed!important;inset:0!important;background:rgba(15,23,42,.55)!important;backdrop-filter:blur(4px)!important;z-index:2147483000!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:18px!important;font-family:"Segoe UI","Noto Sans","Noto Sans Vietnamese",Arial,sans-serif!important;}
.spviet-online-confirm-box-v0151445{width:min(460px,calc(100vw - 32px))!important;background:#fff!important;border:1px solid #dbeafe!important;border-radius:26px!important;box-shadow:0 28px 70px rgba(15,23,42,.32)!important;padding:24px!important;position:relative!important;text-align:center!important;color:#0f172a!important;}
.spviet-online-confirm-x{position:absolute!important;right:14px!important;top:12px!important;border:0!important;background:#f1f5f9!important;border-radius:999px!important;width:34px!important;height:34px!important;font-size:20px!important;line-height:34px!important;cursor:pointer!important;color:#334155!important;}
.spviet-online-confirm-icon{width:64px!important;height:64px!important;border-radius:22px!important;margin:4px auto 12px!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:34px!important;background:#eff6ff!important;}
.spviet-online-confirm-box-v0151445 h3{margin:0 0 8px!important;font-size:18px!important;font-weight:700!important;color:#0f172a!important;}
.spviet-online-confirm-box-v0151445 p{margin:0 auto 18px!important;font-size:13px!important;line-height:1.55!important;color:#475569!important;font-weight:400!important;}
.spviet-online-confirm-actions{display:flex!important;gap:12px!important;justify-content:center!important;flex-wrap:wrap!important;}
.spviet-online-confirm-actions button{border:0!important;border-radius:15px!important;padding:12px 18px!important;font-size:13px!important;font-weight:700!important;cursor:pointer!important;min-width:120px!important;}
.spviet-online-confirm-cancel{background:#f1f5f9!important;color:#334155!important;}
.spviet-online-confirm-ok{background:linear-gradient(135deg,#0ea5e9,#2563eb)!important;color:#fff!important;box-shadow:0 12px 25px rgba(37,99,235,.22)!important;}
.spviet-online-confirm-box-v0151445.pay .spviet-online-confirm-icon{background:#dcfce7!important;}
.spviet-online-confirm-box-v0151445.pay .spviet-online-confirm-ok{background:linear-gradient(135deg,#10b981,#16a34a)!important;}
.spviet-online-confirm-box-v0151445.cancel .spviet-online-confirm-icon{background:#fee2e2!important;}
.spviet-online-confirm-box-v0151445.cancel .spviet-online-confirm-ok{background:linear-gradient(135deg,#ef4444,#dc2626)!important;}
.spviet-order-cashier-layout-v2 .spviet-online-btn-v0151446{pointer-events:auto!important;position:relative!important;z-index:3!important;}

/* v0.15.14.48 Cashier Online direct no-popup forms */
.spviet-online-action-form-v0151448{display:inline-flex;margin:0;padding:0;}
.spviet-online-intake-actions-v0151446{gap:10px;align-items:center;flex-wrap:wrap;}
.spviet-online-action-form-v0151448 button{cursor:pointer;}
.spviet-online-action-form-v0151448 button.is-working{opacity:.75;pointer-events:none;}

/* v0.15.14.96 - Tablet parent/child category navigation + smoother native swipe */
.spviet-order-tablet-app .spviet-order-categories .spviet-order-maincategories,
.spviet-order-tablet-app .spviet-order-categories .spviet-order-subcategories{
  display:flex!important;
  flex-wrap:nowrap!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  touch-action:pan-x!important;
  scroll-behavior:auto!important;
  overscroll-behavior-x:contain!important;
  white-space:nowrap!important;
  max-width:100vw!important;
}
.spviet-order-tablet-app .spviet-order-categories .spviet-order-maincategories{
  height:58px!important;
  background:#e8d5b8!important;
  border-bottom:2px solid #6b4d25!important;
}
.spviet-order-tablet-app .spviet-order-categories.spviet-order-has-subcategories .spviet-order-maincategories{
  height:52px!important;
}
.spviet-order-tablet-app .spviet-order-categories .spviet-order-subcategories{
  height:52px!important;
  background:linear-gradient(180deg,#1f2937,#0f172a)!important;
  border-bottom:2px solid #f59e0b!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08)!important;
}
.spviet-order-tablet-app .spviet-order-categories .spviet-order-maincategories::-webkit-scrollbar,
.spviet-order-tablet-app .spviet-order-categories .spviet-order-subcategories::-webkit-scrollbar{display:none!important;height:0!important;}
.spviet-order-tablet-app .spviet-order-categories .spviet-order-cat small{
  display:block!important;
  margin-top:2px!important;
  font-size:10px!important;
  line-height:1!important;
  opacity:.78!important;
  font-weight:800!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.spviet-order-tablet-app .spviet-order-categories .spviet-order-cat.has-children:after{
  content:'▾';
  display:inline-block!important;
  margin-left:5px!important;
  font-size:12px!important;
  opacity:.7!important;
}
.spviet-order-tablet-app .spviet-order-categories .spviet-order-subcat{
  min-width:138px!important;
  height:52px!important;
  font-size:14px!important;
  color:#f8fafc!important;
  background:linear-gradient(180deg,#334155,#111827)!important;
  border-right:1px solid rgba(251,191,36,.35)!important;
  border-left:0!important;
}
.spviet-order-tablet-app .spviet-order-categories .spviet-order-subcat.active{
  background:linear-gradient(180deg,#fef3c7,#f59e0b)!important;
  color:#111827!important;
  box-shadow:inset 0 -4px 0 #991b1b!important;
}
.spviet-order-tablet-app .spviet-order-categories .spviet-order-subcat-all{
  min-width:150px!important;
  background:linear-gradient(180deg,#991b1b,#7f1d1d)!important;
  color:#fff!important;
}
.spviet-order-tablet-app .spviet-order-products{
  scroll-snap-type:none!important;
  -webkit-overflow-scrolling:touch!important;
  touch-action:pan-x!important;
  overscroll-behavior-x:contain!important;
  contain:layout paint style!important;
}
.spviet-order-tablet-app .spviet-order-product-v059{
  contain:layout paint style!important;
  content-visibility:auto!important;
  contain-intrinsic-size:330px 520px!important;
  transform:translateZ(0)!important;
}
@media(max-width:760px){
  .spviet-order-tablet-app .spviet-order-categories.spviet-order-has-subcategories{height:92px!important;min-height:92px!important;max-height:92px!important;}
  .spviet-order-tablet-app .spviet-order-categories.spviet-order-has-subcategories .spviet-order-maincategories{height:46px!important;}
  .spviet-order-tablet-app .spviet-order-categories .spviet-order-subcategories{height:46px!important;}
  .spviet-order-tablet-app .spviet-order-categories .spviet-order-subcat{height:46px!important;min-width:116px!important;font-size:12px!important;}
}

/* v0.15.14.97 - Tablet anti password-save guard */
.spviet-order-tablet-app input[data-spviet-credential-guard],
.spviet-order-tablet-app textarea[data-spviet-credential-guard],
.spviet-order-tablet-app input[data-lpignore="true"],
.spviet-order-tablet-app textarea[data-lpignore="true"]{
  -webkit-user-select:text;
  user-select:text;
}
.spviet-order-tablet-app .spviet-order-secret-code-input{
  -webkit-text-security:disc;
  text-security:disc;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
}
.spviet-order-tablet-app input[readonly][data-spviet-credential-guard]{
  cursor:text!important;
}

/* v0.15.14.106 Combo visual badge in marketing drawer - passive display only */
.spviet-order-combo-upsell-v01514106{display:grid!important;grid-template-columns:86px minmax(0,1fr);gap:10px;align-items:start;overflow:hidden}
.spviet-order-combo-upsell-media-v01514106{position:relative;height:82px;border-radius:15px;overflow:hidden;background:#fff7ed;border:1px solid #fed7aa;display:flex;align-items:center;justify-content:center;min-width:0}
.spviet-order-combo-upsell-media-v01514106 img{width:100%;height:100%;object-fit:cover;display:block}
.spviet-order-combo-upsell-media-v01514106 b{font-size:34px;line-height:1}
.spviet-order-combo-upsell-media-v01514106 .spviet-order-combo-badge-v01514106{position:absolute;left:6px;top:6px;margin-left:0;font-size:10px;padding:4px 7px;max-width:calc(100% - 12px);overflow:hidden;text-overflow:ellipsis}

/* v0.15.14.111 - passive allergen overlay on product images */
.spviet-order-product,.spviet-order-cashier-menu-card{position:relative}.spviet-order-allergen-overlay{position:absolute;top:10px;left:50%;transform:translateX(-50%);z-index:25;background:transparent!important;color:#dc2626;font-weight:1000;font-size:clamp(11px,1.5vw,14px);line-height:1.08;text-align:center;max-width:86%;white-space:nowrap;text-shadow:0 1px 4px rgba(255,255,255,.95),0 0 10px rgba(255,255,255,.85);pointer-events:none}.spviet-order-cashier-menu-card .spviet-order-allergen-overlay{top:8px;font-size:11px;max-width:78%}@media(max-width:640px){.spviet-order-allergen-overlay{top:8px;font-size:11px;white-space:normal}}

/* v0.15.14.115 - universal SALE badge + sold-out button visual guard */
.spviet-order-product,.spviet-order-cashier-menu-card{position:relative;}
.spviet-order-sale-overlay{position:absolute;top:10px;left:10px;z-index:32;display:inline-flex;align-items:center;justify-content:center;min-width:58px;min-height:34px;padding:7px 10px;border-radius:999px 999px 999px 10px;background:linear-gradient(135deg,#ef4444,#b91c1c 62%,#7f1d1d);color:#fff;font-weight:1000;font-size:12px;line-height:1;letter-spacing:.06em;text-transform:uppercase;box-shadow:0 10px 24px rgba(185,28,28,.32);text-shadow:0 1px 1px rgba(0,0,0,.22);pointer-events:none;}
.spviet-order-product.is-soldout{opacity:1;filter:none;}
.spviet-order-product.is-soldout img,.spviet-order-product.is-soldout .spviet-order-no-img,.spviet-order-cashier-menu-card.is-soldout img,.spviet-order-cashier-menu-card.is-soldout .spviet-order-cashier-menu-noimg{filter:grayscale(.48);opacity:.72;}
.spviet-order-product-foot button.spviet-order-product-soldout-button,.spviet-order-product.is-soldout .spviet-order-product-foot button[disabled]{background:#dc2626!important;color:#fff!important;border-color:#dc2626!important;opacity:1!important;cursor:not-allowed!important;min-width:118px;box-shadow:0 8px 18px rgba(220,38,38,.26);}
.spviet-order-cashier-menu-card.is-soldout{cursor:not-allowed;opacity:1;border-color:#fecaca!important;background:#fff7f7!important;}
.spviet-order-cashier-soldout{color:#dc2626!important;font-weight:1000!important;}
@media(max-width:640px){.spviet-order-sale-overlay{top:8px;left:8px;min-height:30px;font-size:11px;padding:6px 9px;}.spviet-order-product-foot button.spviet-order-product-soldout-button{min-width:104px;font-size:12px;}}

/* v0.15.14.118 Coming Soon lifecycle visual guard */
.spviet-order-product.is-comingsoon{opacity:1;filter:none;}
.spviet-order-product.is-comingsoon img,.spviet-order-product.is-comingsoon .spviet-order-no-img,.spviet-order-cashier-menu-card.is-comingsoon img,.spviet-order-cashier-menu-card.is-comingsoon .spviet-order-cashier-menu-noimg{filter:saturate(.82);opacity:.82;}
.spviet-order-product-foot button.spviet-order-product-comingsoon-button,.spviet-order-product.is-comingsoon .spviet-order-product-foot button[disabled]{background:#f97316!important;color:#fff!important;border-color:#f97316!important;opacity:1!important;cursor:not-allowed!important;min-width:118px;box-shadow:0 8px 18px rgba(249,115,22,.26);}
.spviet-order-comingsoon-price-hidden{display:inline-flex;align-items:center;gap:5px;color:#f97316!important;font-weight:1000!important;font-size:12px;white-space:nowrap;}
.spviet-order-cashier-menu-card.is-comingsoon{cursor:not-allowed;opacity:1;border-color:#fed7aa!important;background:#fff7ed!important;}
.spviet-order-cashier-comingsoon{color:#f97316!important;font-weight:1000!important;}
@media(max-width:640px){.spviet-order-product-foot button.spviet-order-product-comingsoon-button{min-width:104px;font-size:12px;}.spviet-order-comingsoon-price-hidden{font-size:11px;}}

/* v0.15.14.125 Checkout dine-in cashier visibility closeout */
.spviet-order-cashier-layout-v2 .spviet-online-receive-detail-v01514125{display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin:8px 0!important;padding:10px!important;border:1px solid #bfdbfe!important;border-radius:16px!important;background:#eff6ff!important;color:#0f172a!important;box-sizing:border-box!important;}
.spviet-order-cashier-layout-v2 .spviet-online-receive-detail-v01514125.is-dinein{border-color:#f59e0b!important;background:#fffbeb!important;}
.spviet-order-cashier-layout-v2 .spviet-online-receive-detail-v01514125 span{display:inline-flex!important;align-items:center!important;gap:4px!important;background:#fff!important;border:1px solid #e2e8f0!important;border-radius:999px!important;padding:6px 10px!important;font-size:12px!important;font-weight:400!important;color:#334155!important;}
.spviet-order-cashier-layout-v2 .spviet-online-receive-detail-v01514125 span.is-note{flex:1 1 100%!important;border-radius:12px!important;justify-content:flex-start!important;white-space:normal!important;line-height:1.45!important;}
.spviet-order-cashier-layout-v2 .spviet-online-receive-detail-v01514125 b{font-weight:800!important;color:#0f172a!important;}
@media(max-width:820px){.spviet-order-cashier-layout-v2 .spviet-online-receive-detail-v01514125 span{flex:1 1 100%!important;justify-content:flex-start!important;}}

/* v0.15.14.145 - Online order toppings visible in Cashier intake list */
.spviet-order-cashier-layout-v2 .spviet-online-item-options-v01514145{display:block!important;margin-top:4px!important;font-size:11px!important;line-height:1.4!important;color:#92400e!important;font-weight:800!important;white-space:normal!important;}

/* v0.15.14.146 - Cashier payment panel pro layout + VND display closeout */
.spviet-order-cashier-layout-v2.spviet-cashier-has-bill-v01514146:not(.spviet-cashier-menu-active-v01514146) #spviet-order-cashier-draft{
  display:none!important;
}
.spviet-order-cashier-layout-v2 #spviet-order-cashier-detail{
  display:flex!important;
  flex-direction:column!important;
  min-height:0!important;
  overflow:hidden!important;
  padding:10px!important;
  background:linear-gradient(180deg,#f8fafc 0%,#eef6ff 100%)!important;
}
.spviet-order-cashier-layout-v2 .spviet-v2-bill-shell{
  flex:1 1 auto!important;
  height:100%!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  overflow:hidden!important;
}
.spviet-order-cashier-layout-v2 .spviet-v2-bill-top{
  flex:0 0 auto!important;
  border-radius:18px!important;
  border:1px solid rgba(59,130,246,.20)!important;
  background:linear-gradient(135deg,#ffffff 0%,#eff6ff 100%)!important;
  box-shadow:0 10px 24px rgba(15,23,42,.08)!important;
}
.spviet-order-cashier-layout-v2 .spviet-order-version-notice{
  flex:0 0 auto!important;
  margin:0!important;
  padding:6px 8px!important;
  border-radius:12px!important;
  font-size:10px!important;
  opacity:.72!important;
}
.spviet-order-cashier-layout-v2 .spviet-v2-section-title{
  flex:0 0 auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
  padding:4px 6px 8px!important;
  color:#0f172a!important;
  font-size:12px!important;
  font-weight:1000!important;
  letter-spacing:.01em!important;
}
.spviet-order-cashier-layout-v2 .spviet-v2-section-title b{
  background:#dbeafe!important;
  color:#1d4ed8!important;
  border-radius:999px!important;
  padding:4px 9px!important;
  font-size:11px!important;
}
.spviet-order-cashier-layout-v2 .spviet-v2-bill-list{
  flex:1 1 auto!important;
  min-height:112px!important;
  max-height:none!important;
  overflow:auto!important;
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
  padding:8px!important;
  border:1px solid #dbeafe!important;
  border-radius:18px!important;
  background:#ffffff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 8px 20px rgba(15,23,42,.05)!important;
}
.spviet-order-cashier-layout-v2 .spviet-v2-bill-row{
  flex:0 0 auto!important;
  min-height:62px!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  border:1px solid #e5e7eb!important;
  border-radius:14px!important;
  padding:10px!important;
  background:#fff!important;
  box-shadow:0 6px 14px rgba(15,23,42,.045)!important;
}
.spviet-order-cashier-layout-v2 .spviet-v2-bill-row-main b{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
.spviet-order-cashier-layout-v2 .spviet-v2-total-card{
  flex:0 0 auto!important;
  padding:10px 12px!important;
  gap:7px!important;
  border:1px solid #fecaca!important;
  border-radius:18px!important;
  background:linear-gradient(135deg,#fff7ed,#ffffff)!important;
  box-shadow:0 10px 22px rgba(220,38,38,.10)!important;
}
.spviet-order-cashier-layout-v2 .spviet-v2-total-card .is-main strong{font-size:22px!important;}
.spviet-order-cashier-layout-v2 .spviet-v2-total-card .is-due strong{color:#dc2626!important;}
.spviet-order-cashier-layout-v2 .spviet-v2-tools-drawer{
  flex:0 0 auto!important;
  margin:0!important;
  padding:0!important;
  border:1px solid #e5e7eb!important;
  border-radius:14px!important;
  background:#fff!important;
  overflow:visible!important;
}
.spviet-order-cashier-layout-v2 .spviet-v2-tools-drawer>summary{
  min-height:38px!important;
  display:flex!important;
  align-items:center!important;
  padding:0 12px!important;
  color:#334155!important;
  font-weight:900!important;
  cursor:pointer!important;
}
.spviet-order-cashier-layout-v2 .spviet-v2-tools-drawer[open]{
  max-height:48vh!important;
  overflow:auto!important;
  box-shadow:0 -10px 30px rgba(15,23,42,.14)!important;
}
.spviet-order-cashier-layout-v2 .spviet-v2-action-grid{
  flex:0 0 auto!important;
  margin-top:auto!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
  position:static!important;
  bottom:auto!important;
  padding:10px!important;
  border-radius:18px!important;
  border:1px solid rgba(15,23,42,.08)!important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%)!important;
  box-shadow:0 -8px 24px rgba(15,23,42,.08)!important;
}
.spviet-order-cashier-layout-v2 .spviet-v2-action-grid .spviet-v2-secondary,
.spviet-order-cashier-layout-v2 .spviet-v2-action-grid .spviet-v2-primary{
  width:100%!important;
  border:0!important;
  border-radius:14px!important;
  font-weight:1000!important;
  cursor:pointer!important;
}
.spviet-order-cashier-layout-v2 .spviet-v2-action-grid .spviet-v2-secondary{
  grid-column:auto!important;
  height:48px!important;
  min-height:48px!important;
  font-size:14px!important;
  background:#eef2ff!important;
  color:#1e3a8a!important;
  border:1px solid #dbeafe!important;
}
.spviet-order-cashier-layout-v2 .spviet-v2-action-grid .spviet-v2-primary{
  grid-column:1/-1!important;
  height:64px!important;
  min-height:64px!important;
  font-size:20px!important;
  background:linear-gradient(135deg,#dc2626,#991b1b)!important;
  color:#fff!important;
  letter-spacing:.02em!important;
  box-shadow:0 14px 26px rgba(220,38,38,.26)!important;
}
.spviet-order-cashier-layout-v2 .spviet-v2-action-grid button:disabled{
  opacity:.55!important;
  cursor:not-allowed!important;
  filter:grayscale(.25)!important;
}
@media(max-height:760px){
  .spviet-order-cashier-layout-v2 .spviet-v2-bill-top{padding:8px 10px!important;}
  .spviet-order-cashier-layout-v2 .spviet-v2-bill-list{min-height:82px!important;padding:7px!important;}
  .spviet-order-cashier-layout-v2 .spviet-v2-total-card{padding:8px 10px!important;}
  .spviet-order-cashier-layout-v2 .spviet-v2-total-card .is-main strong{font-size:19px!important;}
  .spviet-order-cashier-layout-v2 .spviet-v2-action-grid{padding:8px!important;gap:7px!important;}
  .spviet-order-cashier-layout-v2 .spviet-v2-action-grid .spviet-v2-secondary{height:42px!important;min-height:42px!important;font-size:13px!important;}
  .spviet-order-cashier-layout-v2 .spviet-v2-action-grid .spviet-v2-primary{height:56px!important;min-height:56px!important;font-size:18px!important;}
}
.spviet-order-cashier-layout-v2 .spviet-v2-bill-shell>#spviet-order-cashier-action-result{
  flex:0 0 auto!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
}
.spviet-order-cashier-layout-v2 .spviet-v2-bill-shell>#spviet-order-cashier-action-result:not(:empty){
  min-height:28px!important;
  margin:0!important;
  padding:8px 10px!important;
  border-radius:12px!important;
  background:#fff7ed!important;
  border:1px solid #fed7aa!important;
}
.spviet-order-cashier-layout-v2 .spviet-v2-bill-shell>#spviet-order-cashier-action-result.ok:not(:empty){
  background:#ecfdf5!important;
  border-color:#bbf7d0!important;
}

/* v0.15.14.147 - KDS Unicode text normalization guard */
.spviet-order-kitchen-app,
.spviet-order-kds-card,
.spviet-order-kitchen-group-card,
.spviet-order-kds-card h3,
.spviet-order-option-summary,
.spviet-order-runner-card{
  font-family:"Noto Sans","Noto Sans Vietnamese","Segoe UI",Arial,sans-serif!important;
  text-rendering:geometricPrecision;
  font-variant-ligatures:normal;
}

/* v0.15.14.148 - Cashier V2 menu realtime search / parent-child category / quick topping modal */
.spviet-order-cashier-layout-v2 .spviet-order-cashier-menu-cats{
  display:block!important;
  overflow:visible!important;
  padding:0 0 8px!important;
  margin-bottom:6px!important;
}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-menu-rootcats,
.spviet-order-cashier-layout-v2 .spviet-order-cashier-menu-subcats{
  display:flex!important;
  gap:8px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:2px 0 8px!important;
  scrollbar-width:thin;
  -webkit-overflow-scrolling:touch;
}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-menu-subcats{
  margin-top:2px!important;
  padding:8px 8px!important;
  border:1px solid #dbeafe!important;
  border-radius:16px!important;
  background:linear-gradient(135deg,#eff6ff,#ffffff)!important;
}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-menu-rootcats button,
.spviet-order-cashier-layout-v2 .spviet-order-cashier-menu-subcats button{
  flex:0 0 auto!important;
  min-height:38px!important;
  border:1px solid #dbeafe!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#1e3a8a!important;
  font-weight:1000!important;
  padding:8px 14px!important;
  box-shadow:0 4px 12px rgba(15,23,42,.04)!important;
  touch-action:manipulation;
}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-menu-rootcats button.is-active,
.spviet-order-cashier-layout-v2 .spviet-order-cashier-menu-subcats button.is-active{
  background:#0b72d9!important;
  color:#fff!important;
  border-color:#0b72d9!important;
  box-shadow:0 8px 18px rgba(11,114,217,.24)!important;
}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-menu-rootcats button.has-children small,
.spviet-order-cashier-layout-v2 .spviet-order-cashier-menu-subcats button small{
  margin-left:6px!important;
  font-size:11px!important;
  opacity:.8!important;
}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-menu-search{
  background:#fff!important;
  box-shadow:0 6px 18px rgba(15,23,42,.05)!important;
}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-menu-grid{
  align-content:start!important;
}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-menu-card.has-options{
  border-color:#fed7aa!important;
  background:linear-gradient(180deg,#fff7ed,#fff)!important;
}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-menu-option-chip{
  position:absolute!important;
  top:8px!important;
  right:8px!important;
  z-index:5!important;
  border-radius:999px!important;
  padding:4px 8px!important;
  background:#f97316!important;
  color:#fff!important;
  font-size:11px!important;
  font-weight:1000!important;
  box-shadow:0 6px 14px rgba(249,115,22,.24)!important;
}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-draft-options{
  display:block!important;
  color:#9a3412!important;
  font-weight:900!important;
  line-height:1.25!important;
  margin-top:2px!important;
  white-space:normal!important;
}
.spviet-order-cashier-modifier-modal-v01514148.show{
  display:flex!important;
}
.spviet-order-cashier-modifier-card-v01514148{
  width:min(720px,94vw)!important;
  max-height:88vh!important;
  display:flex!important;
  flex-direction:column!important;
}
.spviet-order-cashier-modifier-card-v01514148 .spviet-order-modifier-body{
  overflow:auto!important;
  max-height:58vh!important;
  padding-right:4px!important;
}
.spviet-order-cashier-modifier-card-v01514148 .spviet-order-modal-head{
  flex:0 0 auto!important;
}
.spviet-order-cashier-modifier-card-v01514148 .spviet-order-modal-actions{
  flex:0 0 auto!important;
  display:grid!important;
  grid-template-columns:1fr 1.4fr!important;
  gap:10px!important;
}
.spviet-order-cashier-modifier-card-v01514148 .spviet-order-modal-actions button:last-child{
  background:linear-gradient(135deg,#dc2626,#b91c1c)!important;
  color:#fff!important;
  font-weight:1000!important;
}

/* v0.15.14.149 - Cashier menu category full tree + payment bottom safe + KDS quick-order context */
.spviet-order-cashier-layout-v2 .spviet-order-cashier-menu-card{
  min-height:150px!important;
  padding-bottom:48px!important;
}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-menu-card small:not(.spviet-order-cashier-comingsoon):not(.spviet-order-cashier-soldout):not(.spviet-order-cashier-menu-option-chip):not(.spviet-order-cashier-status-chip){
  display:none!important;
}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-draft-note{
  display:none!important;
}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-right-bill-panel,
.spviet-order-cashier-layout-v2 #spviet-order-cashier-detail,
.spviet-order-cashier-layout-v2 .spviet-v2-bill-shell{
  box-sizing:border-box!important;
}
.spviet-order-cashier-layout-v2 .spviet-v2-bill-list{
  min-height:72px!important;
}
.spviet-order-cashier-layout-v2 .spviet-v2-tools-drawer{
  flex:0 0 auto!important;
  max-height:40px!important;
}
.spviet-order-cashier-layout-v2 .spviet-v2-tools-drawer[open]{
  max-height:min(34vh,260px)!important;
}
.spviet-order-cashier-layout-v2 .spviet-v2-action-grid{
  flex:0 0 auto!important;
  margin-top:8px!important;
  padding:8px 10px calc(14px + env(safe-area-inset-bottom))!important;
  position:relative!important;
  z-index:20!important;
  border-radius:18px!important;
}
.spviet-order-cashier-layout-v2 .spviet-v2-action-grid .spviet-v2-secondary{
  height:44px!important;
  min-height:44px!important;
}
.spviet-order-cashier-layout-v2 .spviet-v2-action-grid .spviet-v2-primary{
  height:56px!important;
  min-height:56px!important;
  font-size:18px!important;
}
@media(max-height:760px){
  .spviet-order-cashier-layout-v2 .spviet-v2-bill-top{padding:7px 9px!important;}
  .spviet-order-cashier-layout-v2 .spviet-v2-total-card{padding:7px 10px!important;gap:5px!important;}
  .spviet-order-cashier-layout-v2 .spviet-v2-tools-drawer{display:none!important;}
  .spviet-order-cashier-layout-v2 .spviet-v2-action-grid{padding:7px 8px calc(12px + env(safe-area-inset-bottom))!important;gap:6px!important;}
  .spviet-order-cashier-layout-v2 .spviet-v2-action-grid .spviet-v2-secondary{height:40px!important;min-height:40px!important;}
  .spviet-order-cashier-layout-v2 .spviet-v2-action-grid .spviet-v2-primary{height:52px!important;min-height:52px!important;}
}
.spviet-order-kds-card .spviet-order-kds-note,
.spviet-order-runner-card .spviet-order-kds-note{
  border-left:4px solid #f97316!important;
  background:#fff7ed!important;
  color:#7c2d12!important;
  font-weight:1000!important;
  padding:7px 9px!important;
  border-radius:10px!important;
}


/* v0.15.14.150 - Cashier menu availability filter + premium reload button */
.spviet-order-cashier-layout-v2 .spviet-order-cashier-menu-status-filter{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  margin-top:8px!important;
}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-menu-status-filter button{
  border:1px solid #dbeafe!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#1e3a8a!important;
  font-weight:1000!important;
  min-height:34px!important;
  padding:7px 14px!important;
  box-shadow:0 6px 16px rgba(15,23,42,.06)!important;
  touch-action:manipulation!important;
}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-menu-status-filter button.is-active{
  color:#fff!important;
  border-color:#16a34a!important;
  background:linear-gradient(135deg,#16a34a,#0f766e)!important;
  box-shadow:0 9px 22px rgba(22,163,74,.22)!important;
}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-menu-refresh-pro{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  min-height:40px!important;
  padding:0 15px!important;
  border:0!important;
  border-radius:14px!important;
  background:linear-gradient(135deg,#0b72d9,#1d4ed8)!important;
  color:#fff!important;
  font-weight:1000!important;
  box-shadow:0 12px 24px rgba(37,99,235,.22)!important;
}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-menu-refresh-pro:active{
  transform:scale(.98)!important;
}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-status-chip{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:max-content!important;
  max-width:100%!important;
  border-radius:999px!important;
  padding:4px 8px!important;
  font-size:11px!important;
  line-height:1.1!important;
  font-weight:1000!important;
  color:#7c2d12!important;
  background:#fff7ed!important;
  border:1px solid #fed7aa!important;
}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-status-chip.is-soldout{color:#991b1b!important;background:#fef2f2!important;border-color:#fecaca!important;}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-status-chip.is-comingsoon{color:#92400e!important;background:#fffbeb!important;border-color:#fde68a!important;}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-status-chip.is-unpublished{color:#475569!important;background:#f1f5f9!important;border-color:#cbd5e1!important;}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-menu-card.is-unpublished,
.spviet-order-cashier-layout-v2 .spviet-order-cashier-menu-card.is-soldout,
.spviet-order-cashier-layout-v2 .spviet-order-cashier-menu-card.is-comingsoon{
  opacity:.78!important;
  filter:saturate(.82)!important;
}

/* v0.15.14.158 - Tablet Order focused closeout: coming-soon label and safe topping rows */
.spviet-order-tablet-app .spviet-order-product.is-comingsoon .spviet-order-product-qty-badge,
.spviet-order-tablet-app .spviet-order-product.is-soldout .spviet-order-product-qty-badge{
  display:none!important;
}
.spviet-order-tablet-app .spviet-order-product-status-badge{
  position:absolute!important;left:10px!important;top:10px!important;z-index:40!important;
  display:inline-flex!important;align-items:center!important;gap:6px!important;
  max-width:calc(100% - 20px)!important;padding:7px 10px!important;border-radius:999px!important;
  font-size:14px!important;line-height:1!important;font-weight:1000!important;letter-spacing:.01em!important;
  box-shadow:0 8px 20px rgba(15,23,42,.20)!important;white-space:nowrap!important;
}
.spviet-order-tablet-app .spviet-order-product-status-badge.is-comingsoon{
  color:#fff!important;background:#f97316!important;border:2px solid rgba(255,255,255,.9)!important;
}
.spviet-order-tablet-app .spviet-order-product-status-badge.is-soldout{
  color:#fff!important;background:#64748b!important;border:2px solid rgba(255,255,255,.9)!important;
}
.spviet-order-tablet-app .spviet-order-product-status-inline{
  display:inline-flex!important;align-items:center!important;width:max-content!important;max-width:100%!important;
  padding:5px 8px!important;border-radius:999px!important;font-size:12px!important;font-weight:1000!important;line-height:1!important;
}
.spviet-order-tablet-app .spviet-order-product-status-inline.is-comingsoon{background:#fff7ed!important;color:#c2410c!important;border:1px solid #fed7aa!important;}
.spviet-order-tablet-app .spviet-order-product-status-inline.is-soldout{background:#f1f5f9!important;color:#475569!important;border:1px solid #cbd5e1!important;}
.spviet-order-modifier-desc{margin:-3px 0 8px!important;color:#64748b!important;font-size:13px!important;font-weight:700!important;line-height:1.35!important;}
.spviet-order-modifier-group label span{color:#0f172a!important;font-weight:900!important;line-height:1.35!important;overflow-wrap:anywhere!important;}
.spviet-order-modifier-group label strong{color:#b91c1c!important;min-width:96px!important;text-align:right!important;font-weight:1000!important;}


/* v0.15.14.159 - Tablet Order Coming Soon card must match Shop-style: no image-covering overlay. */
.spviet-order-tablet-app .spviet-order-product-status-badge{display:none!important;}
.spviet-order-tablet-app .spviet-order-product.is-comingsoon img,
.spviet-order-tablet-app .spviet-order-product.is-soldout img{filter:none!important;opacity:1!important;}
.spviet-order-tablet-app .spviet-order-product-comingsoon-button{
  background:#f97316!important;color:#fff!important;border-color:#f97316!important;
  font-weight:1000!important;border-radius:10px!important;min-width:128px!important;
}


/* v0.15.14.243 - Cashier quick-order payment hub: fixed bottom submit + tab counters */
.spviet-order-cashier-layout-v2 .spviet-order-cashier-layout-tabs button.has-pending{
  position:relative!important;
  box-shadow:0 0 0 3px rgba(34,197,94,.20), inset 0 -2px 0 rgba(0,0,0,.18)!important;
}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-layout-tabs button.has-pending:not(.is-active){
  background:#16a34a!important;
  color:#fff!important;
}
.spviet-order-cashier-layout-v2 #spviet-order-cashier-draft{
  display:flex!important;
  flex-direction:column!important;
  min-height:165px!important;
  max-height:42%!important;
  overflow:hidden!important;
  padding:10px!important;
  box-sizing:border-box!important;
}
.spviet-order-cashier-layout-v2.spviet-cashier-menu-active-v01514146 #spviet-order-cashier-draft{
  max-height:52%!important;
}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-draft-head,
.spviet-order-cashier-layout-v2 .spviet-order-cashier-draft-controls{
  flex:0 0 auto!important;
}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-draft-list{
  flex:1 1 auto!important;
  min-height:96px!important;
  max-height:none!important;
  overflow:auto!important;
  padding-right:4px!important;
  padding-bottom:8px!important;
}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-draft-submit{
  flex:0 0 auto!important;
  position:sticky!important;
  bottom:0!important;
  z-index:7!important;
  min-height:60px!important;
  height:60px!important;
  margin-top:8px!important;
  box-shadow:0 -10px 20px rgba(255,255,255,.92)!important;
}

/* v0.15.14.269 FOLLOW-40M33 Cashier payment input / paid scan popup polish */
.spviet-order-receipt-choice-modal .spviet-order-payment-modal-actions button.primary-blue,
.spviet-order-payment-modal-actions button.primary-blue{
  background:linear-gradient(135deg,#0ea5e9,#2563eb)!important;
  color:#fff!important;
  box-shadow:0 16px 34px rgba(37,99,235,.24)!important;
}
.spviet-order-paid-scan-modal .spviet-order-cashier-payment-card{max-width:620px!important;border-radius:30px!important;overflow:hidden!important;padding:0!important}
.spviet-order-paid-scan-hero{display:flex;gap:18px;align-items:center;background:linear-gradient(135deg,#dcfce7,#eff6ff);padding:28px;border-bottom:1px solid #dbeafe}
.spviet-order-paid-scan-icon{width:74px;height:74px;border-radius:24px;background:linear-gradient(135deg,#16a34a,#0f766e);color:#fff;display:flex;align-items:center;justify-content:center;font-size:42px;font-weight:1000;box-shadow:0 16px 32px rgba(22,163,74,.22);flex:0 0 auto}
.spviet-order-paid-scan-hero small{display:block;color:#15803d;font-weight:1000;letter-spacing:.14em}
.spviet-order-paid-scan-hero h2{margin:4px 0 8px;font-size:34px;color:#0f172a;line-height:1}
.spviet-order-paid-scan-hero p{margin:0;color:#334155;font-weight:850;line-height:1.45}
.spviet-order-paid-scan-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:22px 28px;background:#fff}
.spviet-order-paid-scan-grid span{border:1px solid #e5e7eb;background:#f8fafc;border-radius:18px;padding:14px;color:#64748b;font-weight:850}
.spviet-order-paid-scan-grid b{display:block;margin-top:4px;color:#0f172a;font-size:18px}
.spviet-order-paid-scan-modal .spviet-order-payment-modal-actions{padding:18px 28px 28px;margin:0;background:#fff}.spviet-order-paid-scan-modal .spviet-order-payment-modal-actions button{width:100%}
@media(max-width:640px){.spviet-order-paid-scan-hero{align-items:flex-start}.spviet-order-paid-scan-grid{grid-template-columns:1fr}.spviet-order-paid-scan-icon{width:58px;height:58px;font-size:32px}.spviet-order-paid-scan-hero h2{font-size:26px}}

/* v0.15.14.270 FOLLOW-40M34 Cashier Quick Actions Right Tab Shell Pro */
.spviet-order-cashier-right-tabs-shell{position:relative!important;display:flex!important;flex-direction:column!important;min-width:0!important;min-height:0!important;overflow:hidden!important;}
.spviet-order-cashier-right-tabs{display:flex;align-items:center;gap:8px;background:linear-gradient(135deg,#0f172a,#1e3a8a);padding:8px;border-radius:18px 18px 0 0;box-shadow:0 12px 26px rgba(2,6,23,.18);flex:0 0 auto;}
.spviet-order-cashier-right-tabs button{height:44px;border:1px solid rgba(255,255,255,.16);border-radius:14px;background:rgba(255,255,255,.10);color:#dbeafe;font-weight:1000;padding:0 13px;display:flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;cursor:pointer;}
.spviet-order-cashier-right-tabs button.is-active{background:#fff;color:#0f172a;border-color:#fff;box-shadow:0 8px 22px rgba(15,23,42,.22);}
.spviet-order-cashier-right-tabs .spviet-order-cashier-right-refresh{margin-left:auto;width:44px;padding:0;font-size:18px;background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe;}
.spviet-order-cashier-right-tab-panel{display:none!important;min-height:0;flex:1 1 auto;overflow:hidden;background:#fff;}
.spviet-order-cashier-right-tab-panel.is-active{display:flex!important;flex-direction:column!important;}
.spviet-order-cashier-right-tabs-shell .spviet-order-panel-head{flex:0 0 auto;}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-right-tabs-shell{padding:0!important;background:#f8fafc!important;}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-right-tabs{height:54px!important;border-radius:14px 14px 0 0!important;padding:6px!important;}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-right-tabs button{height:42px!important;font-size:14px!important;}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-right-tab-panel[data-cashier-right-panel="bill"]{background:#f8fafc!important;}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-right-tab-panel[data-cashier-right-panel="bill"] #spviet-order-cashier-draft{flex:0 0 auto!important;}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-right-tab-panel[data-cashier-right-panel="bill"] #spviet-order-cashier-detail{flex:1 1 auto!important;min-height:0!important;}
.spviet-order-cashier-quick-actions-shell{height:100%;min-height:0;display:flex;flex-direction:column;gap:12px;background:linear-gradient(180deg,#f8fafc 0%,#eef2ff 100%);padding:14px;box-sizing:border-box;overflow:auto;}
.spviet-order-cashier-quick-actions-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;background:#fff;border:1px solid #dbeafe;border-radius:20px;padding:14px;box-shadow:0 10px 24px rgba(15,23,42,.08);}
.spviet-order-cashier-quick-actions-head small{display:block;font-size:11px;letter-spacing:.14em;font-weight:1000;color:#2563eb;}
.spviet-order-cashier-quick-actions-head h3{margin:3px 0 5px;font-size:24px;color:#0f172a;line-height:1.05;}
.spviet-order-cashier-quick-actions-head p{margin:0;color:#64748b;font-size:13px;font-weight:800;line-height:1.35;}
.spviet-order-cashier-quick-actions-head>span{border-radius:999px;background:#e0f2fe;color:#075985;font-size:11px;font-weight:1000;padding:6px 9px;white-space:nowrap;}
.spviet-order-cashier-quick-actions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.spviet-order-cashier-quick-action{min-height:86px;border:1px solid #dbeafe;border-radius:18px;background:#fff;box-shadow:0 8px 20px rgba(15,23,42,.07);display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-rows:auto auto;column-gap:10px;row-gap:2px;align-items:center;text-align:left;padding:12px;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease;}
.spviet-order-cashier-quick-action:hover{transform:translateY(-1px);border-color:#93c5fd;box-shadow:0 14px 28px rgba(37,99,235,.14);}
.spviet-order-cashier-quick-action-icon{grid-row:1/3;width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,#dbeafe,#eff6ff);display:flex;align-items:center;justify-content:center;font-size:22px;}
.spviet-order-cashier-quick-action strong{display:block;color:#0f172a;font-size:15px;line-height:1.18;white-space:normal;}
.spviet-order-cashier-quick-action small{display:block;color:#64748b;font-weight:800;font-size:12px;line-height:1.2;}
.spviet-order-cashier-quick-actions-note{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:16px;padding:12px;font-size:13px;font-weight:850;line-height:1.4;}
.spviet-order-cashier-quick-action-modal-v01514270{z-index:2147483686!important;}
.spviet-order-quick-action-card{max-width:720px!important;width:min(720px,96vw)!important;overflow:hidden!important;border-radius:24px!important;padding:0!important;}
.spviet-order-quick-action-head{background:linear-gradient(135deg,#0f172a,#1e40af)!important;color:#fff!important;padding:18px 22px!important;}
.spviet-order-quick-action-head h2{display:flex;align-items:center;gap:10px;font-size:26px!important;margin:2px 0 0!important;}.spviet-order-quick-action-head small{color:#bfdbfe!important;font-weight:1000!important;letter-spacing:.14em!important}.spviet-order-quick-action-head button{background:rgba(255,255,255,.16)!important;color:#fff!important;border:1px solid rgba(255,255,255,.24)!important;}
.spviet-order-quick-action-body{padding:20px 22px;background:#fff;display:flex;flex-direction:column;gap:14px;color:#334155;font-weight:850;line-height:1.5;}.spviet-order-quick-action-body p{margin:0;}.spviet-order-quick-action-status{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid #bfdbfe;background:#eff6ff;border-radius:18px;padding:12px;}.spviet-order-quick-action-status strong{color:#1d4ed8;font-size:16px}.spviet-order-quick-action-status span{color:#475569;font-size:12px;font-weight:1000;white-space:nowrap}.spviet-order-quick-action-context{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.spviet-order-quick-action-context div{border:1px solid #e5e7eb;border-radius:16px;background:#f8fafc;padding:12px;min-width:0}.spviet-order-quick-action-context b{display:block;color:#64748b;font-size:12px;text-transform:uppercase;letter-spacing:.06em}.spviet-order-quick-action-context span{display:block;color:#0f172a;font-size:14px;font-weight:1000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.spviet-order-quick-action-next{background:#ecfdf5;border:1px solid #bbf7d0;color:#166534;border-radius:16px;padding:12px}.spviet-order-quick-action-safe{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:16px;padding:12px;color:#475569;font-size:13px}.spviet-order-quick-action-actions{background:#fff!important;padding:0 22px 22px!important;justify-content:flex-end!important}.spviet-order-quick-action-actions button{background:#0f172a!important;color:#fff!important;min-width:140px!important;}
@media(max-width:1180px){.spviet-order-cashier-quick-actions-grid{grid-template-columns:1fr}.spviet-order-cashier-right-tabs button span{display:none}.spviet-order-cashier-right-tabs button{min-width:48px}.spviet-order-quick-action-context{grid-template-columns:1fr}}
@media(max-width:640px){.spviet-order-cashier-quick-actions-head{flex-direction:column}.spviet-order-cashier-quick-actions-grid{grid-template-columns:1fr}.spviet-order-cashier-right-tabs{border-radius:14px}.spviet-order-quick-action-head h2{font-size:20px!important}.spviet-order-quick-action-status{align-items:flex-start;flex-direction:column}.spviet-order-quick-action-status span{white-space:normal}}

/* v0.15.14.273 FOLLOW-40M37 Cashier Thu/Chi Quick Action Link Pro */
.spviet-order-cashier-cashbook-modal-v01514273{z-index:2147483687!important;}
.spviet-order-cashbook-card-v01514273{max-width:920px!important;width:min(920px,96vw)!important;}
.spviet-order-cashbook-body-v01514273{max-height:calc(100vh - 190px);overflow:auto;}
.spviet-order-cashbook-context-v01514273{grid-template-columns:repeat(3,minmax(0,1fr));}
.spviet-order-cashbook-form-v01514273{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;border:1px solid #dbeafe;background:#f8fafc;border-radius:18px;padding:14px;}
.spviet-order-cashbook-form-v01514273 label{display:flex;flex-direction:column;gap:6px;min-width:0;color:#0f172a;font-weight:950;}
.spviet-order-cashbook-form-v01514273 label.wide{grid-column:1/-1;}
.spviet-order-cashbook-form-v01514273 label span{font-size:12px;color:#475569;font-weight:1000;letter-spacing:.02em;}
.spviet-order-cashbook-form-v01514273 input,.spviet-order-cashbook-form-v01514273 select,.spviet-order-cashbook-form-v01514273 textarea{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:14px;background:#fff;padding:11px 12px;font-size:15px;font-weight:850;color:#0f172a;outline:none;}
.spviet-order-cashbook-form-v01514273 input:focus,.spviet-order-cashbook-form-v01514273 select:focus,.spviet-order-cashbook-form-v01514273 textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.12);}
.spviet-order-cashbook-form-v01514273 input[readonly]{background:#eef2ff;color:#1e3a8a;}
.spviet-order-cashbook-result-v01514273{border-radius:16px;padding:12px 14px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border:1px solid #dbeafe;background:#eff6ff;color:#1d4ed8;font-weight:900;}
.spviet-order-cashbook-result-v01514273 b{font-size:14px;white-space:nowrap;}
.spviet-order-cashbook-result-v01514273 span{font-size:13px;line-height:1.35;text-align:right;}
.spviet-order-cashbook-result-v01514273.is-good{border-color:#bbf7d0;background:#ecfdf5;color:#166534;}
.spviet-order-cashbook-result-v01514273.is-warn{border-color:#fed7aa;background:#fff7ed;color:#9a3412;}
.spviet-order-cashbook-result-v01514273.is-danger{border-color:#fecaca;background:#fef2f2;color:#991b1b;}
.spviet-order-cashbook-voucher-code-v01514273{margin-top:10px;border:1px dashed #86efac;background:#f0fdf4;color:#166534;border-radius:14px;padding:10px 12px;font-weight:1000;text-align:center;}
.spviet-order-quick-action-actions button[data-cashier-cashbook-save]{background:#0f172a!important;color:#fff!important;min-width:170px!important;}
.spviet-order-quick-action-actions button[data-cashier-cashbook-save].is-income{background:#0ea5e9!important;}
.spviet-order-quick-action-actions button[data-cashier-cashbook-save].is-expense{background:#dc2626!important;}
.spviet-order-quick-action-actions button[data-cashier-cashbook-save].is-busy{opacity:.65;cursor:wait;}
@media(max-width:900px){.spviet-order-cashbook-form-v01514273,.spviet-order-cashbook-context-v01514273{grid-template-columns:1fr}.spviet-order-cashbook-result-v01514273{flex-direction:column}.spviet-order-cashbook-result-v01514273 span{text-align:left}}

/* v0.15.14.275 - FOLLOW-40M39 Cashier quick action extended professional modals */
.spviet-order-quick-action-extended-card-v01514275{max-width:820px!important;width:min(820px,96vw)!important;}
.spviet-order-quick-action-extended-body-v01514275{max-height:min(72vh,680px);overflow:auto;}
.spviet-order-quick-action-config-list-v01514275{display:grid;grid-template-columns:1fr;gap:10px;}
.spviet-order-quick-action-config-list-v01514275>div{border:1px solid #e5e7eb;background:#f8fafc;border-radius:16px;padding:12px;display:grid;grid-template-columns:160px minmax(0,1fr);gap:10px;align-items:start;}
.spviet-order-quick-action-config-list-v01514275 b{color:#334155;font-size:13px;font-weight:1000;}
.spviet-order-quick-action-config-list-v01514275 span{color:#0f172a;font-size:14px;font-weight:850;white-space:pre-wrap;word-break:break-word;}
.spviet-order-quick-action-config-list-v01514275 em{grid-column:2;display:flex;gap:8px;flex-wrap:wrap;font-style:normal;margin-top:6px;}
.spviet-order-quick-action-link-v01514275{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:999px;background:#e0f2fe;color:#075985!important;border:1px solid #bae6fd;padding:7px 11px;font-size:12px;font-weight:1000;}
.spviet-order-quick-action-checklist-v01514275{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.spviet-order-quick-action-checklist-v01514275 label{border:1px solid #dbeafe;background:#fff;border-radius:14px;padding:11px;display:flex;gap:10px;align-items:center;color:#0f172a;font-weight:900;}
.spviet-order-quick-action-checklist-v01514275 input{width:18px;height:18px;accent-color:#2563eb;}
.spviet-order-quick-action-field-v01514275{display:flex;flex-direction:column;gap:6px;font-weight:900;color:#334155;}
.spviet-order-quick-action-field-v01514275 textarea,.spviet-order-quick-action-form-v01514275 textarea,.spviet-order-quick-action-form-v01514275 input,.spviet-order-quick-action-form-v01514275 select{border:1px solid #cbd5e1;border-radius:14px;background:#fff;padding:11px;color:#0f172a;font-weight:850;}
.spviet-order-quick-action-result-v01514275{margin-top:0!important;}
.spviet-order-quick-action-actions button[data-quick-reprint-run],.spviet-order-quick-action-actions button[data-quick-member-link],.spviet-order-quick-action-actions button[data-cashier-quick-save-checklist],.spviet-order-quick-action-actions button[data-cashier-quick-save-stationery],.spviet-order-quick-action-actions button[data-cashier-quick-gateway-health]{background:#2563eb!important;color:#fff!important;}
.spviet-order-quick-action-actions button[data-quick-reprint-run][disabled]{background:#94a3b8!important;cursor:not-allowed;}
@media(max-width:720px){.spviet-order-quick-action-config-list-v01514275>div{grid-template-columns:1fr}.spviet-order-quick-action-config-list-v01514275 em{grid-column:1}.spviet-order-quick-action-checklist-v01514275{grid-template-columns:1fr}}

/* v0.15.14.284 FOLLOW-40M48: Cashier dynamic payment methods from Restaurant Payment Method Master. */
.spviet-order-payment-method-cards{grid-template-columns:1fr 1fr!important;max-height:330px;overflow:auto;padding-right:2px}
.spviet-order-payment-method-cards .spviet-order-pay-method-card{height:auto!important;min-height:70px!important;display:block!important;place-items:initial!important;padding:0!important;overflow:hidden!important}
.spviet-order-payment-method-cards .spviet-order-pay-method-card span{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:3px!important;padding:8px!important;line-height:1.15!important}
.spviet-order-payment-method-cards .spviet-order-pay-method-card b{font-size:13px!important;color:#0f172a!important}
.spviet-order-payment-method-cards .spviet-order-pay-method-card small{font-size:10px!important;color:#64748b!important;font-weight:900!important}
.spviet-order-payment-method-cards .spviet-order-pay-method-card.is-machine span{background:#fff7ed!important;border:1px solid #fed7aa!important}
.spviet-order-payment-method-cards .spviet-order-pay-method-card input:checked+span{outline:3px solid #0b72d9!important;background:#eff6ff!important}
.spviet-order-payment-machine-panel{margin:10px 0;border-radius:14px;border:1px solid #c7d2fe;background:#eef2ff;color:#1e3a8a;padding:10px;display:flex;flex-direction:column;gap:4px;font-weight:900}
.spviet-order-payment-machine-panel b{font-size:13px;color:#0f172a}.spviet-order-payment-machine-panel span{font-size:12px;color:#334155;font-weight:800}.spviet-order-payment-machine-panel em{font-size:11px;color:#7c2d12;font-style:normal;font-weight:900}
.spviet-order-payment-machine-panel.is-manual{background:#ecfdf5;border-color:#bbf7d0;color:#065f46}.spviet-order-payment-machine-panel.is-machine{background:#fff7ed;border-color:#fdba74;color:#9a3412}
@media(max-width:980px){.spviet-order-payment-method-cards{max-height:none!important}.spviet-order-payment-method-cards .spviet-order-pay-method-card{min-height:58px!important}}
/* v0.15.14.285 FOLLOW-40M49: VT-330 cash receive payment pilot controls. */
.spviet-order-machine-status{border-radius:12px;background:#fff;padding:8px;border:1px dashed #fed7aa;display:flex;flex-direction:column;gap:3px}
.spviet-order-machine-status b{font-size:12px;color:#7c2d12!important}.spviet-order-machine-status span,.spviet-order-machine-status small{font-size:11px;color:#475569!important;font-weight:900}.spviet-order-machine-status.is-ok{border-color:#86efac;background:#f0fdf4}.spviet-order-machine-status.is-warn{border-color:#fecaca;background:#fff1f2}
.spviet-order-machine-actions{display:flex;gap:6px;flex-wrap:wrap}.spviet-order-machine-actions button{border:1px solid #fdba74;background:#fff7ed;border-radius:10px;padding:7px 9px;font-weight:900;color:#9a3412;cursor:pointer}.spviet-order-machine-actions button:disabled{opacity:.45;cursor:not-allowed}
/* v0.15.14.288 FOLLOW-40M52 Auto Change / Dispense Guard Pro */
.spviet-order-machine-change-panel{margin-top:8px;border:1px solid #f59e0b;background:#fffbeb;border-radius:12px;padding:8px;color:#78350f;font-weight:900}
.spviet-order-machine-change-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.spviet-order-machine-change-head strong{font-size:15px;color:#b45309}.spviet-order-machine-change-panel p{margin:4px 0;font-size:12px;color:#92400e}.spviet-order-machine-change-panel small{display:block;margin-top:4px;color:#7c2d12}.spviet-order-machine-change-json{max-height:110px;overflow:auto;background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;padding:6px;font-size:10px;white-space:pre-wrap;color:#7c2d12}


/* v0.15.14.291 FOLLOW-40M55 Cashier Layout V2 Quick Actions Left Header Placement Pro */
.spviet-order-cashier-layout-v2 .spviet-order-cashier-layout-tabs .spviet-order-cashier-layout-quick-actions-tab{
  margin-left:auto!important;
  min-width:178px!important;
  background:#1e40af!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.26)!important;
  box-shadow:0 10px 22px rgba(2,6,23,.24), inset 0 -2px 0 rgba(0,0,0,.18)!important;
}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-layout-tabs .spviet-order-cashier-layout-quick-actions-tab.is-active{
  background:#fff!important;
  color:#08316c!important;
  border-color:#fff!important;
  box-shadow:0 8px 18px rgba(2,6,23,.2)!important;
}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-right-tabs .spviet-order-cashier-right-refresh{
  margin-left:auto!important;
}
@media(max-width:1180px){
  .spviet-order-cashier-layout-v2 .spviet-order-cashier-layout-tabs .spviet-order-cashier-layout-quick-actions-tab{min-width:154px!important;}
}
@media(max-width:720px){
  .spviet-order-cashier-layout-v2 .spviet-order-cashier-layout-tabs .spviet-order-cashier-layout-quick-actions-tab{margin-left:0!important;}
}


/* v0.15.14.292 FOLLOW-40M56 Cashier Layout V2 Quick Actions Native Left Tab Pro */
.spviet-order-cashier-layout-v2 .spviet-order-cashier-tab-panel-quick-actions{
  background:#f8fafc!important;
}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-tab-panel-quick-actions .spviet-order-cashier-quick-actions-shell{
  height:100%!important;
  border-radius:0!important;
  padding:14px!important;
}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-tab-panel-quick-actions .spviet-order-cashier-quick-actions-grid{
  grid-template-columns:repeat(2,minmax(220px,1fr))!important;
}
@media(max-width:900px){
  .spviet-order-cashier-layout-v2 .spviet-order-cashier-tab-panel-quick-actions .spviet-order-cashier-quick-actions-grid{grid-template-columns:1fr!important;}
}

/* v0.15.14.293 FOLLOW-40M57 Cashier Customer Realtime Loyalty Assign Pro */
.spviet-order-customer-assign-card-v01514293{
  border:1px solid #dbeafe;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  border-radius:18px;
  padding:14px;
  margin:0 0 14px;
  box-shadow:0 10px 24px rgba(15,23,42,.06);
}
.spviet-order-customer-assign-card-v01514293.is-compact{padding:12px;border-radius:16px;margin-bottom:12px;}
.spviet-order-customer-head-v01514293{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;}
.spviet-order-customer-head-v01514293 small{display:block;color:#2563eb;font-weight:800;letter-spacing:.08em;font-size:11px;}
.spviet-order-customer-head-v01514293 h4{margin:2px 0 0;color:#0f172a;font-size:16px;line-height:1.2;}
.spviet-order-customer-head-v01514293 span{background:#ecfeff;color:#0f766e;border-radius:999px;padding:6px 10px;font-weight:800;font-size:12px;white-space:nowrap;}
.spviet-order-customer-empty-v01514293,
.spviet-order-customer-linked-v01514293{display:flex;align-items:center;gap:12px;border:1px solid #fed7aa;background:#fff7ed;border-radius:14px;padding:12px;margin-bottom:10px;}
.spviet-order-customer-linked-v01514293{border-color:#bbf7d0;background:#f0fdf4;}
.spviet-order-customer-empty-v01514293 b,
.spviet-order-customer-linked-v01514293 strong{display:block;color:#065f46;font-size:18px;}
.spviet-order-customer-empty-v01514293 span,
.spviet-order-customer-linked-v01514293 span{display:block;color:#334155;font-weight:700;font-size:13px;margin-top:3px;}
.spviet-order-customer-linked-v01514293 em{display:block;color:#0f766e;font-style:normal;font-size:13px;margin-top:3px;}
.spviet-order-customer-avatar-v01514293{width:42px;height:42px;border-radius:12px;background:#ffedd5;display:flex;align-items:center;justify-content:center;font-size:22px;flex:0 0 auto;}
.spviet-order-customer-linked-v01514293 button{margin-left:auto;border:0;background:#0f766e;color:#fff;border-radius:10px;padding:8px 12px;font-weight:800;cursor:pointer;}
.spviet-order-customer-search-v01514293{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;}
.spviet-order-customer-search-v01514293 input{min-width:0;border:1px solid #bfdbfe;border-radius:12px;padding:12px 14px;font-weight:800;background:#fff;outline:none;}
.spviet-order-customer-search-v01514293 input:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.12);}
.spviet-order-customer-search-v01514293 button,
.spviet-order-customer-link-manual-v01514293{border:0;border-radius:12px;background:#ea580c;color:#fff;font-weight:900;padding:12px 18px;cursor:pointer;}
.spviet-order-customer-link-manual-v01514293{width:100%;margin-top:8px;}
.spviet-order-customer-results-v01514293{display:grid;gap:8px;margin-top:8px;}
.spviet-order-customer-results-v01514293 p{margin:0;color:#64748b;font-weight:700;font-size:13px;}
.spviet-order-customer-result-v01514293{display:grid;grid-template-columns:1fr auto;gap:6px 10px;text-align:left;border:1px solid #dbeafe;background:#fff;border-radius:12px;padding:10px 12px;cursor:pointer;}
.spviet-order-customer-result-v01514293:hover{border-color:#2563eb;background:#eff6ff;}
.spviet-order-customer-result-v01514293 strong{color:#0f172a;font-size:15px;}
.spviet-order-customer-result-v01514293 span{color:#475569;font-weight:700;font-size:12px;}
.spviet-order-customer-result-v01514293 em{grid-row:1 / span 2;grid-column:2;color:#0f766e;font-style:normal;font-weight:900;align-self:center;white-space:nowrap;}
.spviet-order-customer-redeem-v01514293{display:grid;grid-template-columns:120px 1fr auto auto;gap:8px;margin-top:10px;align-items:center;}
.spviet-order-customer-redeem-v01514293 input{border:1px solid #cbd5e1;border-radius:10px;padding:10px;font-weight:800;min-width:0;}
.spviet-order-customer-redeem-v01514293 button{border:0;border-radius:10px;padding:10px 12px;font-weight:900;color:#fff;background:#0f766e;cursor:pointer;}
.spviet-order-customer-redeem-v01514293 button[data-redeem-mode="gift"]{background:#7c3aed;}
.spviet-order-cashier-layout-v2 .spviet-v2-bill-shell .spviet-order-customer-assign-card-v01514293{margin:0 10px 12px;}
.spviet-order-payment-modal-v2 .spviet-order-customer-assign-card-v01514293{margin:0 0 12px;box-shadow:none;}
.spviet-order-payment-modal-v2 .spviet-order-customer-head-v01514293 h4{font-size:15px;}
.spviet-order-payment-modal-v2 .spviet-order-customer-search-v01514293{grid-template-columns:1fr;}
.spviet-order-payment-modal-v2 .spviet-order-customer-search-v01514293 button{width:100%;}
.spviet-order-payment-modal-v2 .spviet-order-customer-redeem-v01514293{grid-template-columns:1fr;}
.spviet-order-cashier-draft .spviet-order-customer-assign-card-v01514293{margin:10px 0;}
@media(max-width:900px){
  .spviet-order-customer-search-v01514293,
  .spviet-order-customer-redeem-v01514293{grid-template-columns:1fr;}
  .spviet-order-customer-linked-v01514293{align-items:flex-start;}
  .spviet-order-customer-linked-v01514293 button{margin-left:0;}
}

/* v0.15.14.294 FOLLOW-40M58 Cashier Customer Modal + Background Realtime Guard */
.spviet-order-customer-assign-card-v01514293{
  padding:10px 12px!important;
  margin-bottom:10px!important;
}
.spviet-order-customer-head-v01514293{display:none!important;}
.spviet-order-customer-empty-v01514293{
  min-height:0!important;
  padding:8px 10px!important;
  margin-bottom:8px!important;
  border-color:#fed7aa!important;
  background:#fff7ed!important;
}
.spviet-order-customer-empty-v01514293 b{font-size:15px!important;}
.spviet-order-customer-empty-v01514293 span{display:none!important;}
.spviet-order-customer-linked-v01514293{
  padding:9px 10px!important;
  margin-bottom:8px!important;
  border-radius:12px!important;
}
.spviet-order-customer-linked-v01514293 strong{font-size:16px!important;}
.spviet-order-customer-linked-v01514293 em,
.spviet-order-customer-linked-v01514293 span{font-size:12px!important;}
.spviet-order-customer-avatar-v01514293{width:34px!important;height:34px!important;border-radius:10px!important;font-size:18px!important;}
.spviet-order-customer-search-v01514293 input{padding:10px 12px!important;}
.spviet-order-customer-search-v01514293 button{padding:10px 14px!important;background:#ea580c!important;color:#fff!important;}
.spviet-order-customer-link-manual-v01514293{display:none!important;}
.spviet-order-customer-results-v01514293:empty{display:none!important;}
.spviet-order-customer-lookup-modal-v01514294{
  position:fixed!important;
  inset:0!important;
  z-index:2147483675!important;
  display:none!important;
  align-items:center!important;
  justify-content:center!important;
  background:rgba(15,23,42,.55)!important;
  padding:24px!important;
}
.spviet-order-customer-lookup-modal-v01514294.show{display:flex!important;}
.spviet-order-customer-lookup-card-v01514294{
  width:min(880px,calc(100vw - 48px))!important;
  max-height:min(760px,calc(100vh - 48px))!important;
  overflow:auto!important;
  background:#f8fafc!important;
  border-radius:28px!important;
  box-shadow:0 30px 80px rgba(2,6,23,.32)!important;
  border:1px solid rgba(255,255,255,.75)!important;
}
.spviet-order-customer-lookup-head-v01514294{
  display:flex!important;
  gap:16px!important;
  align-items:center!important;
  padding:24px 26px!important;
  color:#fff!important;
  background:linear-gradient(135deg,#064e3b,#0f766e)!important;
  border-radius:28px 28px 0 0!important;
}
.spviet-order-customer-lookup-head-v01514294 h2{margin:0!important;font-size:30px!important;line-height:1.15!important;color:#fff!important;}
.spviet-order-customer-lookup-head-v01514294 p{margin:6px 0 0!important;font-weight:800!important;color:#d1fae5!important;}
.spviet-order-customer-lookup-head-v01514294 button{
  margin-left:auto!important;
  width:42px!important;height:42px!important;border:0!important;border-radius:14px!important;
  background:rgba(255,255,255,.14)!important;color:#fff!important;font-size:26px!important;font-weight:900!important;cursor:pointer!important;
}
.spviet-order-customer-lookup-avatar-v01514294{width:56px!important;height:56px!important;display:flex!important;align-items:center!important;justify-content:center!important;border-radius:16px!important;background:rgba(255,255,255,.16)!important;font-size:28px!important;}
.spviet-order-customer-lookup-current-v01514294{
  margin:22px 22px 0!important;
  border:1px solid #bae6fd!important;
  background:#ecfeff!important;
  border-radius:18px!important;
  padding:14px 18px!important;
  display:grid!important;
  grid-template-columns:auto 1fr!important;
  gap:4px 14px!important;
}
.spviet-order-customer-lookup-current-v01514294 small{grid-row:1 / span 2;color:#64748b;font-weight:900;text-transform:uppercase;letter-spacing:.04em;align-self:center;}
.spviet-order-customer-lookup-current-v01514294 strong{color:#0f766e;font-size:20px;}
.spviet-order-customer-lookup-current-v01514294 span{color:#334155;font-weight:800;}
.spviet-order-customer-lookup-search-v01514294{
  margin:18px 22px 0!important;
  display:grid!important;
  grid-template-columns:1fr 180px!important;
  gap:12px!important;
  align-items:center!important;
  background:#fff!important;
  border:1px solid #dbeafe!important;
  padding:16px!important;
  border-radius:18px!important;
}
.spviet-order-customer-lookup-search-v01514294 input{
  min-width:0!important;
  border:2px solid #0f766e!important;
  border-radius:16px!important;
  padding:16px 18px!important;
  font-size:22px!important;
  font-weight:900!important;
  outline:none!important;
}
.spviet-order-customer-lookup-search-v01514294 input:focus{box-shadow:0 0 0 4px rgba(15,118,110,.15)!important;}
.spviet-order-customer-lookup-search-v01514294 button{
  border:0!important;
  border-radius:16px!important;
  background:#0f766e!important;
  color:#fff!important;
  font-weight:900!important;
  font-size:16px!important;
  padding:17px 18px!important;
  cursor:pointer!important;
}
.spviet-order-customer-lookup-hint-v01514294{
  margin:8px 26px 0!important;
  color:#0f766e!important;
  font-size:13px!important;
  font-weight:800!important;
}
.spviet-order-customer-modal-results-v01514294{
  margin:18px 22px!important;
  display:grid!important;
  gap:10px!important;
}
.spviet-order-customer-modal-results-v01514294 .spviet-order-customer-result-v01514293{
  grid-template-columns:1fr auto!important;
  padding:14px 16px!important;
  border-radius:16px!important;
  border-color:#dbeafe!important;
  background:#fff!important;
}
.spviet-order-customer-modal-results-v01514294 .spviet-order-customer-result-v01514293:hover,
.spviet-order-customer-modal-results-v01514294 .spviet-order-customer-result-v01514293:focus{
  border-color:#0f766e!important;
  box-shadow:0 0 0 3px rgba(15,118,110,.12)!important;
}
.spviet-order-customer-modal-results-v01514294 .spviet-order-customer-result-v01514293 strong{font-size:17px!important;}
.spviet-order-customer-modal-results-v01514294 .spviet-order-customer-result-v01514293 span{font-size:13px!important;}
.spviet-order-customer-lookup-actions-v01514294{
  margin:0 22px 22px!important;
  padding-top:14px!important;
  border-top:1px solid #e2e8f0!important;
  display:flex!important;
  justify-content:flex-end!important;
}
.spviet-order-customer-lookup-actions-v01514294 button{
  border:0!important;
  border-radius:14px!important;
  background:#e2e8f0!important;
  color:#0f172a!important;
  padding:13px 28px!important;
  font-weight:900!important;
  cursor:pointer!important;
}
@media(max-width:900px){
  .spviet-order-customer-lookup-modal-v01514294{padding:10px!important;align-items:flex-start!important;}
  .spviet-order-customer-lookup-card-v01514294{width:100%!important;max-height:calc(100vh - 20px)!important;border-radius:20px!important;}
  .spviet-order-customer-lookup-head-v01514294{border-radius:20px 20px 0 0!important;padding:18px!important;}
  .spviet-order-customer-lookup-head-v01514294 h2{font-size:22px!important;}
  .spviet-order-customer-lookup-search-v01514294{grid-template-columns:1fr!important;margin:14px!important;}
  .spviet-order-customer-lookup-search-v01514294 input{font-size:18px!important;}
  .spviet-order-customer-modal-results-v01514294{margin:14px!important;}
}

/* v0.15.14.295 FOLLOW-40M59 Cashier bill detail source guard */
.spviet-order-cashier-layout-v2 .spviet-order-bill-guard-mismatch-v01514295{
  border:1px solid #fecaca!important;
  background:#fff7ed!important;
  color:#7f1d1d!important;
}
.spviet-order-cashier-layout-v2 .spviet-order-bill-guard-mismatch-v01514295 h3{
  color:#b91c1c!important;
  margin-top:0!important;
}
.spviet-order-cashier-layout-v2 .spviet-order-bill-guard-list{
  margin:10px 0!important;
  padding-left:20px!important;
  font-weight:800!important;
}

/* v0.15.14.300 FOLLOW-40M64 Cashier V2 left-tab-aware right panel */
.spviet-order-cashier-layout-v2:not(.spviet-cashier-menu-active-v01514146) #spviet-order-cashier-draft{
  display:none!important;
}
.spviet-order-cashier-layout-v2.spviet-cashier-menu-active-v01514146 #spviet-order-cashier-detail{
  display:none!important;
}
.spviet-order-cashier-layout-v2.spviet-cashier-menu-active-v01514146 .spviet-order-cashier-right-tab-panel[data-cashier-right-panel="bill"]{
  display:flex!important;
  flex-direction:column!important;
  min-height:0!important;
}
.spviet-order-cashier-layout-v2.spviet-cashier-menu-active-v01514146 #spviet-order-cashier-draft{
  display:flex!important;
  flex:1 1 auto!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  overflow:hidden!important;
  padding:10px!important;
  box-sizing:border-box!important;
}
.spviet-order-cashier-layout-v2.spviet-cashier-menu-active-v01514146 .spviet-order-cashier-draft-list{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:auto!important;
  padding-bottom:12px!important;
}
.spviet-order-cashier-layout-v2.spviet-cashier-menu-active-v01514146 .spviet-order-cashier-draft-submit{
  margin-top:auto!important;
  position:sticky!important;
  bottom:0!important;
  z-index:8!important;
  min-height:62px!important;
}
.spviet-order-cashier-layout-v2 .spviet-v2-context-empty-v01514300{
  min-height:120px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  border-radius:16px!important;
  background:#fff!important;
  border:1px dashed #cbd5e1!important;
  color:#64748b!important;
  font-weight:900!important;
}

/* v0.15.14.303 FOLLOW-40M67 Cashier payment panel compact action/total layout */
.spviet-order-cashier-layout-v2 .spviet-v2-total-card-compact-v01514303{
  flex:0 0 auto!important;
  padding:7px 10px!important;
  gap:5px!important;
}
.spviet-order-cashier-layout-v2 .spviet-v2-total-card-compact-v01514303 .spviet-v2-total-mini-row{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
  min-height:20px!important;
  font-size:12px!important;
  color:#64748b!important;
  font-weight:850!important;
}
.spviet-order-cashier-layout-v2 .spviet-v2-total-main-grid-v01514303{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
  margin-top:3px!important;
}
.spviet-order-cashier-layout-v2 .spviet-v2-total-main-grid-v01514303 .is-main{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  min-height:54px!important;
  padding:8px 10px!important;
  border-radius:14px!important;
  border:1px solid rgba(148,163,184,.30)!important;
  background:#fff!important;
}
.spviet-order-cashier-layout-v2 .spviet-v2-total-main-grid-v01514303 .is-due{
  border-color:#fecaca!important;
  background:#fff7f7!important;
}
.spviet-order-cashier-layout-v2 .spviet-v2-total-main-grid-v01514303 .is-main span{
  font-size:12px!important;
  line-height:1.2!important;
  color:#64748b!important;
  font-weight:900!important;
}
.spviet-order-cashier-layout-v2 .spviet-v2-total-main-grid-v01514303 .is-main strong{
  margin-top:3px!important;
  font-size:20px!important;
  line-height:1.1!important;
  color:#0f172a!important;
  font-weight:1000!important;
}
.spviet-order-cashier-layout-v2 .spviet-v2-total-main-grid-v01514303 .is-due strong{
  color:#dc2626!important;
}
.spviet-order-cashier-layout-v2 .spviet-v2-action-grid-compact-v01514303{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:7px!important;
  align-items:stretch!important;
  position:relative!important;
  overflow:visible!important;
  padding:8px 10px calc(12px + env(safe-area-inset-bottom))!important;
}
.spviet-order-cashier-layout-v2 .spviet-v2-action-grid-compact-v01514303 .spviet-v2-secondary{
  grid-column:span 2!important;
  height:42px!important;
  min-height:42px!important;
  font-size:13px!important;
}
.spviet-order-cashier-layout-v2 .spviet-v2-action-grid-compact-v01514303 .spviet-v2-tools-drawer-inline-v01514303{
  grid-column:1 / span 3!important;
  grid-row:auto!important;
  display:block!important;
  order:2!important;
  max-height:none!important;
  min-height:52px!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  border:1px solid #dbeafe!important;
  border-radius:14px!important;
  background:#fff!important;
  overflow:visible!important;
  position:relative!important;
  z-index:25!important;
}
.spviet-order-cashier-layout-v2 .spviet-v2-action-grid-compact-v01514303 .spviet-v2-tools-drawer-inline-v01514303>summary{
  min-height:52px!important;
  height:52px!important;
  padding:0 12px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  font-size:13px!important;
  line-height:1.15!important;
  color:#1e3a8a!important;
  font-weight:1000!important;
  cursor:pointer!important;
  list-style:none!important;
}
.spviet-order-cashier-layout-v2 .spviet-v2-action-grid-compact-v01514303 .spviet-v2-tools-drawer-inline-v01514303>summary::-webkit-details-marker{
  display:none!important;
}
.spviet-order-cashier-layout-v2 .spviet-v2-action-grid-compact-v01514303 .spviet-v2-tools-drawer-inline-v01514303[open]{
  max-height:none!important;
  overflow:visible!important;
  box-shadow:none!important;
}
.spviet-order-cashier-layout-v2 .spviet-v2-action-grid-compact-v01514303 .spviet-v2-tools-drawer-inline-v01514303[open] .spviet-v2-tools-grid{
  position:absolute!important;
  left:0!important;
  right:-100%!important;
  bottom:58px!important;
  z-index:120!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  max-height:min(46vh,360px)!important;
  overflow:auto!important;
  padding:10px!important;
  border:1px solid rgba(148,163,184,.45)!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.98)!important;
  box-shadow:0 -18px 50px rgba(15,23,42,.24)!important;
}
.spviet-order-cashier-layout-v2 .spviet-v2-action-grid-compact-v01514303 .spviet-v2-primary{
  grid-column:4 / span 3!important;
  order:2!important;
  height:52px!important;
  min-height:52px!important;
  font-size:18px!important;
  border-radius:14px!important;
}
@media(max-height:760px){
  .spviet-order-cashier-layout-v2 .spviet-v2-total-main-grid-v01514303 .is-main{min-height:48px!important;padding:6px 8px!important;}
  .spviet-order-cashier-layout-v2 .spviet-v2-total-main-grid-v01514303 .is-main strong{font-size:18px!important;}
  .spviet-order-cashier-layout-v2 .spviet-v2-action-grid-compact-v01514303 .spviet-v2-tools-drawer-inline-v01514303{display:block!important;min-height:48px!important;}
  .spviet-order-cashier-layout-v2 .spviet-v2-action-grid-compact-v01514303 .spviet-v2-tools-drawer-inline-v01514303>summary{height:48px!important;min-height:48px!important;font-size:12px!important;}
  .spviet-order-cashier-layout-v2 .spviet-v2-action-grid-compact-v01514303 .spviet-v2-primary{height:48px!important;min-height:48px!important;font-size:16px!important;}
  .spviet-order-cashier-layout-v2 .spviet-v2-action-grid-compact-v01514303 .spviet-v2-secondary{height:38px!important;min-height:38px!important;}
}

/* v0.15.14.304 FOLLOW-40M68 Cashier payment modal wider + money input append guard */
.spviet-order-payment-modal-v2 .spviet-order-cashier-payment-card{
  width:min(1196px,98vw)!important;
  max-width:98vw!important;
}
.spviet-order-payment-modal-v2 .spviet-order-payment-v2-body{
  grid-template-columns:300px minmax(310px,1fr) 380px!important;
  gap:14px!important;
  padding:14px!important;
}
.spviet-order-payment-modal-v2 .spviet-order-payment-left,
.spviet-order-payment-modal-v2 .spviet-order-payment-mid,
.spviet-order-payment-modal-v2 .spviet-order-payment-keypad{
  min-width:0!important;
}
.spviet-order-payment-modal-v2 .spviet-order-payment-keypad-grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
.spviet-order-payment-modal-v2 .spviet-order-payment-presets{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
@media(max-width:1220px){
  .spviet-order-payment-modal-v2 .spviet-order-cashier-payment-card{width:min(1080px,98vw)!important;}
  .spviet-order-payment-modal-v2 .spviet-order-payment-v2-body{grid-template-columns:260px minmax(280px,1fr) 340px!important;gap:10px!important;}
}
@media(max-width:980px){
  .spviet-order-payment-modal-v2 .spviet-order-payment-v2-body{grid-template-columns:1fr!important;}
}

/* v0.15.14.307 FOLLOW-40M71 Cashier payment/receipt confirm button localization + equal action widths */
.spviet-order-payment-modal-v2 .spviet-order-payment-confirm-actions-v01514307,
.spviet-order-payment-modal-v2 .spviet-order-receipt-choice-actions-v01514307{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:14px!important;
  align-items:stretch!important;
  justify-content:stretch!important;
}
.spviet-order-payment-modal-v2 .spviet-order-payment-confirm-actions-v01514307 button,
.spviet-order-payment-modal-v2 .spviet-order-receipt-choice-actions-v01514307 button{
  width:100%!important;
  min-width:0!important;
  min-height:68px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}
.spviet-order-payment-modal-v2 .spviet-order-payment-confirm-actions-v01514307 .spviet-payment-cancel-v01514307{
  background:linear-gradient(135deg,#dc2626,#b91c1c)!important;
  color:#fff!important;
  box-shadow:0 14px 30px rgba(220,38,38,.24)!important;
}
.spviet-order-payment-modal-v2 .spviet-order-payment-confirm-actions-v01514307 .spviet-payment-confirm-v01514307{
  background:linear-gradient(135deg,#22c55e,#16a34a)!important;
  color:#0f172a!important;
  box-shadow:0 14px 30px rgba(34,197,94,.24)!important;
}
.spviet-order-receipt-choice-modal .spviet-order-receipt-choice-card-v01514307{
  width:min(640px,96vw)!important;
  max-width:640px!important;
}
.spviet-order-receipt-choice-modal .spviet-order-receipt-choice-body-v01514307{
  display:block!important;
}
.spviet-order-receipt-choice-modal .spviet-order-receipt-choice-actions-v01514307 .spviet-receipt-no-v01514307{
  background:linear-gradient(135deg,#2563eb,#1d4ed8)!important;
  color:#fff!important;
}
.spviet-order-receipt-choice-modal .spviet-order-receipt-choice-actions-v01514307 .spviet-receipt-yes-v01514307{
  background:linear-gradient(135deg,#22c55e,#16a34a)!important;
  color:#0f172a!important;
}
@media(max-width:720px){
  .spviet-order-payment-modal-v2 .spviet-order-payment-confirm-actions-v01514307,
  .spviet-order-payment-modal-v2 .spviet-order-receipt-choice-actions-v01514307{grid-template-columns:1fr 1fr!important;}
}

/* v0.15.14.308 Tablet-only HTTPS domain -> HTTP Local Gateway mixed-content guard. */
.spviet-order-lan-launch-overlay{position:fixed;inset:0;z-index:2147483695;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(2,6,23,.72);backdrop-filter:blur(8px)}
.spviet-order-lan-launch-overlay.show{display:flex}
.spviet-order-lan-launch-card{position:relative;width:min(720px,calc(100vw - 28px));background:#fff;border:1px solid rgba(254,202,202,.9);border-radius:30px;padding:28px;box-shadow:0 32px 110px rgba(0,0,0,.44);color:#0f172a;text-align:left}
.spviet-order-lan-launch-card h2{margin:10px 0 10px;font-size:clamp(26px,4vw,42px);line-height:1.08;font-weight:1000;color:#991b1b}
.spviet-order-lan-launch-card p{margin:0 0 18px;font-size:18px;line-height:1.55;font-weight:800;color:#334155;word-break:break-word}
.spviet-order-lan-launch-card small{display:block;margin-top:14px;color:#64748b;font-size:13px;line-height:1.45;font-weight:800}
.spviet-order-lan-launch-badge{display:inline-flex;align-items:center;border-radius:999px;background:#fee2e2;color:#991b1b;padding:7px 12px;font-weight:1000;letter-spacing:.06em;font-size:12px}
.spviet-order-lan-launch-actions{display:grid;grid-template-columns:1.15fr .85fr;gap:12px;align-items:stretch}
.spviet-order-lan-launch-actions button{min-height:62px;border:0;border-radius:18px;padding:12px 16px;font-size:16px;font-weight:1000;cursor:pointer;background:#f1f5f9;color:#0f172a;box-shadow:0 12px 30px rgba(15,23,42,.10)}
.spviet-order-lan-launch-actions button.primary{background:linear-gradient(135deg,#22c55e,#16a34a);color:#052e16;box-shadow:0 18px 44px rgba(22,163,74,.28)}
.spviet-order-lan-launch-x{position:absolute;right:16px;top:14px;width:44px;height:44px;border:0;border-radius:999px;background:#f1f5f9;color:#0f172a;font-size:28px;font-weight:900;line-height:1;cursor:pointer}
@media(max-width:640px){.spviet-order-lan-launch-card{padding:22px;border-radius:24px}.spviet-order-lan-launch-actions{grid-template-columns:1fr}.spviet-order-lan-launch-actions button{min-height:58px}.spviet-order-lan-launch-card p{font-size:16px}}

/* v0.15.14.334 / FOLLOW-40M98: Cashier quick dine-in must pick a real Manager table, while takeaway stays fixed TAKEAWAY. */
.spviet-order-cashier-layout-v2 .spviet-order-cashier-draft-controls input[readonly]{background:#f8fafc;color:#0f172a;cursor:not-allowed}
.spviet-order-cashier-layout-v2 .spviet-order-cashier-draft-table-hint{display:block;margin:-4px 0 8px;color:#92400e;font-weight:800;font-size:12px}

/* v0.15.14.335 FOLLOW-40M99: Retail POS style Auto Payment / VT-330 screen for Cashier. */
.spviet-order-auto-payment-retail-v01514335{position:fixed;inset:0;z-index:2147483647!important;background:rgba(15,23,42,.42);overflow:hidden;color:#0f172a;font-family:Inter,"Noto Sans",Arial,sans-serif;padding:22px 20px;box-sizing:border-box;text-align:center;display:flex;align-items:flex-start;justify-content:center}
.spviet-order-auto-payment-retail-v01514335:before{content:"";position:fixed;inset:0 0 auto 0;height:170px;background:linear-gradient(180deg,rgba(239,247,255,.92),rgba(255,255,255,0));pointer-events:none}
.spviet-auto-pay-page-v01514335{position:relative;width:min(66vw,1080px);min-width:820px;max-height:calc(100vh - 44px);overflow:auto;margin:0 auto;padding:18px 28px 0;background:rgba(255,255,255,.98);border:1px solid #dbeafe;border-radius:28px;box-shadow:0 30px 80px rgba(15,23,42,.28);box-sizing:border-box}
.spviet-auto-pay-manager-v01514335{position:absolute;left:0;top:4px;border:0;border-radius:999px;background:linear-gradient(135deg,#f59e0b,#f97316);color:#fff;font-weight:1000;padding:12px 24px;box-shadow:0 14px 30px rgba(245,158,11,.26);letter-spacing:.02em}
.spviet-auto-pay-kicker-v01514335{display:inline-flex;align-items:center;justify-content:center;margin:8px auto 4px;color:#0f172a;font-size:16px;font-weight:500;letter-spacing:.02em}
.spviet-order-auto-payment-retail-v01514335 h1{margin:4px 0 14px;font-size:30px;line-height:1.18;font-weight:1000;color:#0f172a;letter-spacing:.03em}
.spviet-auto-pay-kpis-v01514335{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:12px;max-width:860px;margin:0 auto 14px}
.spviet-auto-pay-kpis-v01514335>div{border:1px solid #dbeafe;background:linear-gradient(135deg,#f8fafc,#eff6ff);border-radius:18px;padding:14px 18px;box-shadow:inset 0 1px 0 rgba(255,255,255,.72)}
.spviet-auto-pay-kpis-v01514335 span{display:block;color:#64748b;font-weight:950;font-size:13px;margin-bottom:7px}.spviet-auto-pay-kpis-v01514335 strong{display:block;font-size:25px;font-weight:1000;color:#2563eb}.spviet-auto-pay-kpis-v01514335>div:nth-child(2) strong{color:#0f766e}.spviet-auto-pay-kpis-v01514335>div:nth-child(3) strong{color:#dc2626}
.spviet-auto-pay-status-v01514335{max-width:860px;margin:12px auto 8px;color:#64748b;font-weight:950}.spviet-auto-pay-status-v01514335.is-ok{color:#047857}.spviet-auto-pay-status-v01514335.is-warn{color:#b45309}
.spviet-auto-pay-session-v01514335{max-width:860px;margin:0 auto 12px;padding:10px 14px;border:1px dashed #cbd5e1;border-radius:13px;background:#f8fafc;color:#64748b;font-size:13px;font-weight:850;line-height:1.4}
.spviet-auto-pay-denom-table-v01514335{width:100%;max-width:760px;margin:0 auto;border-collapse:separate;border-spacing:0;overflow:hidden;border-radius:16px;border:1px solid #dbe5f1;background:#fff;box-shadow:0 14px 34px rgba(15,23,42,.10)}
.spviet-auto-pay-denom-table-v01514335 th{background:#0f766e;color:#fff;font-weight:1000;padding:12px 14px;text-align:center}.spviet-auto-pay-denom-table-v01514335 td{padding:10px 14px;border-top:1px solid #e2e8f0;text-align:right;font-size:16px;font-weight:900}.spviet-auto-pay-denom-table-v01514335 td:first-child{text-align:left;color:#0f172a}.spviet-auto-pay-denom-table-v01514335 tr:nth-child(even) td{background:#f8fafc}
.spviet-auto-pay-actions-v01514335{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin:18px auto 0;max-width:760px;position:sticky;bottom:0;z-index:5;background:linear-gradient(180deg,rgba(255,255,255,.82),#fff 36%);padding:14px 0 14px;box-shadow:0 -12px 30px rgba(15,23,42,.06)}.spviet-auto-pay-actions-v01514335 button{border:0;border-radius:18px;min-width:220px;padding:16px 24px;color:#fff;font-size:18px;font-weight:1000;cursor:pointer;box-shadow:0 16px 34px rgba(15,23,42,.18)}.spviet-auto-pay-actions-v01514335 .danger{background:linear-gradient(135deg,#ef4444,#b91c1c)}.spviet-auto-pay-actions-v01514335 .primary{background:linear-gradient(135deg,#2563eb,#1d4ed8)}.spviet-auto-pay-actions-v01514335 .confirm{background:linear-gradient(135deg,#10b981,#047857)}.spviet-auto-pay-actions-v01514335 button:disabled{opacity:.46;cursor:not-allowed;filter:grayscale(.2)}
.spviet-auto-pay-safe-note-v01514335{max-width:860px;margin:14px auto 0;border:1px solid #fed7aa;background:#fff7ed;color:#9a3412;border-radius:14px;padding:12px 16px;font-weight:900;line-height:1.45}
.spviet-auto-pay-gate-help-v01514342{max-width:860px;margin:10px auto 12px;border:1px solid #fdba74;background:#fff7ed;color:#9a3412;border-radius:16px;padding:12px 16px;text-align:left;font-weight:850;line-height:1.45}.spviet-auto-pay-gate-help-v01514342 b{display:block;color:#7c2d12;margin-bottom:4px}.spviet-auto-pay-gate-help-v01514342 ol{margin:8px 0 0 22px;padding:0}.spviet-auto-pay-gate-help-v01514342 li{margin:4px 0}.spviet-auto-pay-gate-help-v01514342 code{background:#ffedd5;border:1px solid #fed7aa;border-radius:7px;padding:1px 5px;color:#7c2d12;font-weight:1000}
@media(max-width:1180px){.spviet-auto-pay-page-v01514335{width:min(88vw,980px);min-width:0}.spviet-auto-pay-kpis-v01514335{grid-template-columns:repeat(3,minmax(160px,1fr))}}
@media(max-width:760px){.spviet-order-auto-payment-retail-v01514335{padding:10px}.spviet-auto-pay-page-v01514335{width:96vw;max-height:calc(100vh - 20px);padding:14px 14px 0}.spviet-auto-pay-manager-v01514335{position:relative;left:auto;top:auto;margin:0 auto 8px}.spviet-auto-pay-kpis-v01514335{grid-template-columns:1fr}.spviet-auto-pay-actions-v01514335{flex-direction:column}.spviet-auto-pay-actions-v01514335 button{width:100%}.spviet-order-auto-payment-retail-v01514335 h1{font-size:24px}}

/* v0.15.14.336 FOLLOW-40M100: Restaurant VT-330 refund-safe cancel / locked exit parity with Retail POS. */
.spviet-order-auto-payment-retail-v01514335.is-cancelling-v01514336 .spviet-auto-pay-page-v01514335{outline:3px solid rgba(245,158,11,.28);border-radius:22px;background:linear-gradient(135deg,#fffbeb,#fff)}
.spviet-auto-pay-status-v01514335.is-danger{color:#991b1b!important;background:#fff1f2;border:1px solid #fecdd3;border-radius:14px;padding:12px 16px}
.spviet-auto-pay-refund-lock-v01514336{background:linear-gradient(180deg,#fff7ed 0,#fff 190px)!important}
.spviet-auto-pay-refund-page-v01514336{border:2px solid #fed7aa;border-radius:24px;background:rgba(255,255,255,.92);box-shadow:0 22px 60px rgba(146,64,14,.16);padding-top:18px!important}
.spviet-auto-pay-refund-page-v01514336 h1{color:#991b1b!important}
.spviet-auto-pay-refund-page-v01514336 .spviet-auto-pay-kpis-v01514335>div:nth-child(2) strong{color:#dc2626!important}
.spviet-auto-pay-refund-page-v01514336 .spviet-auto-pay-actions-v01514335 .confirm[disabled]{background:#94a3b8!important;color:#fff!important;opacity:.62!important}
.spviet-auto-pay-refund-page-v01514336 .spviet-auto-pay-safe-note-v01514335{border-color:#fca5a5;background:#fff1f2;color:#991b1b}

/* v0.15.14.337 FOLLOW-40M101: VT-330 change dispense / final-clear parity with Retail POS. */
.spviet-order-auto-payment-retail-v01514335.spviet-auto-pay-final-clear-v01514337{background:linear-gradient(180deg,#ecfdf5 0,#fff 190px)!important}
.spviet-auto-pay-change-page-v01514337{border:2px solid #bbf7d0;border-radius:24px;background:rgba(255,255,255,.95);box-shadow:0 22px 60px rgba(5,150,105,.16);padding-top:18px!important}
.spviet-auto-pay-change-page-v01514337 h1{color:#065f46!important}
.spviet-auto-pay-progress-v01514337{max-width:760px;margin:18px auto;border:1px dashed #93c5fd;border-radius:18px;background:#eff6ff;padding:22px;color:#1e3a8a;font-weight:950;display:flex;flex-direction:column;align-items:center;gap:8px}
.spviet-auto-pay-spinner-v01514337{width:42px;height:42px;border-radius:999px;border:5px solid #bfdbfe;border-top-color:#2563eb;animation:spvietAutoPaySpinV01514337 1s linear infinite}
@keyframes spvietAutoPaySpinV01514337{to{transform:rotate(360deg)}}
.spviet-auto-pay-change-error-lock-v01514337{background:linear-gradient(180deg,#fff1f2 0,#fff 190px)!important}
.spviet-auto-pay-change-error-lock-v01514337 .spviet-auto-pay-change-page-v01514337{border-color:#fecdd3;box-shadow:0 22px 60px rgba(153,27,27,.16)}
.spviet-auto-pay-change-error-lock-v01514337 h1{color:#991b1b!important}
.spviet-auto-pay-change-error-lock-v01514337 .spviet-auto-pay-safe-note-v01514335{border-color:#fca5a5;background:#fff1f2;color:#991b1b}

/* v0.15.14.341 FOLLOW-40M104A: Auto Payment screen must sit above cashier payment modal. */
body.spviet-auto-payment-open-v01514341 .spviet-order-cashier-payment-modal{pointer-events:none!important;}
body.spviet-auto-payment-open-v01514341 .spviet-order-auto-payment-retail-v01514335{z-index:2147483647!important;pointer-events:auto!important;}

/* v0.15.14.352 FOLLOW-40M114: VT-330 recovery manager buttons must stay clickable above locked payment modal. */
.spviet-order-auto-payment-retail-v01514335.spviet-auto-pay-manager-recovery-v01514350,
.spviet-order-auto-payment-retail-v01514335 .spviet-auto-pay-recovery-page-v01514338{
  pointer-events:auto!important;
}
.spviet-order-auto-payment-retail-v01514335 .spviet-auto-pay-recovery-page-v01514338 .spviet-auto-pay-actions-v01514335{
  position:relative!important;
  z-index:2147483647!important;
  pointer-events:auto!important;
}
.spviet-order-auto-payment-retail-v01514335 .spviet-auto-pay-recovery-page-v01514338 button,
.spviet-order-auto-payment-retail-v01514335 .spviet-auto-pay-recovery-page-v01514338 input,
.spviet-order-auto-payment-retail-v01514335 .spviet-auto-pay-recovery-page-v01514338 label{
  pointer-events:auto!important;
  touch-action:manipulation;
}
.spviet-order-auto-payment-retail-v01514335 .spviet-auto-pay-recovery-page-v01514338 .spviet-auto-pay-safe-note-v01514335{
  pointer-events:none!important;
}

/* v0.15.14.354 FOLLOW-40M116: absolute click safety for VT-330 Recovery Manager buttons. */
.spviet-order-auto-payment-retail-v01514335.spviet-auto-pay-manager-recovery-v01514350{z-index:2147483647!important;pointer-events:auto!important;isolation:isolate!important;}
.spviet-order-auto-payment-retail-v01514335.spviet-auto-pay-manager-recovery-v01514350 .spviet-auto-pay-page-v01514335{position:relative!important;z-index:2147483647!important;pointer-events:auto!important;}
.spviet-order-auto-payment-retail-v01514335.spviet-auto-pay-manager-recovery-v01514350 [data-vt330-manager-back],
.spviet-order-auto-payment-retail-v01514335.spviet-auto-pay-manager-recovery-v01514350 [data-vt330-manager-open],
.spviet-order-auto-payment-retail-v01514335.spviet-auto-pay-manager-recovery-v01514350 [data-vt330-manager-status],
.spviet-order-auto-payment-retail-v01514335.spviet-auto-pay-manager-recovery-v01514350 [data-vt330-manager-cancel-safe],
.spviet-order-auto-payment-retail-v01514335.spviet-auto-pay-manager-recovery-v01514350 [data-vt330-manager-force-reset]{position:relative!important;z-index:2147483647!important;pointer-events:auto!important;cursor:pointer!important;}


/* v0.15.14.356 FOLLOW-40M118: hard recovery click layer and taskbar-safe controls. */
body.spviet-auto-payment-open-v01514341 .spviet-order-auto-payment-retail-v01514335,
body.spviet-auto-payment-open-v01514341 .spviet-order-auto-payment-retail-v01514335 *{
  pointer-events:auto!important;
}
.spviet-order-auto-payment-retail-v01514335.spviet-auto-pay-manager-recovery-v01514350 .spviet-auto-pay-actions-v01514335{
  position:sticky!important;bottom:0!important;z-index:2147483647!important;background:linear-gradient(180deg,rgba(255,255,255,.76),#fff 45%)!important;
}
.spviet-order-auto-payment-retail-v01514335.spviet-auto-pay-manager-recovery-v01514350 button[data-vt330-manager-force-reset]{
  outline:4px solid rgba(220,38,38,.16)!important;
}
