:root{--gold:#D99A2B;--bg:#0b0d12;--panel:#141821;--panel2:#1b202b;--line:#2d3442;--text:#f6f7fb;--muted:#aab1c0;--green:#24c47e;--red:#ff6868;--blue:#54a9ff}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:radial-gradient(circle at top right,#262016,#0b0d12 36%,#08090d);color:var(--text)}.sidebar{position:fixed;inset:0 auto 0 0;width:270px;background:rgba(13,16,23,.96);border-right:1px solid #262c38;padding:22px;display:flex;flex-direction:column;gap:22px;box-shadow:18px 0 60px #0004}.brand{display:flex;gap:12px;align-items:center}.brand strong{display:block}.brand span{display:block;color:#a7adba;font-size:12px;margin-top:2px}.mark{background:linear-gradient(135deg,var(--gold),#ffe09b);color:#17110a;font-weight:950;display:grid;place-items:center;width:48px;height:48px;border-radius:17px;box-shadow:0 10px 30px #d99a2b30}.big{width:68px;height:68px;border-radius:22px;margin:auto}.sidebar nav{display:grid;gap:7px;overflow:auto}.sidebar a{color:#d8dbe2;text-decoration:none;padding:12px 14px;border-radius:14px;font-weight:700}.sidebar a:hover{background:linear-gradient(135deg,#242936,#1a1f2b);color:#fff}.logout{margin-top:auto;color:#ffb4a8!important}.main{margin-left:270px;padding:28px}.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;gap:16px}.top h1{font-size:34px;margin:0;letter-spacing:-.03em}.top p{margin:5px 0 0;color:#aab0bd}.primary,button{border:0;border-radius:14px;background:#242936;color:#fff;padding:11px 16px;font-weight:900;cursor:pointer;text-decoration:none;display:inline-block}.primary{background:linear-gradient(135deg,var(--gold),#f8d98c);color:#17110a;box-shadow:0 10px 30px #d99a2b22}.danger{background:linear-gradient(135deg,#ff5d5d,#c73030)!important;color:#fff!important}input,select{background:#10141d;border:1px solid #343c4c;color:#fff;border-radius:13px;padding:12px;min-height:44px}small,.muted{color:#aab1c0}.cards4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stat,.panel,.mesa-card,.order-card{background:linear-gradient(180deg,rgba(27,32,43,.96),rgba(15,18,26,.98));border:1px solid #2d3442;border-radius:25px;box-shadow:0 18px 70px #0006}.stat{padding:20px}.stat span{color:#aab0bd}.stat b{display:block;font-size:31px;margin-top:8px}.panel{padding:22px;margin-top:18px}.narrow{max-width:720px}.stack{display:grid;gap:14px}.stack label{display:grid;gap:7px;color:#bac0ca}.inline{display:flex;gap:10px;align-items:center;flex-wrap:wrap}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px;border-bottom:1px solid #2b303b}th{color:#aab0bd;font-size:13px}.badge{padding:6px 10px;border-radius:999px;background:#303644;font-size:12px;text-transform:uppercase;font-weight:900}.badge.novo{background:#573b11;color:#ffd38a}.badge.preparo{background:#153e65;color:#9bd4ff}.badge.pronto{background:#174f34;color:#9cffc8}.badge.cancelado{background:#54222b;color:#ffb1bf}.balcao-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.order-card{padding:18px;border-left:5px solid #555}.order-card.novo{border-left-color:var(--gold);animation:pulse 1.2s infinite}.order-head,.mesa-top{display:flex;justify-content:space-between;align-items:center}.order-head strong,.mesa-top h2{font-size:25px;margin:0}.time,.last{color:#9aa1ad}.order-actions,.actions,.status-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.order-actions a,.actions a{background:#242936;color:#fff;text-decoration:none;border-radius:12px;padding:10px 12px;font-weight:800}.status-row button{padding:9px 11px}.status-row.large button{font-size:16px}.mesa-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px}.mesa-card{position:relative;overflow:hidden;padding:18px}.mesa-card:before{content:"";position:absolute;inset:0 0 auto 0;height:5px}.mesa-card.free:before{background:linear-gradient(90deg,#1ed48a,#77ffc0)}.mesa-card.busy:before{background:linear-gradient(90deg,#ffb235,#ff6868)}.mesa-status-band{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:8px 11px;font-size:12px;margin-bottom:13px;font-weight:950}.free .mesa-status-band{background:#0e3b2a;color:#9bffd0}.busy .mesa-status-band{background:#4b2910;color:#ffd09c}.status-dot{width:10px;height:10px;border-radius:50%;background:currentColor;box-shadow:0 0 0 5px rgba(255,255,255,.06)}.mesa-id{background:#242936;color:#bfc5d2;padding:6px 9px;border-radius:999px}.mesa-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.mesa-metrics div{background:#10141d;border:1px solid #2b3240;border-radius:18px;padding:13px}.mesa-metrics small{display:block}.mesa-metrics strong{font-size:21px}.qr{width:150px;height:150px;background:#fff;border-radius:12px;padding:8px;margin:14px 0}.help,.notice{background:#201d14;border:1px solid #55411d;color:#ffd88d;border-radius:16px;padding:13px;margin-bottom:16px}.empty{color:#aab0bd}.receipt-line{background:#11141b;border:1px solid #2b303b;border-radius:18px;padding:14px;margin:12px 0}.right{text-align:right}.form-grid{display:grid;grid-template-columns:1fr 1.4fr .7fr .5fr 1fr auto;gap:10px}.total-box{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#201709,#332511);border:1px solid #5b431d;border-radius:22px;padding:18px;margin-bottom:18px}.total-box span{color:#ffd99a}.total-box b{font-size:34px}.payment-box{margin-top:20px;background:#10141d;border:1px solid #303848;border-radius:22px;padding:18px}.payment-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin:12px 0}.payment-grid label{display:grid;gap:7px;color:#bac0ca}.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top,#242936,#090a0d)}.login-card{width:min(380px,92vw);background:#151821;border:1px solid #333a48;border-radius:28px;padding:30px;box-shadow:0 30px 90px #0008;text-align:center}.login-card h1{margin-bottom:0}.login-card p{color:#aab0bd}.login-card input,.login-card button{width:100%;margin-top:12px}@keyframes pulse{50%{box-shadow:0 0 0 4px rgba(217,154,43,.22),0 18px 60px #0005}}@media(max-width:900px){.sidebar{position:static;width:auto}.main{margin:0;padding:16px}.cards4,.payment-grid{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.top{align-items:flex-start;flex-direction:column}}@media(max-width:560px){.cards4,.payment-grid{grid-template-columns:1fr}.inline input{width:100%}}.settings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.setting-card{background:linear-gradient(180deg,rgba(27,32,43,.96),rgba(15,18,26,.98));border:1px solid #2d3442;border-radius:25px;padding:22px;text-decoration:none;color:#fff;box-shadow:0 18px 70px #0006}.setting-card b{display:block;font-size:22px;margin-bottom:8px}.setting-card span{color:#aab1c0}.attendant-line{background:#10141d;border:1px solid #2b3240;border-radius:14px;padding:10px 12px;color:#c7ccd6;margin-top:12px}.assume-box{margin-bottom:14px}.users-form{grid-template-columns:1fr 1fr 1fr 1fr auto}.compact input{min-width:130px;max-width:160px}.compact button{padding:9px 11px}@media(max-width:900px){.users-form{grid-template-columns:1fr}}

/* Ajustes finais: menu ativo e notificação global */
.sidebar nav a.active{background:linear-gradient(135deg,rgba(217,154,43,.24),rgba(255,224,155,.11));border-color:rgba(217,154,43,.85);color:#fff;box-shadow:inset 3px 0 0 var(--gold),0 10px 28px #0004}.sidebar nav a.active::after{content:'•';float:right;color:var(--gold);font-size:24px;line-height:12px}.admin-toolbar{display:none}.sound-toggle{pointer-events:auto;border:1px solid #343c4d;background:#151a23;color:#e8edf6;border-radius:999px;padding:9px 14px;font-weight:850;box-shadow:0 12px 26px #0003}.sound-toggle.on{border-color:rgba(36,196,126,.65);background:rgba(36,196,126,.13);color:#b9ffd8}.toast-wrap{position:fixed;right:22px;top:22px;z-index:1000;display:flex;flex-direction:column;gap:12px;width:min(360px,calc(100vw - 28px))}.order-toast{opacity:0;transform:translateX(24px) scale(.98);transition:.28s ease;border:1px solid rgba(217,154,43,.5);background:linear-gradient(145deg,#1b202b,#10141d);color:#fff;text-align:left;border-radius:20px;padding:16px 18px;box-shadow:0 18px 55px #0009;cursor:pointer}.order-toast.show{opacity:1;transform:none}.order-toast span{display:inline-block;color:#201507;background:linear-gradient(135deg,var(--gold),#ffe2a1);font-weight:950;border-radius:999px;padding:4px 9px;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.order-toast strong{display:block;font-size:18px;margin-top:9px}.order-toast small{display:block;color:#c8cfda;margin-top:5px;line-height:1.35}.items-preview{color:#cbd2df;line-height:1.45;margin:8px 0 12px}.empty-state{grid-column:1/-1;border:1px dashed #3a4354;border-radius:22px;padding:32px;text-align:center;color:#aab1c0;background:#111722}
@media(max-width:820px){.admin-toolbar{position:relative;margin:0 0 12px}.toast-wrap{top:12px;right:12px}.sidebar nav a.active::after{display:none}}

/* Versão final: ícones e seleção limpa no menu */
.sidebar nav a,.logout{display:flex!important;align-items:center;gap:11px;border:1px solid transparent}
.nav-ico{width:26px;height:26px;display:inline-grid;place-items:center;border-radius:10px;background:rgba(255,255,255,.06);font-size:15px;flex:0 0 26px}.sidebar nav a.active .nav-ico{background:rgba(217,154,43,.22)}
.sidebar nav a.active{background:linear-gradient(135deg,rgba(217,154,43,.28),rgba(217,154,43,.08))!important;border:1px solid rgba(217,154,43,.58)!important;color:#fff!important}.sidebar nav a:not(.active){box-shadow:none!important}.sidebar nav a:not(.active)::after{content:none!important}.sidebar nav a.active::after{margin-left:auto}
.sound-card{display:grid;gap:12px}.sound-card button{justify-self:start}.sound-toggle.on{border-color:rgba(36,196,126,.65);background:rgba(36,196,126,.13);color:#b9ffd8}
.receipt-choice{display:none;position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:2000;place-items:center;padding:18px}.receipt-choice.open{display:grid}.receipt-modal{width:min(460px,94vw);background:#151a23;border:1px solid #343c4d;border-radius:26px;box-shadow:0 24px 90px #0009;padding:24px;text-align:center}.receipt-modal h2{margin:0 0 8px}.receipt-modal p{color:#b9c0cc}.receipt-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.receipt-actions button{font-size:16px}.receipt-actions .no-print{background:#252b37}

/* V4 - permissões, som por engrenagem e pedidos manuais */
.sound-gear{position:fixed;right:22px;top:18px;z-index:1200;width:48px;height:48px;border-radius:18px;display:grid;place-items:center;padding:0;background:linear-gradient(145deg,#151a23,#0f131b);border:1px solid #343c4d;box-shadow:0 16px 45px #0007;font-size:20px;color:#fff}.sound-gear.on{background:linear-gradient(135deg,rgba(36,196,126,.25),rgba(217,154,43,.16));border-color:rgba(36,196,126,.75);box-shadow:0 16px 45px #0007,0 0 0 3px rgba(36,196,126,.12)}
.main{padding-right:86px}.manual-order{background:#10141d;border:1px solid #303848;border-radius:24px;padding:18px;margin-bottom:18px}.manual-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.manual-head h2{margin:0}.manual-head p{margin:5px 0 0;color:#aab1c0}.manual-products{display:none;margin-top:15px}.manual-products.open{display:block}.manual-cats{display:flex;gap:8px;overflow:auto;padding-bottom:10px}.chip{border:1px solid #343c4d;background:#151a23;color:#dce2ee;border-radius:999px;padding:9px 13px;white-space:nowrap}.chip.active{background:linear-gradient(135deg,var(--gold),#f8d98c);color:#17110a;border-color:transparent}.manual-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}.manual-product{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#151a23;border:1px solid #2b3240;border-radius:18px;padding:13px}.manual-product small{display:block;margin-top:4px}.qty-pick{display:flex;align-items:center;gap:6px}.qty-pick input{width:52px;text-align:center;padding:8px;min-height:38px}.qty-pick button{width:36px;height:36px;border-radius:12px;padding:0;background:#242936}.manual-footer{margin-top:14px;display:flex;justify-content:flex-end}.order-actions.pro,.status-row.pro{gap:10px}.order-actions.pro a,.status-row.pro button{border-radius:13px;font-weight:950;min-height:40px}.btn-detail{background:#243146!important;color:#cfe4ff!important;border:1px solid #355179}.btn-print{background:#312916!important;color:#ffe2a1!important;border:1px solid #5b431d}.btn-preparo{background:#153e65!important;color:#9bd4ff!important;border:1px solid #275f92}.btn-pronto{background:#174f34!important;color:#9cffc8!important;border:1px solid #2d8157}.btn-entregue{background:#25302b!important;color:#dbffe9!important;border:1px solid #49735b}.status-row.pro form{margin:0}.sidebar nav a.active::after{content:none!important}.sidebar nav a.active{box-shadow:inset 3px 0 0 var(--gold),0 12px 28px #0004!important}.receipt-line h3{line-height:1.35}.time{font-variant-numeric:tabular-nums}.order-card .time{background:#111722;border:1px solid #29303d;border-radius:999px;display:inline-block;padding:5px 9px;color:#c9d0dc}.notice{position:relative;z-index:2}@media(max-width:900px){.sound-gear{right:14px;top:12px}.main{padding-right:16px}.manual-head{align-items:flex-start;flex-direction:column}.manual-list{grid-template-columns:1fr}}

/* V5 - menu recolhido por padrão e acesso principal sem /admin */
.menu-toggle{position:fixed;left:18px;top:18px;z-index:1500;width:50px;height:50px;border-radius:18px;display:grid;place-items:center;padding:0;background:linear-gradient(145deg,#151a23,#0f131b);border:1px solid #343c4d;box-shadow:0 16px 45px #0007;font-size:24px;color:#fff}.sidebar{transform:translateX(-105%);transition:transform .22s ease;z-index:1400}.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:1300}.sidebar-open .sidebar{transform:translateX(0)}.sidebar-open .sidebar-overlay{display:block}.main{margin-left:0;padding-left:92px}.toast-wrap{top:18px;right:18px}.sound-gear{right:22px;top:18px}.login-page .menu-toggle,.login-page .sidebar-overlay{display:none!important}@media(max-width:900px){.main{padding-left:16px;padding-top:82px}.menu-toggle{left:14px;top:12px}.toast-wrap{top:12px;right:12px}}

/* V6 MOBILE FIX - desktop sidebar normal, mobile offcanvas only */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
input,select,textarea,button{font-size:16px!important}
.menu-toggle{display:none!important}
.sidebar-overlay{display:none!important}
.sidebar{position:fixed!important;inset:0 auto 0 0!important;width:270px!important;transform:none!important;transition:transform .22s ease!important;z-index:1400!important}
.main{margin-left:270px!important;padding:28px!important;padding-right:86px!important;padding-left:28px!important;min-height:100vh!important}
.sound-gear{right:22px!important;top:18px!important}
@media(max-width:900px){
  body{min-height:100vh!important;overflow-x:hidden!important}
  .menu-toggle{display:grid!important;position:fixed!important;left:12px!important;top:10px!important;width:46px!important;height:46px!important;border-radius:15px!important;z-index:1600!important}
  .sidebar{position:fixed!important;inset:0 auto 0 0!important;width:min(286px,86vw)!important;height:100vh!important;max-height:100vh!important;transform:translateX(-108%)!important;padding:76px 18px 18px!important;overflow-y:auto!important;box-shadow:18px 0 60px #0008!important}
  .sidebar-open .sidebar{transform:translateX(0)!important}
  .sidebar-overlay{position:fixed!important;inset:0!important;background:rgba(0,0,0,.56)!important;z-index:1300!important}
  .sidebar-open .sidebar-overlay{display:block!important}
  .main{margin-left:0!important;padding:68px 14px 18px!important;padding-right:14px!important;min-height:100vh!important}
  .top{margin-bottom:14px!important;gap:10px!important}
  .top h1{font-size:26px!important;line-height:1.05!important}
  .top p{font-size:14px!important}
  .panel{padding:16px!important;border-radius:20px!important;margin-top:12px!important}
  .stat,.mesa-card,.order-card{border-radius:20px!important}
  .cards4{grid-template-columns:1fr 1fr!important;gap:10px!important}
  table{display:block!important;overflow-x:auto!important;white-space:nowrap!important}
  th,td{padding:10px!important}
  .balcao-grid,.mesa-grid,.manual-list{grid-template-columns:1fr!important}
  .order-head,.mesa-top,.manual-head{align-items:flex-start!important;gap:10px!important;flex-direction:column!important}
  .order-actions,.status-row,.actions{gap:7px!important}
  .order-actions a,.status-row button,.actions a{flex:1 1 auto!important;text-align:center!important}
  .form-grid,.users-form{grid-template-columns:1fr!important}
  .payment-grid{grid-template-columns:1fr!important}
  .manual-footer{justify-content:stretch!important}.manual-footer button{width:100%!important}
  .toast-wrap{top:10px!important;right:10px!important;left:10px!important;width:auto!important;z-index:1800!important}
  .sound-gear{display:none!important}
}
@media(min-width:901px){
  .sidebar{transform:none!important}
  .main{margin-left:270px!important}
}


/* V7 - Bloqueio de zoom mobile e ajuste de toque */
html,body{overscroll-behavior:none;-webkit-text-size-adjust:100%!important;text-size-adjust:100%!important;touch-action:manipulation!important}
button,a,input,select,textarea,label,.product,.mesa-card,.order-card{touch-action:manipulation!important}
input,select,textarea{font-size:16px!important;line-height:1.25!important}
@media(max-width:900px){html,body{max-width:100vw!important;overflow-x:hidden!important}input,select,textarea,button{font-size:16px!important}}
/* V8 - refinamentos finais solicitados */
.mobile-navbar{display:none}
.balcao-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px;align-items:stretch}.balcao-buttons a,.balcao-buttons button{width:100%;min-height:42px;text-align:center;display:grid;place-items:center;text-decoration:none;border-radius:13px;font-weight:950}.balcao-buttons form{margin:0}.cash-status{display:flex;align-items:center;gap:10px;background:#111722;border:1px solid #2d3442;border-radius:18px;padding:12px 16px;margin-bottom:14px}.cash-status small{margin-left:auto}.dot{width:12px;height:12px;border-radius:50%;display:inline-block}.dot.green{background:#24c47e;box-shadow:0 0 0 4px rgba(36,196,126,.15)}.dot.red{background:#ff6868;box-shadow:0 0 0 4px rgba(255,104,104,.15)}
@media(min-width:901px){.menu-toggle{display:none!important}.mobile-navbar{display:none!important}.sidebar{transform:none!important}.main{margin-left:270px!important;padding:28px!important;padding-right:86px!important}.sidebar-overlay{display:none!important}}
@media(max-width:900px){.mobile-navbar{position:fixed;left:0;right:0;top:0;height:58px;background:rgba(12,15,22,.96);backdrop-filter:blur(14px);border-bottom:1px solid #262c38;z-index:1550;display:flex;align-items:center;gap:10px;padding:8px 12px}.mobile-navbar span{font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-navbar a{margin-left:auto;color:#fff;text-decoration:none;background:#242936;border:1px solid #343c4d;border-radius:12px;padding:9px 11px;font-weight:900}.mobile-navbar .menu-toggle{position:static!important;display:grid!important;width:42px!important;height:42px!important;min-width:42px!important}.main{padding-top:74px!important}.sidebar{padding-top:76px!important}.balcao-buttons{grid-template-columns:repeat(3,minmax(0,1fr))}.cash-status{align-items:flex-start;flex-direction:column}.cash-status small{margin-left:0}}
@media(max-width:430px){.balcao-buttons{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.balcao-buttons a,.balcao-buttons button{font-size:12px!important;padding:8px 4px!important}}
/* permitir gesto de puxar para atualizar no mobile sem liberar zoom */
html,body{overscroll-behavior-y:auto!important;overscroll-behavior-x:none!important}
/* V9 - pedidos como central operacional, modais e relatórios */
.fab{position:fixed;right:24px;bottom:24px;z-index:1200;width:58px;height:58px;border-radius:22px;padding:0;display:grid;place-items:center;font-size:30px;background:linear-gradient(135deg,var(--gold),#f8d98c);color:#17110a;box-shadow:0 18px 50px #0008,0 0 0 4px rgba(217,154,43,.12)}
.mini-modal{position:fixed;inset:0;background:rgba(0,0,0,.64);z-index:2200;display:none;place-items:center;padding:18px}.mini-modal.open{display:grid}.mini-card{width:min(520px,94vw);max-height:90vh;overflow:auto;background:linear-gradient(180deg,#171c26,#0f131b);border:1px solid #343c4d;border-radius:28px;box-shadow:0 28px 100px #000b;padding:24px;position:relative}.mini-card.large{width:min(880px,96vw)}.mini-card h2{margin:0 0 16px}.modal-close{position:absolute;right:14px;top:12px;width:40px;height:40px;border-radius:14px;padding:0;background:#242936;color:#fff;font-size:24px}.modal-products{max-height:46vh;overflow:auto;padding-right:4px}.btn-cancelado{background:#64242a!important;color:#ffd2d8!important;border:1px solid #9b303a!important}.btn-detail,.btn-print,.btn-entregue{white-space:nowrap}.status-row.large.pro{display:flex;flex-wrap:wrap;align-items:center}.status-row.large.pro form{display:inline-flex}.status-row.large.pro button{min-width:120px}.panel label{color:#bac0ca;display:grid;gap:6px}.right{text-align:right}.setting-card:hover,.mesa-card:hover,.order-card:hover{transform:translateY(-1px)}
@media(max-width:900px){.fab{right:16px;bottom:18px;width:54px;height:54px;border-radius:20px}.mini-card{padding:18px;border-radius:24px}.modal-products{max-height:54vh}.status-row.large.pro{display:grid;grid-template-columns:1fr 1fr}.status-row.large.pro button{width:100%;min-width:0}.top .primary{width:auto}.balcao-buttons{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
/* V11 - organização final: sem rolagem lateral no mobile, listas responsivas e FAB textual */
html,body{max-width:100vw;overflow-x:hidden!important} .main,.panel,.mini-card,.mobile-list,.list-card{max-width:100%;min-width:0}.responsive-panel table{display:none}.mobile-list{display:grid;gap:10px}.list-card{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#10141d;border:1px solid #2b3240;border-radius:18px;padding:14px;overflow:hidden}.list-card>div{min-width:0}.list-card b{display:block;overflow:hidden;text-overflow:ellipsis}.list-card small{display:block;color:#aab1c0;margin-top:4px;line-height:1.35}.inline-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.inline-actions form{margin:0}.inline-actions button,.inline-actions a{padding:9px 11px;border-radius:12px;font-size:13px}textarea{background:#10141d;border:1px solid #343c4c;color:#fff;border-radius:13px;padding:12px;min-height:88px;font:inherit;font-size:16px!important}.text-fab{width:auto!important;min-width:132px;padding:0 18px!important;font-size:15px!important;border-radius:18px!important}.form-grid.two{grid-template-columns:1fr 120px}.report-grid{display:grid;grid-template-columns:1fr 1fr auto;gap:14px;align-items:end}.report-actions{display:flex;gap:10px;align-items:center}.report-actions a{color:#fff;text-decoration:none;background:#242936;border-radius:14px;padding:11px 16px;font-weight:900}.date-stat{font-size:20px!important}.detail-link,.tiny-detail{border:0;background:transparent!important;color:#9b6b13!important;padding:4px 0!important;font-weight:900;text-decoration:underline;display:inline-block;margin-top:4px}.details-text{white-space:pre-wrap;line-height:1.5;color:#dfe3eb}.manual-product{max-width:100%;min-width:0}.manual-product>div:first-child{min-width:0}.manual-product strong,.manual-product small{overflow:hidden;text-overflow:ellipsis}.status-row .btn-preparo{background:#153e65!important;color:#9bd4ff!important}.status-row .btn-pronto{background:#174f34!important;color:#9cffc8!important}.status-row .btn-entregue{background:#1f513a!important;color:#bdffd8!important}.status-row .btn-cancelado{background:#9b1c2b!important;color:#fff!important}.balcao-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.balcao-buttons a,.balcao-buttons button{width:100%;text-align:center}.btn-detail{background:#263243!important}.btn-print{background:#4b3715!important;color:#ffdda0!important}.btn-entregue{background:#154d34!important;color:#bffff0!important}
@media(max-width:900px){.main{width:100%;padding-left:12px!important;padding-right:12px!important}.top{gap:8px}.top h1{font-size:28px}.panel{padding:14px;border-radius:20px;overflow:hidden}.cards4,.mesa-grid,.settings-grid{grid-template-columns:1fr!important}.list-card{align-items:flex-start;flex-direction:column}.inline-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.inline-actions button{width:100%}.report-grid{grid-template-columns:1fr}.report-actions{display:grid;grid-template-columns:1fr 1fr}.form-grid.two{grid-template-columns:1fr}.payment-grid{grid-template-columns:1fr!important}.manual-head{display:grid!important;gap:10px}.manual-list,.modal-products{overflow-x:hidden}.manual-product{display:grid!important;grid-template-columns:1fr auto!important;gap:8px}.qty-pick{white-space:nowrap}.qty-pick input{width:44px!important;min-width:44px!important}.mini-modal{padding:10px}.mini-card.large,.mini-card{width:calc(100vw - 20px)!important;max-width:calc(100vw - 20px)!important}.receipt-line table,.panel table{display:block;overflow-x:auto;max-width:100%}.bottom-actions{position:sticky;bottom:0}}
/* V12 - correções mobile, ações e listas */
.sidebar a.active{background:linear-gradient(135deg,var(--gold),#f8d98c)!important;color:#17110a!important;box-shadow:0 10px 32px rgba(217,154,43,.22)}
.pedido-row{cursor:pointer;align-items:stretch}.pedido-row:hover{border-color:rgba(217,154,43,.65);background:#151b26}.pedido-main{flex:1}.pedido-side{display:grid;gap:8px;justify-items:end;min-width:210px}.pedido-side strong{font-size:18px}.compact-actions{min-width:260px}.receipt-list{display:grid;gap:10px}.receipt-row{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #2b3240}.receipt-row span{min-width:0;overflow-wrap:anywhere}.list-tools{display:flex;gap:10px;margin-bottom:14px}.search-input{width:100%;background:#10141d;border:1px solid #343c4c;color:#fff;border-radius:14px;padding:13px 14px;font-size:16px!important}.load-more{margin:16px auto 0;display:inline-flex;justify-content:center}.toast-close{position:absolute;right:8px;top:8px;width:28px;height:28px;border-radius:10px;padding:0;background:#242936!important;color:#fff!important;font-size:18px;line-height:1}.order-toast{position:relative;padding-right:42px!important}.badge.preparo{background:#153e65;color:#9bd4ff}.badge.pronto{background:#174f34;color:#9cffc8}.badge.cancelado{background:#9b1c2b;color:#fff}
@media(max-width:900px){html,body{width:100%!important;max-width:100%!important;overflow-x:hidden!important;touch-action:pan-y}*{max-width:100%;min-width:0}body{position:relative}.main{overflow-x:hidden!important}.panel,.responsive-panel,.mini-modal,.mini-card,.mobile-list,.list-card,.manual-list,.manual-product,form,.stack,label,input,select,textarea,button{max-width:100%!important}input,select,textarea{width:100%!important;min-width:0!important;font-size:16px!important}.pedido-row{display:grid!important;grid-template-columns:1fr!important}.pedido-side{justify-items:stretch;min-width:0;width:100%}.compact-actions{min-width:0;width:100%;grid-template-columns:repeat(3,minmax(0,1fr))!important}.balcao-buttons a,.balcao-buttons button{white-space:normal;overflow-wrap:anywhere}.manual-product{grid-template-columns:minmax(0,1fr) auto!important}.manual-cats{display:flex;overflow-x:auto;max-width:100%;padding-bottom:4px}.mini-card{overflow-x:hidden!important}.inline-actions{grid-template-columns:1fr 1fr}.receipt-row{align-items:flex-start}.status-row.large.pro{grid-template-columns:1fr!important}.status-row.large.pro form{width:100%}.status-row.large.pro button{width:100%}.order-toast{max-width:calc(100vw - 24px)!important}}

/* V13 - correções mobile, QR único e finalização de pedido */
.btn-finalizar{background:linear-gradient(135deg,#1f513a,#2b7a53)!important;color:#d8ffe8!important;border:1px solid #44a873!important}
body.modal-open{overflow:hidden!important;position:fixed!important;width:100%!important;left:0;right:0}
body.modal-open .mini-modal.open{touch-action:none!important}
body.modal-open .mini-card{touch-action:pan-y!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important}
.mini-modal.open{overscroll-behavior:contain!important}
@media(max-width:900px){
  html,body{overflow-x:hidden!important;width:100%!important;max-width:100vw!important;overscroll-behavior-x:none!important}
  .main,.panel,.mini-card,.mini-modal,.mobile-list,.list-card,.manual-list,.manual-product,.manual-cats,.modal-products{max-width:100vw!important;overflow-x:hidden!important}
  .mini-card.large,.mini-card{width:calc(100vw - 20px)!important;max-width:calc(100vw - 20px)!important;margin:0 auto!important}
  .manual-cats{display:flex!important;gap:8px;overflow-x:auto!important;overflow-y:hidden!important;padding:2px 0 10px!important;scrollbar-width:none}
  .manual-cats .chip{flex:0 0 auto!important;min-width:92px!important;max-width:150px!important;white-space:normal!important;line-height:1.15!important;text-align:center!important;padding:10px 12px!important;overflow-wrap:anywhere!important}
  .manual-list{grid-template-columns:1fr!important}
  .manual-product{grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;width:100%!important}
  .manual-product strong,.manual-product small{white-space:normal!important;overflow-wrap:anywhere!important;text-overflow:clip!important}
  .qty-pick{display:grid!important;grid-template-columns:36px 46px 36px!important;gap:5px!important;align-items:center!important;min-width:128px!important}
  .qty-pick input{width:46px!important;min-width:46px!important;padding:6px!important;text-align:center!important}
  .compact-actions{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .btn-finalizar{width:100%!important;font-size:12px!important;padding:8px 4px!important}
}


/* V15 - PrimeDesk PDV Profissional */
:root{
  --pdv-bg:#070a0f;
  --pdv-card:#111722;
  --pdv-card2:#182131;
  --pdv-line:#263248;
  --pdv-soft:#edf1f7;
  --pdv-text:#f8fafc;
  --pdv-muted:#98a4b8;
  --pdv-success:#20c784;
  --pdv-warning:#f4b740;
  --pdv-danger:#ef4444;
  --pdv-info:#38bdf8;
}
body{
  background:
    radial-gradient(circle at 85% 0%, rgba(217,154,43,.20), transparent 28%),
    radial-gradient(circle at 10% 15%, rgba(56,189,248,.12), transparent 24%),
    linear-gradient(135deg,#070a0f 0%,#0d111a 45%,#0a0d13 100%)!important;
}
.sidebar{
  background:linear-gradient(180deg,rgba(10,14,22,.98),rgba(8,11,18,.98))!important;
  border-right:1px solid rgba(255,255,255,.08)!important;
}
.brand{padding:10px;border:1px solid rgba(255,255,255,.06);border-radius:22px;background:rgba(255,255,255,.035)}
.mark{width:52px!important;height:52px!important;border-radius:18px!important;font-size:16px!important;letter-spacing:-.04em}
.sidebar a{
  display:flex;align-items:center;gap:10px;
  border:1px solid transparent;
  color:#cbd5e1!important;
}
.sidebar a.active{
  background:linear-gradient(135deg,rgba(217,154,43,.22),rgba(217,154,43,.08))!important;
  border-color:rgba(217,154,43,.35)!important;
  color:#fff!important;
  box-shadow:0 12px 34px rgba(217,154,43,.12);
}
.nav-ico{width:25px;text-align:center}
.main{max-width:1480px}
.top{
  background:linear-gradient(135deg,rgba(255,255,255,.07),rgba(255,255,255,.025));
  border:1px solid rgba(255,255,255,.08);
  border-radius:30px;
  padding:22px;
  box-shadow:0 22px 70px rgba(0,0,0,.22);
}
.top h1{font-size:38px}
.panel,.stat,.mesa-card,.order-card,.setting-card,.list-card{
  border:1px solid rgba(255,255,255,.08)!important;
  box-shadow:0 22px 70px rgba(0,0,0,.24)!important;
}
.stat{
  position:relative;overflow:hidden;
  background:linear-gradient(145deg,rgba(24,33,49,.97),rgba(12,17,27,.98))!important;
}
.stat:before{
  content:"";position:absolute;right:-35px;top:-35px;width:110px;height:110px;border-radius:999px;
  background:rgba(217,154,43,.12);
}
.stat span{text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:900}
.stat b{font-size:34px}
.pdv-metrics .stat:nth-child(2):before{background:rgba(32,199,132,.12)}
.pdv-metrics .stat:nth-child(3):before{background:rgba(56,189,248,.12)}
.pdv-metrics .stat:nth-child(4):before{background:rgba(244,183,64,.13)}
.pdv-cash-status{
  background:linear-gradient(135deg,rgba(17,23,34,.96),rgba(24,33,49,.88))!important;
  border:1px solid rgba(255,255,255,.09)!important;
  border-radius:28px!important;
  padding:18px 22px!important;
  margin-bottom:18px!important;
  display:flex!important;align-items:center!important;gap:12px!important;flex-wrap:wrap!important;
}
.pdv-cash-status b{font-size:18px}
.pdv-cash-status small{margin-left:auto}
.dot{width:13px;height:13px;border-radius:999px;display:inline-block;box-shadow:0 0 0 6px rgba(255,255,255,.05)}
.dot.green{background:var(--pdv-success);box-shadow:0 0 0 6px rgba(32,199,132,.15)}
.dot.red{background:var(--pdv-danger);box-shadow:0 0 0 6px rgba(239,68,68,.15)}
.section-title{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}
.section-title h2{margin:0}
.section-title p{margin:5px 0 0;color:var(--pdv-muted)}
.list-card{
  background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.025))!important;
  border-radius:20px!important;
  transition:.16s ease;
}
.list-card:hover{transform:translateY(-1px);border-color:rgba(217,154,43,.35)!important}
.pedido-row{cursor:pointer}
.badge{
  border-radius:999px!important;
  padding:7px 10px!important;
  font-size:12px!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.04em!important;
}
.badge.novo{background:rgba(56,189,248,.16)!important;color:#7dd3fc!important}
.badge.preparo{background:rgba(244,183,64,.16)!important;color:#facc15!important}
.badge.pronto{background:rgba(32,199,132,.15)!important;color:#86efac!important}
.badge.entregue{background:rgba(148,163,184,.14)!important;color:#cbd5e1!important}
.badge.cancelado{background:rgba(239,68,68,.16)!important;color:#fca5a5!important}
.btn-finalizar{background:linear-gradient(135deg,#20c784,#11975f)!important;color:#06130d!important}
.btn-print{background:linear-gradient(135deg,#38bdf8,#0ea5e9)!important;color:#031018!important}
.btn-detail{background:#293244!important;color:#fff!important}
.btn-preparo{background:linear-gradient(135deg,#f4b740,#d98a16)!important;color:#1a1004!important}
.btn-pronto{background:linear-gradient(135deg,#38bdf8,#0ea5e9)!important;color:#031018!important}
.btn-entregue{background:linear-gradient(135deg,#20c784,#11975f)!important;color:#06130d!important}
.btn-cancelado{background:linear-gradient(135deg,#ef4444,#b91c1c)!important;color:#fff!important}
.mesa-grid.pdv-floor{grid-template-columns:repeat(auto-fill,minmax(265px,1fr))!important}
.mesa-card{
  position:relative;overflow:hidden;
  background:linear-gradient(150deg,rgba(24,33,49,.98),rgba(12,17,27,.98))!important;
}
.mesa-card.free{border-color:rgba(32,199,132,.32)!important}
.mesa-card.busy{border-color:rgba(244,183,64,.34)!important}
.mesa-status-band{
  display:flex;gap:8px;align-items:center;padding:9px 11px;border-radius:999px;
  background:rgba(255,255,255,.06);width:max-content;margin-bottom:12px
}
.mesa-card.free .status-dot{background:var(--pdv-success)}
.mesa-card.busy .status-dot{background:var(--pdv-warning)}
.status-dot{width:10px;height:10px;border-radius:999px;display:inline-block}
.mesa-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}
.mesa-metrics div{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.07);border-radius:18px;padding:12px}
.mesa-metrics small{display:block;text-transform:uppercase;letter-spacing:.05em;font-size:11px}
.mesa-metrics strong{display:block;margin-top:4px;font-size:18px}
.login-page.pdv-login{
  min-height:100vh;display:grid;place-items:center;padding:22px;
  background:
    radial-gradient(circle at 15% 10%, rgba(56,189,248,.16), transparent 28%),
    radial-gradient(circle at 80% 0%, rgba(217,154,43,.20), transparent 30%),
    linear-gradient(135deg,#06080d,#101827)!important;
}
.login-shell{width:min(1040px,100%);display:grid;grid-template-columns:1.15fr .85fr;gap:22px;align-items:stretch}
.login-hero,.login-card{
  border:1px solid rgba(255,255,255,.10)!important;border-radius:32px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.035))!important;
  box-shadow:0 28px 90px rgba(0,0,0,.35)!important;
}
.login-hero{padding:36px;color:#fff;display:flex;flex-direction:column;justify-content:center}
.login-hero .eyebrow{color:#f8d788;text-transform:uppercase;letter-spacing:.08em;font-weight:950;font-size:12px;margin-top:18px}
.login-hero h1{font-size:44px;line-height:1.02;margin:12px 0;letter-spacing:-.04em}
.login-hero p{color:#cbd5e1;line-height:1.55;max-width:560px}
.login-features{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.login-features span{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.10);border-radius:999px;padding:9px 12px;font-weight:900;color:#e5e7eb}
.login-card{padding:28px!important;display:flex!important;flex-direction:column!important;gap:14px!important;justify-content:center!important}
.login-card-head strong{font-size:24px;display:block}.login-card-head small{color:#aab1c0}
.login-card label{display:grid;gap:7px;color:#dbe3ef;font-weight:800}
.login-card input{width:100%;background:rgba(5,8,13,.72)!important}
.login-card button{min-height:52px;background:linear-gradient(135deg,var(--gold),#f8d98c)!important;color:#17110a!important;font-size:16px!important}
.fab{
  background:linear-gradient(135deg,var(--gold),#f8d98c)!important;color:#17110a!important;
  box-shadow:0 18px 45px rgba(217,154,43,.28)!important;
}
@media(max-width:800px){
  .login-shell{grid-template-columns:1fr}
  .login-hero{display:none}
  .main{padding:76px 12px 24px!important;margin-left:0!important;width:100%!important}
  .top{padding:16px;border-radius:22px}
  .top h1{font-size:28px}
  .cards4{grid-template-columns:1fr 1fr!important}
  .pdv-cash-status small{margin-left:0;width:100%}
  .section-title{align-items:flex-start;flex-direction:column}
  .mobile-navbar{
    background:rgba(8,11,18,.96)!important;
    border-bottom:1px solid rgba(255,255,255,.08)!important;
    backdrop-filter:blur(12px)
  }
}
@media(max-width:520px){
  .cards4{grid-template-columns:1fr!important}
}

/* V15 - Modal de venda com cara de PDV */
.modal-products{
  max-height:52vh;overflow:auto;padding-right:4px;display:grid;gap:10px;
}
.manual-product{
  background:rgba(255,255,255,.045)!important;border:1px solid rgba(255,255,255,.08)!important;
  border-radius:18px!important;padding:12px!important;align-items:center!important;
}
.qty-pick{display:grid!important;grid-template-columns:38px 54px 38px!important;gap:6px!important;align-items:center!important}
.qty-pick input{text-align:center!important;padding:8px!important;min-height:38px!important}
.qty-pick button{height:38px!important;padding:0!important;border-radius:12px!important}
.mini-card.large{max-width:900px!important}
.manual-cats{
  display:flex!important;gap:8px!important;overflow:auto!important;padding-bottom:8px!important;max-width:100%!important;
}
.manual-cats .chip{white-space:normal!important;min-width:max-content!important;max-width:180px!important}
@media(max-width:700px){
  .mini-modal{padding:10px!important;align-items:flex-end!important}
  .mini-card{width:100%!important;max-width:100%!important;max-height:92svh!important;overflow:auto!important;border-radius:24px 24px 0 0!important}
  .manual-product{grid-template-columns:minmax(0,1fr)!important;gap:10px!important}
  .qty-pick{width:100%;grid-template-columns:44px minmax(0,1fr) 44px!important}
  .modal-products{max-height:48vh!important}
}


/* V16 - Correção real do modal Novo Pedido no navegador mobile */
html,body{
  overscroll-behavior-y:auto!important;
}
body.no-pull-refresh{
  overscroll-behavior-y:auto!important;
}
.order-modal.open{
  display:flex!important;
}
.order-modal .new-order-card{
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
.new-order-form{
  display:flex!important;
  flex-direction:column!important;
  min-height:0!important;
  gap:12px!important;
}
.new-order-form label{
  flex:0 0 auto!important;
}
.new-order-form select{
  width:100%!important;
}
.new-order-form .manual-cats{
  flex:0 0 auto!important;
  display:flex!important;
  gap:8px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:2px 0 10px!important;
  scrollbar-width:none!important;
}
.new-order-form .manual-cats::-webkit-scrollbar{display:none!important}
.new-order-form .manual-cats .chip{
  flex:0 0 auto!important;
  min-width:auto!important;
  max-width:none!important;
  white-space:nowrap!important;
  line-height:1.15!important;
  padding:11px 15px!important;
  border-radius:999px!important;
}
.new-order-form .manual-list.modal-products{
  flex:1 1 auto!important;
  min-height:220px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:4px 2px 92px 0!important;
  display:grid!important;
  gap:10px!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior:contain!important;
}
.new-order-form .manual-product{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:12px!important;
  align-items:center!important;
  min-height:76px!important;
  height:auto!important;
  overflow:visible!important;
  border-radius:18px!important;
  padding:13px!important;
}
.new-order-form .manual-product > div:first-child{
  min-width:0!important;
  overflow:visible!important;
}
.new-order-form .manual-product strong{
  display:block!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  line-height:1.25!important;
  font-size:15px!important;
}
.new-order-form .manual-product small{
  display:block!important;
  white-space:normal!important;
  line-height:1.25!important;
  margin-top:4px!important;
}
.new-order-form .qty-pick{
  display:grid!important;
  grid-template-columns:38px 48px 38px!important;
  gap:6px!important;
  align-items:center!important;
  flex:0 0 auto!important;
}
.new-order-form .qty-pick input{
  width:48px!important;
  min-width:0!important;
  text-align:center!important;
  padding:8px 4px!important;
}
.new-order-form .qty-pick button{
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  padding:0!important;
}
.new-order-footer{
  position:sticky!important;
  bottom:0!important;
  z-index:8!important;
  background:linear-gradient(180deg,rgba(17,23,34,0),rgba(17,23,34,.98) 28%,rgba(17,23,34,1))!important;
  padding:18px 0 0!important;
  margin-top:-80px!important;
}
.new-order-footer .primary{
  width:100%!important;
  min-height:54px!important;
  border-radius:18px!important;
  font-size:16px!important;
}

@media(max-width:700px){
  .order-modal{
    align-items:flex-end!important;
    padding:0!important;
  }
  .order-modal .new-order-card{
    width:100vw!important;
    max-width:100vw!important;
    height:calc(100svh - 12px)!important;
    max-height:calc(100svh - 12px)!important;
    border-radius:26px 26px 0 0!important;
    padding:20px!important;
  }
  .order-modal .new-order-card h2{
    font-size:28px!important;
    margin:0 56px 14px 0!important;
  }
  .order-modal .modal-close{
    position:absolute!important;
    top:16px!important;
    right:16px!important;
    z-index:10!important;
  }
  .new-order-form{
    height:100%!important;
  }
  .new-order-form label{
    display:grid!important;
    gap:8px!important;
    font-size:16px!important;
  }
  .new-order-form .manual-list.modal-products{
    min-height:0!important;
    max-height:none!important;
  }
  .new-order-form .manual-product{
    grid-template-columns:minmax(0,1fr)!important;
    gap:10px!important;
  }
  .new-order-form .qty-pick{
    grid-template-columns:44px minmax(0,1fr) 44px!important;
    width:100%!important;
  }
  .new-order-form .qty-pick input{
    width:100%!important;
  }
}

/* Remover qualquer comportamento visual de pull-to-refresh customizado */
.pull-refresh,.ptr,.refresh-indicator{display:none!important}


/* V17 - Novo Pedido mobile corrigido de verdade: sem sobreposição */
.order-modal .new-order-card{
  background:#121822!important;
}
.order-modal .new-order-form{
  gap:14px!important;
}
.order-modal .new-order-form label{
  color:#d7deea!important;
  font-weight:800!important;
}
.order-modal .new-order-form select{
  background:#0d121b!important;
  border:1px solid #374154!important;
  border-radius:18px!important;
  min-height:52px!important;
}
.order-modal .manual-cats{
  display:flex!important;
  gap:10px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:4px 0 12px!important;
  margin:0!important;
  max-width:100%!important;
  scrollbar-width:none!important;
}
.order-modal .manual-cats::-webkit-scrollbar{display:none!important}
.order-modal .manual-cats .chip{
  flex:0 0 auto!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:auto!important;
  max-width:none!important;
  height:48px!important;
  white-space:nowrap!important;
  padding:0 18px!important;
  border-radius:999px!important;
  font-size:16px!important;
  line-height:1!important;
}
.order-modal .manual-list.modal-products{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:12px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior:contain!important;
  padding:2px 0 96px!important;
}
.order-modal .manual-product{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  gap:12px!important;
  width:100%!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  padding:16px!important;
  overflow:visible!important;
  border-radius:22px!important;
  background:linear-gradient(180deg,#1b222d,#171d27)!important;
  border:1px solid #354052!important;
  box-shadow:none!important;
}
.order-modal .manual-product > div:first-child{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:visible!important;
}
.order-modal .manual-product strong{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  word-break:normal!important;
  overflow-wrap:anywhere!important;
  line-height:1.25!important;
  font-size:17px!important;
  color:#f8fafc!important;
  margin:0!important;
}
.order-modal .manual-product small{
  display:block!important;
  width:100%!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  line-height:1.35!important;
  color:#aab4c5!important;
  font-size:15px!important;
  margin-top:7px!important;
}
.order-modal .qty-pick{
  position:static!important;
  display:grid!important;
  grid-template-columns:54px minmax(0,1fr) 54px!important;
  gap:12px!important;
  width:100%!important;
  max-width:100%!important;
  align-items:center!important;
  margin:0!important;
  transform:none!important;
}
.order-modal .qty-pick button,
.order-modal .qty-pick input{
  position:static!important;
  transform:none!important;
  margin:0!important;
  top:auto!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
}
.order-modal .qty-pick button{
  width:54px!important;
  min-width:54px!important;
  height:48px!important;
  border-radius:16px!important;
  background:#252e3d!important;
  color:#fff!important;
  font-size:24px!important;
  line-height:1!important;
  display:grid!important;
  place-items:center!important;
}
.order-modal .qty-pick input{
  width:100%!important;
  min-width:0!important;
  height:48px!important;
  border-radius:16px!important;
  text-align:center!important;
  background:#101722!important;
  border:1px solid #3a4456!important;
  color:#fff!important;
  font-size:18px!important;
  padding:0!important;
}
.order-modal .new-order-footer{
  position:sticky!important;
  bottom:0!important;
  z-index:20!important;
  padding:18px 0 0!important;
  margin:0!important;
  background:linear-gradient(180deg,rgba(18,24,34,0),#121822 34%,#121822)!important;
}
.order-modal .new-order-footer .primary{
  width:100%!important;
  height:58px!important;
  border-radius:20px!important;
  font-size:18px!important;
}

@media(max-width:700px){
  .order-modal .new-order-card{
    height:calc(100svh - 14px)!important;
    max-height:calc(100svh - 14px)!important;
    width:100vw!important;
    max-width:100vw!important;
    padding:22px!important;
    border-radius:28px 28px 0 0!important;
  }
  .order-modal .new-order-card h2{
    font-size:30px!important;
    line-height:1.05!important;
    margin:0 64px 18px 0!important;
  }
  .order-modal .new-order-form{
    height:calc(100% - 56px)!important;
    min-height:0!important;
  }
  .order-modal .manual-list.modal-products{
    flex:1 1 auto!important;
    min-height:0!important;
    max-height:none!important;
  }
}

/* iPhone Safari: impedir herança antiga que fazia os controles flutuarem sobre o card */
@supports (-webkit-touch-callout:none){
  .order-modal .manual-product,
  .order-modal .qty-pick,
  .order-modal .qty-pick *{
    transform:none!important;
  }
}


/* V18 - Modal de pedido unificado usando modelo das mesas */
.order-modal .new-order-card{
  background:linear-gradient(180deg,#131a25,#0f141d)!important;
}
.order-modal .manual-products{
  display:flex!important;
  flex-direction:column!important;
  height:100%!important;
  min-height:0!important;
}
.order-modal .manual-list{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:12px!important;
  padding:4px 0 96px!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
}
.order-modal .manual-product{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:12px!important;
  padding:16px!important;
  border-radius:22px!important;
  background:#1a222e!important;
  border:1px solid #354052!important;
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
}
.order-modal .manual-product strong,
.order-modal .manual-product small{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:anywhere!important;
}
.order-modal .qty-pick{
  display:grid!important;
  grid-template-columns:54px minmax(0,1fr) 54px!important;
  gap:12px!important;
  width:100%!important;
  position:static!important;
}
.order-modal .qty-pick button{width:54px!important;height:48px!important;border-radius:16px!important}
.order-modal .qty-pick input{width:100%!important;height:48px!important;text-align:center!important;border-radius:16px!important}
.order-modal .manual-cats{
  display:flex!important;
  gap:10px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:2px 0 12px!important;
  scrollbar-width:none!important;
}
.order-modal .manual-cats::-webkit-scrollbar{display:none!important}
.order-modal .manual-cats .chip{
  flex:0 0 auto!important;
  white-space:nowrap!important;
  max-width:none!important;
  min-width:auto!important;
  height:48px!important;
  padding:0 18px!important;
}
.order-modal .new-order-footer{
  position:sticky!important;
  bottom:0!important;
  z-index:8!important;
  background:linear-gradient(180deg,rgba(15,20,29,0),#0f141d 36%,#0f141d)!important;
  padding:18px 0 0!important;
}
@media(max-width:700px){
  .order-modal .new-order-card{
    width:100vw!important;
    max-width:100vw!important;
    height:calc(100svh - 12px)!important;
    max-height:calc(100svh - 12px)!important;
    border-radius:28px 28px 0 0!important;
    padding:22px!important;
  }
}


/* V19 - NOVO PEDIDO DEFINITIVO: classes isoladas sem conflito com layouts antigos */
.pdv-order-modal.open{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:16px!important;
}
.pdv-order-card{
  width:min(920px,96vw)!important;
  height:min(780px,92svh)!important;
  max-height:92svh!important;
  overflow:hidden!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  gap:0!important;
  background:#111823!important;
  border:1px solid #344052!important;
  border-radius:28px!important;
  padding:22px!important;
  box-shadow:0 28px 90px rgba(0,0,0,.58)!important;
  position:relative!important;
}
.pdv-order-card h2{
  margin:0 64px 18px 0!important;
  font-size:32px!important;
  line-height:1.1!important;
  color:#fff!important;
}
.pdv-order-card .modal-close{
  position:absolute!important;
  top:18px!important;
  right:18px!important;
  z-index:30!important;
  width:52px!important;
  height:52px!important;
  border-radius:18px!important;
}
.pdv-order-form{
  min-height:0!important;
  height:100%!important;
  display:grid!important;
  grid-template-rows:auto auto minmax(0,1fr) auto!important;
  gap:12px!important;
  overflow:hidden!important;
}
.pdv-order-form label{
  display:grid!important;
  gap:8px!important;
  margin:0!important;
  color:#dbe3ef!important;
  font-weight:800!important;
  font-size:15px!important;
}
.pdv-order-form select{
  width:100%!important;
  min-height:52px!important;
  border-radius:18px!important;
  background:#0b111a!important;
  border:1px solid #364154!important;
  color:#fff!important;
  font-size:16px!important;
  padding:0 14px!important;
}
.pdv-order-cats{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:10px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:0 0 10px!important;
  margin:0!important;
  max-width:100%!important;
  scrollbar-width:none!important;
  -webkit-overflow-scrolling:touch!important;
}
.pdv-order-cats::-webkit-scrollbar{display:none!important}
.pdv-order-cats .chip{
  flex:0 0 auto!important;
  width:auto!important;
  min-width:auto!important;
  max-width:none!important;
  height:48px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
  padding:0 18px!important;
  border-radius:999px!important;
  font-size:16px!important;
  line-height:1!important;
}
.pdv-order-list{
  min-height:0!important;
  height:100%!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  gap:12px!important;
  padding:2px 2px 8px!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
}
.pdv-order-item{
  flex:0 0 auto!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 176px!important;
  gap:14px!important;
  align-items:center!important;
  background:linear-gradient(180deg,#1b2330,#171e2a)!important;
  border:1px solid #354052!important;
  border-radius:20px!important;
  padding:14px!important;
  margin:0!important;
  height:auto!important;
  min-height:86px!important;
  overflow:visible!important;
  transform:none!important;
  position:relative!important;
}
.pdv-order-item[hidden]{
  display:none!important;
}
.pdv-order-item > div:first-child{
  min-width:0!important;
  overflow:visible!important;
}
.pdv-order-item strong{
  display:block!important;
  width:100%!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  line-height:1.25!important;
  font-size:17px!important;
  color:#f8fafc!important;
  margin:0!important;
}
.pdv-order-item small{
  display:block!important;
  white-space:normal!important;
  overflow:visible!important;
  overflow-wrap:anywhere!important;
  line-height:1.3!important;
  font-size:14px!important;
  color:#a9b4c5!important;
  margin-top:6px!important;
}
.pdv-qty{
  width:176px!important;
  min-width:176px!important;
  display:grid!important;
  grid-template-columns:46px 1fr 46px!important;
  gap:8px!important;
  align-items:center!important;
  position:static!important;
  transform:none!important;
  margin:0!important;
  padding:0!important;
}
.pdv-qty button,
.pdv-qty input{
  position:static!important;
  top:auto!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  transform:none!important;
  margin:0!important;
}
.pdv-qty button{
  width:46px!important;
  min-width:46px!important;
  height:44px!important;
  border-radius:15px!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  background:#252e3d!important;
  color:#fff!important;
  font-size:24px!important;
  line-height:1!important;
}
.pdv-qty input{
  width:100%!important;
  min-width:0!important;
  height:44px!important;
  border-radius:15px!important;
  padding:0!important;
  text-align:center!important;
  background:#0e1520!important;
  border:1px solid #3a4558!important;
  color:#fff!important;
  font-size:18px!important;
}
.pdv-order-footer{
  padding-top:12px!important;
  margin:0!important;
  background:#111823!important;
}
.pdv-order-footer .primary{
  width:100%!important;
  height:58px!important;
  border-radius:20px!important;
  font-size:18px!important;
}
@media(max-width:760px){
  .pdv-order-modal{
    padding:0!important;
    align-items:flex-end!important;
  }
  .pdv-order-card{
    width:100vw!important;
    max-width:100vw!important;
    height:calc(100svh - 8px)!important;
    max-height:calc(100svh - 8px)!important;
    border-radius:28px 28px 0 0!important;
    padding:20px!important;
  }
  .pdv-order-card h2{
    font-size:30px!important;
    margin:0 62px 16px 0!important;
  }
  .pdv-order-form{
    grid-template-rows:auto auto minmax(0,1fr) auto!important;
  }
  .pdv-order-item{
    grid-template-columns:1fr!important;
    gap:12px!important;
    min-height:0!important;
    padding:15px!important;
  }
  .pdv-qty{
    width:100%!important;
    min-width:0!important;
    grid-template-columns:54px minmax(0,1fr) 54px!important;
  }
  .pdv-qty button{
    width:54px!important;
    min-width:54px!important;
    height:48px!important;
  }
  .pdv-qty input{
    height:48px!important;
  }
}


/* V20 - Fluxo de operação profissional */
.operation-guide h2{margin-top:0}
.operation-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.operation-grid div{background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:16px}
.operation-grid b{display:block;color:#fff;margin-bottom:6px}
.operation-grid span{display:block;color:#aab1c0;line-height:1.4;font-size:13px}
@media(max-width:900px){.operation-grid{grid-template-columns:1fr 1fr}}
@media(max-width:540px){.operation-grid{grid-template-columns:1fr}}





/* V23 - Mesas compactas no celular: 3 por linha */
@media(max-width:700px){
  .mesa-grid.premium,
  .mesa-grid.pdv-floor{
    display:grid!important;
    grid-template-columns:repeat(3, minmax(0,1fr))!important;
    gap:8px!important;
  }
  .mesa-grid.premium .mesa-card,
  .mesa-grid.pdv-floor .mesa-card{
    min-height:0!important;
    border-radius:16px!important;
    padding:10px 6px!important;
    text-align:center!important;
  }
  .mesa-grid.premium .mesa-status-band,
  .mesa-grid.pdv-floor .mesa-status-band{
    margin:0 auto 6px!important;
    padding:5px 7px!important;
    font-size:9px!important;
    gap:4px!important;
  }
  .mesa-grid.premium .status-dot,
  .mesa-grid.pdv-floor .status-dot{
    width:7px!important;height:7px!important;
  }
  .mesa-grid.premium .mesa-top,
  .mesa-grid.pdv-floor .mesa-top{
    display:block!important;
    margin:0!important;
  }
  .mesa-grid.premium .mesa-top h2,
  .mesa-grid.pdv-floor .mesa-top h2{
    font-size:16px!important;
    margin:2px 0!important;
    line-height:1.05!important;
  }
  .mesa-grid.premium .mesa-id,
  .mesa-grid.pdv-floor .mesa-id,
  .mesa-grid.premium .attendant-line,
  .mesa-grid.pdv-floor .attendant-line,
  .mesa-grid.premium .mesa-metrics,
  .mesa-grid.pdv-floor .mesa-metrics,
  .mesa-grid.premium .last,
  .mesa-grid.pdv-floor .last{
    display:none!important;
  }
  .mesa-grid.premium .actions,
  .mesa-grid.pdv-floor .actions{
    margin-top:8px!important;
  }
  .mesa-grid.premium .actions .primary,
  .mesa-grid.pdv-floor .actions .primary{
    padding:7px 6px!important;
    border-radius:11px!important;
    font-size:11px!important;
    width:100%!important;
  }
}


/* V24 - Pagamento em modal profissional na mesa */
.payment-action-center{
  display:flex;
  justify-content:center;
  align-items:center;
  margin:22px 0 8px;
}
.payment-open-btn{
  min-width:220px;
  min-height:56px;
  border-radius:20px!important;
  font-size:18px!important;
  box-shadow:0 18px 45px rgba(217,154,43,.22)!important;
}
.payment-modal-pro{
  position:fixed;
  inset:0;
  z-index:90;
  display:none;
  align-items:center;
  justify-content:center;
  background:rgba(0,0,0,.68);
  padding:18px;
}
.payment-modal-pro.open{
  display:flex;
}
.payment-modal-card{
  width:min(520px,96vw);
  max-height:92svh;
  overflow:auto;
  background:linear-gradient(180deg,#151c28,#0f141d);
  border:1px solid rgba(255,255,255,.10);
  border-radius:30px;
  box-shadow:0 30px 100px rgba(0,0,0,.62);
  padding:24px;
  position:relative;
}
.payment-modal-close{
  position:absolute;
  right:16px;
  top:16px;
  width:46px;
  height:46px;
  border-radius:16px;
  border:0;
  background:#263144;
  color:#fff;
  font-size:28px;
  display:grid;
  place-items:center;
}
.payment-modal-head{
  padding-right:54px;
  margin-bottom:18px;
}
.payment-modal-head span{
  display:inline-flex;
  background:rgba(217,154,43,.13);
  color:#f8d788;
  border:1px solid rgba(217,154,43,.24);
  border-radius:999px;
  padding:7px 10px;
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-bottom:10px;
}
.payment-modal-head h2{
  margin:0 0 6px;
  color:#fff;
  font-size:30px;
  letter-spacing:-.03em;
}
.payment-modal-head p{
  margin:0;
  color:#aab4c5;
  line-height:1.45;
}
.payment-form-pro{
  display:grid;
  gap:14px;
}
.payment-form-pro label{
  display:grid;
  gap:8px;
  color:#dbe3ef;
  font-weight:850;
}
.payment-form-pro input,
.payment-form-pro select{
  width:100%!important;
  min-height:52px!important;
  border-radius:18px!important;
  background:#0a1018!important;
  border:1px solid #354052!important;
  color:#fff!important;
  padding:0 14px!important;
}
.payment-total-fixed,
.payment-change-box{
  background:linear-gradient(135deg,rgba(255,255,255,.07),rgba(255,255,255,.03));
  border:1px solid rgba(255,255,255,.09);
  border-radius:24px;
  padding:18px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
}
.payment-total-fixed span,
.payment-change-box span{
  color:#aab4c5;
  font-weight:850;
}
.payment-total-fixed strong{
  color:#f8d788;
  font-size:26px;
}
.payment-change-box strong{
  color:#86efac;
  font-size:26px;
}
.payment-finish-btn{
  width:100%;
  min-height:56px;
  border-radius:20px!important;
  font-size:17px!important;
  margin-top:4px;
}
@media(max-width:640px){
  .payment-modal-pro{
    align-items:flex-end;
    padding:0;
  }
  .payment-modal-card{
    width:100vw;
    max-height:94svh;
    border-radius:28px 28px 0 0;
    padding:22px;
  }
  .payment-open-btn{
    width:100%;
    max-width:360px;
  }
}


/* V25 - Tela da mesa mais limpa e pagamento com troco negativo */
.mesa-detail-top.clean{
  justify-content:center!important;
  text-align:center!important;
}
.mesa-detail-top.clean div{
  width:100%!important;
}
.mesa-detail-top.clean h1{
  margin:0!important;
  text-align:center!important;
}
.mesa-total-bottom{
  margin:22px 0 8px!important;
  background:linear-gradient(135deg,rgba(217,154,43,.18),rgba(255,255,255,.045))!important;
  border:1px solid rgba(217,154,43,.30)!important;
}
.receipt-line h3{
  font-size:17px!important;
  color:#fff!important;
  margin-bottom:12px!important;
}
.payment-change-box strong.negative{
  color:#ff7a7a!important;
}
.payment-change-box strong.positive{
  color:#86efac!important;
}
@media(max-width:640px){
  .mesa-detail-top.clean h1{
    font-size:30px!important;
  }
  .mesa-total-bottom{
    margin-top:18px!important;
  }
}


/* V26 - Organização final: botão voltar mobile, vendas unificadas e categorias em Produtos */
.mobile-back-btn{
  display:none;
}
@media(max-width:800px){
  .mobile-back-btn{
    display:block;
    position:fixed;
    left:12px;
    bottom:calc(16px + env(safe-area-inset-bottom));
    z-index:70;
    border:0;
    border-radius:999px;
    background:linear-gradient(135deg,#1b2230,#0f141d);
    color:#fff;
    padding:12px 15px;
    font-weight:950;
    box-shadow:0 14px 40px rgba(0,0,0,.35);
    border:1px solid rgba(255,255,255,.10);
  }
  .fab{
    bottom:calc(22px + env(safe-area-inset-bottom))!important;
  }
}
.category-select-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 52px;
  gap:8px;
  align-items:center;
}
.category-manage-btn{
  width:52px!important;
  height:52px!important;
  border-radius:16px!important;
  padding:0!important;
  font-size:26px!important;
  background:linear-gradient(135deg,var(--gold),#f8d98c)!important;
  color:#17110a!important;
}
.category-new-form{
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.08);
  border-radius:20px;
  padding:14px;
  margin:12px 0;
}
.category-manager-list{
  display:grid;
  gap:10px;
  max-height:48vh;
  overflow:auto;
  padding-right:4px;
}
.category-manager-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:8px;
  align-items:center;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  padding:10px;
}
.category-edit-form{
  display:grid;
  grid-template-columns:minmax(0,1fr) 78px auto;
  gap:8px;
  align-items:center;
}
.category-manager-row input{
  min-width:0!important;
}
@media(max-width:640px){
  .category-manager-row{
    grid-template-columns:1fr;
  }
  .category-edit-form{
    grid-template-columns:1fr 76px;
  }
  .category-edit-form button{
    grid-column:1/-1;
  }
}


/* V29 - Topo, Resumo e remoção do voltar fixo */
.mobile-back-btn{display:none!important}
.mobile-navbar{
  position:relative!important;
}
.mobile-navbar .mobile-business-name{
  position:absolute!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  max-width:58vw!important;
  text-align:center!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  font-weight:950!important;
}
.summary-grid-2.cards4{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.center-action{
  display:flex;
  justify-content:center;
  margin-top:18px;
}
.resumo-sale-row{
  cursor:pointer;
}
@media(max-width:700px){
  .summary-grid-2.cards4{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  .summary-grid-2 .stat{
    padding:15px!important;
    border-radius:20px!important;
  }
  .summary-grid-2 .stat b{
    font-size:22px!important;
  }
}


/* V30 - Menos espaço no topo geral */
.main{
  padding-top:14px!important;
}
.top{
  margin-bottom:12px!important;
}
.top h1{
  line-height:1.08!important;
}
.panel{
  margin-top:10px!important;
}
@media(max-width:900px){
  .main{
    padding-top:64px!important;
  }
  .top{
    margin-bottom:10px!important;
  }
}

/* V30 - Produtos com ações por ícones ao lado */
.product-list-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:12px!important;
  align-items:center!important;
}
.product-list-info{
  min-width:0!important;
}
.product-icon-actions{
  display:flex!important;
  gap:8px!important;
  align-items:center!important;
  justify-content:flex-end!important;
}
.product-icon-actions form{
  margin:0!important;
}
.icon-action{
  width:42px!important;
  height:42px!important;
  min-height:42px!important;
  border-radius:14px!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  font-size:18px!important;
  line-height:1!important;
}
.danger-icon{
  background:linear-gradient(135deg,#ff5d5d,#c73030)!important;
  color:#fff!important;
}

/* categoria abre por cima de outros modais */
#catManagerModal{
  z-index:130!important;
}
#catManagerModal .mini-card{
  max-height:92svh!important;
}
@media(max-width:640px){
  .product-list-row{
    grid-template-columns:minmax(0,1fr) auto!important;
  }
  .product-icon-actions{
    flex-direction:row!important;
  }
}


/* V31 - Atendente focado apenas em Vendas */
.attendant-home-btn{
  text-decoration:none!important;
  display:grid!important;
  place-items:center!important;
  color:#fff!important;
  font-size:22px!important;
  line-height:1!important;
}
.attendant-main{
  margin-left:0!important;
  max-width:1180px!important;
  margin-right:auto!important;
  margin-left:auto!important;
}
@media(min-width:901px){
  .attendant-main{
    padding-top:28px!important;
  }
}
@media(max-width:900px){
  .attendant-main{
    margin-left:0!important;
    padding-top:64px!important;
  }
}


/* V32 - Correção definitiva de espaçamento do topo nas páginas do painel */
.main{
  padding-top:10px!important;
}
.top{
  margin-top:0!important;
  margin-bottom:10px!important;
  padding-top:0!important;
}
.top h1{
  margin-top:0!important;
}
.panel:first-of-type,
.cards4:first-of-type,
.mesa-grid:first-of-type,
.settings-grid:first-of-type{
  margin-top:0!important;
}
.panel{
  margin-top:10px!important;
}
@media(max-width:900px){
  .main{
    padding-top:58px!important;
  }
  .top{
    margin-top:0!important;
    margin-bottom:8px!important;
  }
}

/* Atendente: ícone de início fixo no mesmo lugar do antigo menu */
.mobile-navbar .attendant-home-btn{
  position:absolute!important;
  left:10px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:42px!important;
  height:42px!important;
  display:grid!important;
  place-items:center!important;
  margin:0!important;
  padding:0!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.08)!important;
  color:#fff!important;
  text-decoration:none!important;
  font-size:22px!important;
  z-index:3!important;
}
.mobile-navbar .mobile-business-name{
  pointer-events:none!important;
}

/* Na tela geral de Vendas não existe mais botão flutuante */
body .main > .mesa-grid.pdv-floor ~ .fab,
body .main > .mesa-grid.premium ~ .fab{
  display:none!important;
}


/* V33 DEFINITIVO - Painel: remover espaços vazios e alinhar títulos/cards */
@media(min-width:901px){
  body .main{
    padding-top:14px!important;
    padding-bottom:24px!important;
  }
  body .main.attendant-main{
    padding-top:14px!important;
  }
}
@media(max-width:900px){
  body .mobile-navbar{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    height:52px!important;
    min-height:52px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    padding:0 10px!important;
    z-index:80!important;
  }
  body .main,
  body .main.attendant-main{
    padding-top:58px!important;
    padding-left:12px!important;
    padding-right:12px!important;
    padding-bottom:22px!important;
  }
}
body .top{
  margin-top:0!important;
  margin-bottom:10px!important;
  padding-top:0!important;
  align-items:center!important;
}
body .top h1{
  margin-top:0!important;
  margin-bottom:0!important;
  line-height:1.08!important;
}
body .top p{
  margin-top:4px!important;
}
body .panel,
body .stat,
body .mesa-card,
body .order-card{
  margin-top:0!important;
}
body .panel{
  padding-top:16px!important;
  padding-bottom:16px!important;
}
body .section-title{
  margin-top:0!important;
  margin-bottom:12px!important;
}
body .section-title h2{
  margin-top:0!important;
  margin-bottom:4px!important;
}
body .cards4,
body .settings-grid,
body .mesa-grid,
body .mobile-list{
  margin-top:0!important;
}

/* V33 DEFINITIVO - Atendente: início no mesmo local do antigo menu */
body .mobile-navbar .attendant-home-btn{
  position:absolute!important;
  left:10px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  min-height:42px!important;
  display:grid!important;
  place-items:center!important;
  margin:0!important;
  padding:0!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.08)!important;
  color:#fff!important;
  text-decoration:none!important;
  font-size:23px!important;
  line-height:1!important;
  z-index:4!important;
}
body .mobile-navbar #menuToggle,
body .mobile-navbar .menu-toggle{
  position:absolute!important;
  left:10px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
}
body .mobile-navbar .mobile-business-name{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  max-width:58vw!important;
  text-align:center!important;
  pointer-events:none!important;
}

/* V33 DEFINITIVO - Nunca mostrar + na tela principal de vendas/lista de mesas */
body .main > .mesa-grid + .fab,
body .main > .mesa-grid ~ .fab,
body .main > .pdv-floor + .fab,
body .main > .pdv-floor ~ .fab{
  display:none!important;
}


/* V34 - Cards crus, sem efeitos decorativos e com alinhamento correto */
.stat::before,.stat::after,
.panel::before,.panel::after,
.mesa-card::after,
.order-card::before,.order-card::after,
.pdv-metrics .stat::before,.pdv-metrics .stat::after{
  display:none!important;
  content:none!important;
}
.stat,.panel,.mesa-card,.order-card{
  overflow:visible!important;
  background:#141821!important;
  box-shadow:0 10px 30px rgba(0,0,0,.24)!important;
}
.stat{
  min-height:118px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:7px!important;
  padding:18px!important;
}
.stat span{
  display:block!important;
  line-height:1.2!important;
}
.stat b{
  margin-top:0!important;
  line-height:1.08!important;
}
.stat small{
  line-height:1.25!important;
}
.top{
  min-height:auto!important;
  display:flex!important;
  align-items:center!important;
}
.top > div{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}
.panel .section-title,
.section-title{
  display:flex!important;
  align-items:center!important;
}
.sale-detail-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-bottom:16px;
}
.sale-info-box{
  background:#10141d;
  border:1px solid #2d3442;
  border-radius:18px;
  padding:14px;
  display:grid;
  gap:6px;
}
.sale-info-box span{
  color:#aab1c0;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
}
.sale-info-box strong{
  color:#fff;
  font-size:15px;
  line-height:1.2;
}
.sale-section-heading{
  margin:4px 0 10px!important;
}
.sale-total-box{
  display:flex;
  justify-content:space-between;
  align-items:center;
  background:#10141d;
  border:1px solid #2d3442;
  border-radius:20px;
  padding:16px;
  margin:14px 0;
}
.sale-total-box span{
  color:#aab1c0;
  font-weight:900;
}
.sale-total-box strong{
  font-size:26px;
  color:#f8d788;
}
.payment-detail-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
@media(max-width:800px){
  .sale-detail-grid,.payment-detail-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:520px){
  .sale-detail-grid,.payment-detail-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:900px){
  .sidebar .sidebar-logout,
  .sidebar .logout{
    display:none!important;
  }
}

#catManagerModal{
  z-index:9999!important;
}
#catManagerModal.open{
  display:flex!important;
}
.category-select-row{
  grid-template-columns:minmax(0,1fr) 50px!important;
}
.category-manage-btn{
  display:grid!important;
  place-items:center!important;
}


/* V35 - Relatórios PDF */
.report-download-panel{
  max-width:760px;
}
.report-filters{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  align-items:end;
}
.report-filters label{
  display:grid;
  gap:7px;
  color:#bac0ca;
  font-weight:800;
}
.report-download-btn{
  min-height:46px;
}
.report-help{
  margin:14px 0 0;
}
@media(max-width:720px){
  .report-filters{
    grid-template-columns:1fr;
  }
}

/* V35 - Produtos com ícones formais, sem emojis */
.icon-action{
  position:relative!important;
  overflow:hidden!important;
}
.icon-action span,
.formal-plus{
  display:block!important;
  position:relative!important;
  width:18px!important;
  height:18px!important;
}
.icon-edit span::before{
  content:""!important;
  position:absolute!important;
  left:3px!important;
  top:8px!important;
  width:13px!important;
  height:3px!important;
  background:#e5e7eb!important;
  border-radius:2px!important;
  transform:rotate(-35deg)!important;
}
.icon-edit span::after{
  content:""!important;
  position:absolute!important;
  left:1px!important;
  top:12px!important;
  width:5px!important;
  height:2px!important;
  background:#e5e7eb!important;
  border-radius:1px!important;
  transform:rotate(-35deg)!important;
}
.icon-delete span::before{
  content:""!important;
  position:absolute!important;
  left:4px!important;
  top:6px!important;
  width:10px!important;
  height:10px!important;
  border:2px solid #fff!important;
  border-top:0!important;
  border-radius:0 0 3px 3px!important;
}
.icon-delete span::after{
  content:""!important;
  position:absolute!important;
  left:3px!important;
  top:3px!important;
  width:12px!important;
  height:2px!important;
  background:#fff!important;
  border-radius:2px!important;
  box-shadow:3px -3px 0 -1px #fff!important;
}
.formal-plus::before,
.formal-plus::after{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  background:currentColor!important;
  border-radius:2px!important;
}
.formal-plus::before{
  width:16px!important;
  height:2px!important;
}
.formal-plus::after{
  width:2px!important;
  height:16px!important;
}
.category-manage-btn,
.fab{
  color:#17110a!important;
}


/* V37 - Remoção dos cards/boxes superiores de introdução das páginas */
.main{
  padding-top:14px!important;
}
@media(max-width:900px){
  .main,
  .main.attendant-main{
    padding-top:58px!important;
  }
}
.top:not(.mesa-detail-top){
  display:none!important;
  margin:0!important;
  padding:0!important;
  height:0!important;
  min-height:0!important;
  overflow:hidden!important;
}
main.main > section:first-child,
main.main > .panel:first-child,
main.main > .cards4:first-child,
main.main > .settings-grid:first-child,
main.main > .mesa-grid:first-child,
main.main > .mobile-list:first-child,
main.main > form:first-child,
main.main > .panel-action-row:first-child{
  margin-top:0!important;
}
.panel-action-row{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:10px;
  margin:0 0 10px!important;
}
.panel-action-row + .panel{
  margin-top:0!important;
}
.mesa-detail-top{
  margin-top:0!important;
  margin-bottom:12px!important;
}


/* V38 - Backup e Restauração */
.backup-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:14px;
}
.backup-box{
  background:#10141d;
  border:1px solid #2d3442;
  border-radius:22px;
  padding:18px;
}
.backup-box h3{
  margin:0 0 8px;
}
.factory-reset-box{
  border-color:rgba(255,104,104,.45);
}

/* V38 - Página própria de Categorias */
.category-page-head{
  margin-bottom:14px;
}
.category-new-form-inline{
  display:grid;
  grid-template-columns:minmax(0,1fr) 120px auto;
  gap:10px;
  align-items:center;
}
.category-actions{
  justify-content:flex-end;
}
.category-actions form{
  margin:0;
}
@media(max-width:720px){
  .backup-grid{
    grid-template-columns:1fr;
  }
  .category-new-form-inline{
    grid-template-columns:1fr;
  }
  .category-actions{
    justify-content:flex-start;
  }
}

/* V38 - Identificação do cliente na mesa e centralização real do box */
.mesa-card{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:12px!important;
  min-height:255px!important;
}
.mesa-identity{
  display:grid;
  gap:8px;
  justify-items:center;
  text-align:center;
}
.mesa-top.centered,
.mesa-top{
  justify-content:center!important;
  align-items:center!important;
  gap:10px!important;
  width:100%;
}
.mesa-top.centered h2{
  text-align:center!important;
}
.mesa-client-form{
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,1fr) 48px;
  gap:7px;
  align-items:center;
}
.mesa-client-form input{
  min-height:38px!important;
  height:38px!important;
  padding:8px 10px!important;
  text-align:center;
  font-size:14px!important;
}
.mesa-client-form button{
  min-height:38px!important;
  height:38px!important;
  padding:0!important;
  border-radius:12px!important;
  font-size:12px!important;
}
.mesa-detail-top.clean{
  min-height:122px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.mesa-detail-identity{
  width:100%;
  display:grid;
  gap:10px;
  justify-items:center;
  text-align:center;
}
.mesa-detail-client-form{
  width:min(420px,100%);
  display:grid;
  grid-template-columns:minmax(0,1fr) 82px;
  gap:8px;
}
.mesa-detail-client-form input{
  text-align:center;
  min-height:40px!important;
}
.mesa-detail-client-form button{
  min-height:40px!important;
  padding:0 12px!important;
}
@media(max-width:640px){
  .mesa-card{
    min-height:245px!important;
  }
  .mesa-detail-client-form{
    grid-template-columns:1fr;
  }
}


/* V40 - Cards superiores de introdução organizados e profissionais */
.top.page-intro{
  display:flex!important;
  height:auto!important;
  min-height:auto!important;
  overflow:visible!important;
  justify-content:flex-start!important;
  align-items:center!important;
  text-align:left!important;
  margin:0 0 16px!important;
  padding:18px 20px!important;
  border:1px solid #2d3442!important;
  border-radius:24px!important;
  background:linear-gradient(180deg,rgba(27,32,43,.96),rgba(15,18,26,.98))!important;
  box-shadow:0 12px 36px rgba(0,0,0,.28)!important;
}
.top.page-intro > div{
  align-items:flex-start!important;
  justify-content:center!important;
  text-align:left!important;
  width:100%;
}
.top.page-intro h1{
  font-size:28px!important;
  line-height:1.1!important;
  margin:0!important;
  letter-spacing:-.025em!important;
}
.top.page-intro p{
  margin:6px 0 0!important;
  color:#aab1c0!important;
  font-size:14px!important;
  line-height:1.35!important;
  max-width:820px!important;
}
@media(max-width:700px){
  .top.page-intro{
    padding:15px!important;
    border-radius:20px!important;
    margin-bottom:12px!important;
  }
  .top.page-intro h1{
    font-size:23px!important;
  }
}

/* V40 - Menu lateral limpo: empresa + pessoa logada */
.brand.brand-clean{
  display:block!important;
  padding:4px 2px 6px!important;
}
.brand.brand-clean strong{
  display:block!important;
  font-size:17px!important;
  line-height:1.2!important;
}
.brand.brand-clean span{
  display:block!important;
  margin-top:6px!important;
  color:#a7adba!important;
  font-size:13px!important;
  line-height:1.25!important;
}

/* V40 - Cliente apenas dentro da mesa, salvamento automático sem botão */
.mesa-client-form{
  display:none!important;
}
.mesa-detail-client-form.auto-client-wrap{
  width:min(420px,100%)!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:5px!important;
  justify-items:center!important;
}
.mesa-detail-client-form.auto-client-wrap input{
  width:100%!important;
  max-width:360px!important;
  min-height:38px!important;
  height:38px!important;
  padding:8px 12px!important;
  text-align:center!important;
  font-size:14px!important;
}
.mesa-detail-client-form.auto-client-wrap small{
  font-size:11px!important;
  color:#aab1c0!important;
}

/* V40 - Ícone profissional para Novo Pedido dentro da mesa */
.order-fab{
  display:grid!important;
  place-items:center!important;
}
.order-new-icon{
  width:25px!important;
  height:25px!important;
  position:relative!important;
  display:block!important;
}
.order-new-icon::before{
  content:""!important;
  position:absolute!important;
  left:4px!important;
  top:3px!important;
  width:13px!important;
  height:17px!important;
  border:2px solid currentColor!important;
  border-radius:3px!important;
  box-shadow:inset 0 5px 0 rgba(0,0,0,0)!important;
}
.order-new-icon::after{
  content:""!important;
  position:absolute!important;
  right:0!important;
  bottom:1px!important;
  width:12px!important;
  height:12px!important;
  border-radius:50%!important;
  background:currentColor!important;
  box-shadow:
    -5px 6px 0 -5px currentColor!important;
}
.order-fab .order-new-icon{
  color:#17110a!important;
}
.order-fab .order-new-icon span{
  display:none!important;
}
.order-fab .order-new-icon + *{display:none!important;}
.order-fab .order-new-icon:after{
  background:currentColor!important;
}
.order-fab .order-new-icon:before{
  border-color:currentColor!important;
}
.order-fab::before{
  content:""!important;
  position:absolute!important;
  width:11px!important;
  height:2px!important;
  background:#17110a!important;
  right:20px!important;
  bottom:21px!important;
  border-radius:3px!important;
}
.order-fab::after{
  content:""!important;
  position:absolute!important;
  width:2px!important;
  height:11px!important;
  background:#17110a!important;
  right:24px!important;
  bottom:17px!important;
  border-radius:3px!important;
}

/* V40 - Categorias com ícones profissionais no padrão Produtos */
.category-icon-actions{
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:8px!important;
}
.category-icon-actions form{
  margin:0!important;
}
.icon-power span{
  width:18px!important;
  height:18px!important;
  position:relative!important;
  display:block!important;
}
.icon-power span::before{
  content:""!important;
  position:absolute!important;
  left:4px!important;
  top:5px!important;
  width:10px!important;
  height:10px!important;
  border:2px solid #e5e7eb!important;
  border-top-color:transparent!important;
  border-radius:50%!important;
}
.icon-power span::after{
  content:""!important;
  position:absolute!important;
  left:8px!important;
  top:1px!important;
  width:2px!important;
  height:9px!important;
  background:#e5e7eb!important;
  border-radius:2px!important;
}
.icon-power.is-inactive{
  opacity:.55!important;
}
.category-row .product-list-info small{
  display:block!important;
}
@media(max-width:640px){
  .category-icon-actions{
    justify-content:flex-start!important;
  }
}


/* V41 - Ajustes finais: painel simples, categorias limpas e botão + */
.settings-grid .setting-card{
  min-height:78px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}
.settings-grid .setting-card span{
  display:none!important;
}
.settings-grid .setting-card b{
  font-size:17px!important;
  line-height:1.2!important;
}

.mesa-detail-client-form.auto-client-wrap{
  gap:0!important;
}
.mesa-detail-client-form.auto-client-wrap small{
  display:none!important;
}

.simple-plus-fab{
  display:grid!important;
  place-items:center!important;
  font-size:34px!important;
  line-height:1!important;
  font-weight:900!important;
  color:#17110a!important;
}
.simple-plus-fab span{
  display:block!important;
  transform:translateY(-1px)!important;
}
.simple-plus-fab::before,
.simple-plus-fab::after,
.simple-plus-fab .order-new-icon::before,
.simple-plus-fab .order-new-icon::after{
  display:none!important;
  content:none!important;
}

.category-icon-actions{
  grid-template-columns:auto auto!important;
}
.category-icon-actions .icon-power,
.category-icon-actions form:has(.icon-power){
  display:none!important;
}
.category-row .product-list-info small{
  display:none!important;
}
.category-row{
  align-items:center!important;
}


/* V42 - Ajustes pedidos da mesa, botão novo pedido limpo e Vendas sem card superior */
.pdv-floor{
  margin-top:0!important;
}
.main > .pdv-floor:first-child,
.main > .mesa-grid:first-child{
  margin-top:0!important;
}

.mesa-items-table{
  width:100%;
}
.mesa-items-table th,
.mesa-items-table td{
  vertical-align:middle!important;
}
.item-qty-actions{
  display:flex;
  gap:7px;
  align-items:center;
  justify-content:flex-end;
}
.item-qty-actions form{
  margin:0!important;
}
.qty-icon{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  min-height:34px!important;
  border-radius:12px!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  font-size:22px!important;
  line-height:1!important;
  font-weight:950!important;
  background:#242936!important;
  color:#fff!important;
}
.qty-icon.plus{
  background:linear-gradient(135deg,var(--gold),#f8d98c)!important;
  color:#17110a!important;
}
.qty-icon.minus{
  background:#242936!important;
  color:#fff!important;
}
.clean-plus-fab{
  display:grid!important;
  place-items:center!important;
  font-size:34px!important;
  line-height:1!important;
  font-weight:950!important;
  color:#17110a!important;
}
.clean-plus-fab span{
  display:block!important;
  line-height:1!important;
  transform:none!important;
}
.clean-plus-fab::before,
.clean-plus-fab::after,
.clean-plus-fab .order-new-icon::before,
.clean-plus-fab .order-new-icon::after{
  display:none!important;
  content:none!important;
}
@media(max-width:640px){
  .mesa-items-table th:nth-child(3),
  .mesa-items-table td:nth-child(3){
    white-space:nowrap;
  }
  .item-qty-actions{
    justify-content:flex-start;
  }
  .qty-icon{
    width:32px!important;
    height:32px!important;
    min-width:32px!important;
    min-height:32px!important;
  }
}
