/* A phone-specific composition. The 768px tablet layout intentionally remains the desktop/tablet TPV. */
body.tpv-phone{overflow-x:hidden;background:#f4f6fa;padding:0 0 calc(72px + env(safe-area-inset-bottom));touch-action:pan-y}
.mobile-tpv-header,.mobile-bottom-nav,.mobile-account-bar,.mobile-more-sheet{display:none}
body.tpv-phone .app-shell{display:block;min-height:100dvh;overflow:visible}
body.tpv-phone .sidebar,body.tpv-phone .topbar,body.tpv-phone .mobile-menu-toggle,body.tpv-phone .mobile-sidebar-backdrop{display:none!important}
body.tpv-phone .main-area{width:100%;min-width:0;min-height:100dvh;padding:0!important;margin:0!important;overflow:visible}
body.tpv-phone .mobile-tpv-header{display:flex;position:sticky;z-index:500;top:0;min-height:64px;align-items:center;gap:12px;padding:8px 14px;background:#0d1830;color:#fff;box-shadow:0 3px 12px #0d183029}
body.tpv-phone .mobile-tpv-header button{width:44px;height:44px;border:0;border-radius:12px;background:#22304d;color:#fff;font-size:32px;line-height:1}
body.tpv-phone .mobile-tpv-header div{display:grid;min-width:0;flex:1}
body.tpv-phone .mobile-tpv-header small{font-size:10px;font-weight:800;letter-spacing:.08em;color:#9eacd0;text-transform:uppercase}
body.tpv-phone .mobile-tpv-header strong{font-size:19px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.tpv-phone .mobile-live{color:#26d17f;font-size:12px}
body.tpv-phone[data-mobile-screen="tables"] .mobile-tpv-header [data-mobile-back]{visibility:hidden}
body.tpv-phone .mobile-bottom-nav{display:grid;position:fixed;z-index:30000;left:0;right:0;bottom:0;grid-template-columns:repeat(5,1fr);height:calc(66px + env(safe-area-inset-bottom));padding:5px 4px env(safe-area-inset-bottom);background:#fff;border-top:1px solid #dce2ec;box-shadow:0 -7px 25px #15213b17}
body.tpv-phone .mobile-bottom-nav button{min-width:0;min-height:56px;border:0;background:transparent;color:#657089;border-radius:11px;display:grid;place-content:center;gap:2px;font:700 10px/1.1 inherit}
body.tpv-phone .mobile-bottom-nav button i{font-style:normal;font-size:23px;line-height:1}
body.tpv-phone .mobile-bottom-nav button.active{color:#1769ff;background:#edf4ff}
body.tpv-phone .tpv-workspace{display:block!important;width:100%;min-height:calc(100dvh - 136px);padding:12px!important;margin:0!important;overflow:visible!important}
body.tpv-phone .floor-column{display:block;min-width:0;width:100%}
body.tpv-phone .zone-tabs,body.tpv-phone .category-row{display:flex!important;gap:8px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none;padding:2px 1px 10px;white-space:nowrap}
body.tpv-phone .zone-tabs::-webkit-scrollbar,body.tpv-phone .category-row::-webkit-scrollbar{display:none}
body.tpv-phone .zone-tabs button,body.tpv-phone .category-row button{flex:0 0 auto;min-height:44px;padding:10px 15px;border-radius:22px}
body.tpv-phone .floor-plan{min-height:0!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
body.tpv-phone .floor-label,body.tpv-phone .floor-plan .decor,body.tpv-phone .floor-table .chair{display:none!important}
body.tpv-phone .floor-tables{position:static!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%;padding:0!important;transform:none!important}
body.tpv-phone .floor-table{position:relative!important;inset:auto!important;transform:none!important;width:100%!important;height:112px!important;min-width:0;border-radius:18px!important;display:grid!important;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-content:center;gap:6px;padding:16px!important;text-align:left;box-shadow:0 5px 18px #18243c14}
body.tpv-phone .floor-table b{font-size:24px;align-self:end}
body.tpv-phone .floor-table b:before{content:'Mesa ';font-size:12px;color:#728099;display:block}
body.tpv-phone .floor-table small{grid-row:2;align-self:start;font-size:12px}
body.tpv-phone .floor-table strong{grid-column:2;grid-row:1/3;align-self:center;font-size:15px}
body.tpv-phone .floor-table.selected{outline:3px solid #1769ff;outline-offset:1px}
body.tpv-phone .floor-table.free:after,body.tpv-phone .floor-table.busy:after,body.tpv-phone .floor-table.alert:after{position:absolute;right:10px;top:9px;border-radius:20px;padding:3px 7px;font-size:9px;font-weight:900;text-transform:uppercase}
body.tpv-phone .floor-table.free:after{content:'Libre';background:#e9fbf1;color:#087743}
body.tpv-phone .floor-table.busy:after{content:'Ocupada';background:#fff4df;color:#9a5b00}
body.tpv-phone .floor-table.alert:after{content:'Ocupada';background:#ffebe9;color:#b42318}
body.tpv-phone .catalog{padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
body.tpv-phone .product-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:11px!important;padding-bottom:86px}
body.tpv-phone .product-card,body.tpv-phone [data-product]{min-height:112px!important;border-radius:17px!important;padding:14px!important;touch-action:manipulation}
body.tpv-phone .quick-actions{display:none!important}
body.tpv-phone .ticket-panel{position:static!important;width:100%!important;max-width:none!important;height:auto!important;min-height:calc(100dvh - 152px);border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important;overflow:visible!important}
body.tpv-phone .ticket-head{position:sticky;top:64px;z-index:20;background:#fff;padding:13px 4px}
body.tpv-phone .ticket-line{grid-template-columns:minmax(0,1fr) auto!important;gap:9px;padding:13px 4px!important}
body.tpv-phone .ticket-line button,body.tpv-phone .ticket-panel button,body.tpv-phone .ticket-panel input,body.tpv-phone .ticket-panel select{min-height:44px}
body.tpv-phone .ticket-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:9px;padding-bottom:10px}
body.tpv-phone .ticket-actions button{padding:12px 8px!important}
body.tpv-phone #send,body.tpv-phone #payBtn{min-height:54px!important;font-size:16px!important}
body.tpv-phone[data-mobile-screen="tables"] .catalog,body.tpv-phone[data-mobile-screen="tables"] .ticket-panel{display:none!important}
body.tpv-phone[data-mobile-screen="products"] .zone-tabs,body.tpv-phone[data-mobile-screen="products"] .floor-plan,body.tpv-phone[data-mobile-screen="products"] .ticket-panel{display:none!important}
body.tpv-phone[data-mobile-screen="account"] .floor-column{display:none!important}
body.tpv-phone[data-mobile-screen="commands"] .tpv-workspace,body.tpv-phone[data-mobile-screen="cash"] .tpv-workspace,body.tpv-phone[data-mobile-screen="more"] .tpv-workspace{display:none!important}
body.tpv-phone .mobile-account-bar{display:flex;position:fixed;z-index:29999;left:12px;right:12px;bottom:calc(74px + env(safe-area-inset-bottom));min-height:54px;align-items:center;justify-content:space-between;padding:0 20px;border:0;border-radius:16px;background:#1769ff;color:#fff;font:900 16px/1 inherit;box-shadow:0 8px 25px #1769ff55}
body.tpv-phone.mobile-product-added .mobile-account-bar{transform:scale(.97);background:#0a56db}
body.tpv-phone .module-page{padding:12px!important;margin:0!important;width:100%;overflow:hidden}
body.tpv-phone .module-head{align-items:flex-start!important;gap:10px}
body.tpv-phone .module-head h1{font-size:24px!important}
body.tpv-phone .kds-grid,body.tpv-phone .module-grid,body.tpv-phone .cards-grid{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
body.tpv-phone .kds-card,body.tpv-phone .module-card{min-width:0!important;border-radius:16px!important}
body.tpv-phone .kds-card button,body.tpv-phone .module-page button{min-height:44px}
body.tpv-phone .mobile-more-sheet{display:block;padding:18px 14px 24px}
body.tpv-phone .mobile-sheet-handle{width:44px;height:5px;border-radius:9px;background:#c8d0dc;margin:0 auto 15px}
body.tpv-phone .mobile-more-sheet h2{margin:0 0 14px;font-size:24px}
body.tpv-phone .mobile-more-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
body.tpv-phone .mobile-more-grid button{min-height:82px;border:1px solid #e0e5ed;border-radius:16px;background:#fff;display:flex;align-items:center;gap:12px;padding:14px;text-align:left;font:800 13px/1.2 inherit}
body.tpv-phone .mobile-more-grid i{font-style:normal;font-size:22px}
body.tpv-phone #runtimePay .rt-back{padding:0!important;align-items:stretch!important}
body.tpv-phone #runtimePay .rt-card{width:100%!important;max-width:none!important;height:100dvh!important;max-height:none!important;border-radius:0!important;padding:calc(12px + env(safe-area-inset-top)) 14px calc(18px + env(safe-area-inset-bottom))!important}
body.tpv-phone #runtimePay .rt-head{position:sticky;top:0;background:#fff;z-index:3}
body.tpv-phone #runtimePay button,body.tpv-phone #runtimePay input,body.tpv-phone #runtimePay select{min-height:44px}
body.tpv-phone #runtimePay .rt-field:has(#rtMethod){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
body.tpv-phone #runtimePay .rt-method-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:14px 0}
body.tpv-phone #runtimePay .rt-method-grid button{border:1px solid #dce3ed;border-radius:13px;background:#f7f9fc;color:#22304d;font-weight:900}
body.tpv-phone #runtimePay .rt-method-grid button.active{background:#1769ff;border-color:#1769ff;color:#fff}
body.tpv-phone .touch-cash-pad button{min-height:54px!important;font-size:20px!important}
body.tpv-phone .modal-card,body.tpv-phone .modal-panel,body.tpv-phone [role="dialog"]{max-width:100%!important}
@media(max-width:374px){body.tpv-phone .floor-tables,body.tpv-phone .product-grid{gap:8px!important}body.tpv-phone .floor-table{height:104px!important;padding:12px!important}body.tpv-phone .mobile-bottom-nav button{font-size:9px}}
@media(orientation:landscape) and (max-height:500px){body.tpv-phone .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}body.tpv-phone .floor-tables{grid-template-columns:repeat(4,minmax(0,1fr))}body.tpv-phone .floor-table{height:92px!important}}
@media(min-width:768px){.mobile-tpv-header,.mobile-bottom-nav,.mobile-account-bar,.mobile-more-sheet{display:none!important}}
