:root{
  --primary:#6f1d3f;
  --primary-dark:#451126;
  --bg:#fbf4ef;
  --surface:#fff;
  --ink:#322730;
  --muted:#806f77;
  --line:#eadbd5;
  --rose:#d95f84;
  --rose-soft:#f8dce5;
  --cream:#fbf4ef;
  --shadow:0 12px 34px rgba(79,31,47,.07);
}

body{background:radial-gradient(circle at 74% 0,rgba(217,95,132,.07),transparent 28%),var(--cream);color:var(--ink);font-family:"DM Sans","Segoe UI",sans-serif}
.topbar h1,.hero-panel h2,.panel-head h3,.access-hero h2,.login-card h2,.login-brand-content h1,.recipe-hero h2,.pos-menu-heading h2,.cart-title h2,.error-card h1{font-family:"Playfair Display",Georgia,serif;letter-spacing:-.025em}
.eyebrow{color:var(--rose);font-size:10px;font-weight:800;letter-spacing:.12em}

.sidebar{width:244px;background:linear-gradient(180deg,#55152f 0%,#3e1023 100%);padding:22px 17px;box-shadow:12px 0 35px rgba(69,17,38,.08)}
.brand{font-family:"Playfair Display",Georgia,serif;font-size:21px;gap:11px}
.brand small{font-family:"DM Sans",sans-serif;color:#dec2cd;letter-spacing:.06em}
.brand-mark{width:44px;height:44px;border-radius:50%;background:#fff;color:var(--primary);box-shadow:none;font-family:"DM Sans",sans-serif;font-size:13px;letter-spacing:-.04em}
.sidebar .nav-link{color:#e0cbd3;border-radius:99px;padding:10px 13px;font-size:13px}
.sidebar .nav-link:hover,.sidebar .nav-link.active{background:#fff;color:var(--primary)}
.sidebar .nav-link.active{box-shadow:none}
.sidebar-user{border-top-color:rgba(255,255,255,.13)}
.sidebar-user small{color:#d6b8c4}
.user-avatar{background:var(--rose);box-shadow:0 6px 18px rgba(217,95,132,.24)}
.app-main{margin-left:244px}
.topbar{min-height:88px;background:rgba(251,244,239,.92);border-bottom:1px solid rgba(111,29,63,.1);padding:16px 30px;backdrop-filter:blur(18px)}
.topbar h1{color:var(--primary-dark);font-size:26px}
.topbar p{color:#927a83}
.content-wrap{padding:28px 30px 48px}

.btn{border-radius:99px;padding-left:18px;padding-right:18px}
.btn-primary{--bs-btn-bg:var(--primary);--bs-btn-border-color:var(--primary);--bs-btn-hover-bg:var(--primary-dark);--bs-btn-hover-border-color:var(--primary-dark);--bs-btn-active-bg:var(--primary-dark);--bs-btn-active-border-color:var(--primary-dark)}
.btn-soft{background:var(--rose-soft);color:var(--primary);border:0}
.btn-soft:hover{background:#f3c8d6;color:var(--primary-dark)}
.btn-light{--bs-btn-bg:#fff;--bs-btn-border-color:var(--line);--bs-btn-hover-bg:#fff8f4;--bs-btn-hover-border-color:#dbbfc4;color:var(--primary)}
.text-primary{color:var(--primary)!important}.text-success{color:#2d7a58!important}

.hero-panel{background:linear-gradient(135deg,#fff 0%,#fff9f5 62%,#f8dce5 100%);color:var(--ink);border:1px solid var(--line);border-top:5px solid var(--primary);border-radius:22px;padding:30px 32px;box-shadow:var(--shadow)}
.hero-panel:after{width:245px;height:245px;border:46px solid rgba(111,29,63,.05);right:8%;top:-125px}
.hero-panel h2{color:var(--primary-dark);font-size:34px}
.hero-panel p{color:var(--muted)}
.hero-panel .eyebrow{color:var(--rose)}
.hero-panel .btn{background:var(--primary);border-color:var(--primary);color:#fff}

.metric-card,.panel,.customer-card{border-color:var(--line);border-radius:18px;box-shadow:var(--shadow)}
.metric-card{padding:19px;min-height:158px;overflow:hidden}
.metric-card:after{content:"";position:absolute;width:64px;height:64px;border-radius:50%;background:rgba(217,95,132,.06);right:-22px;top:-20px}
.metric-card small{color:#8d747e;text-transform:uppercase;font-size:9px;letter-spacing:.07em}
.metric-card strong{color:var(--primary-dark);font-family:"Playfair Display",Georgia,serif}
.metric-icon{border-radius:50%}
.metric-icon.purple,.metric-icon.rose{background:var(--rose-soft);color:var(--primary)}
.metric-icon.amber{background:#f8ead9;color:#a35d35}.metric-icon.green{background:#e4f1e9;color:#2d7a58}
.panel{padding:20px}
.panel-head h3{color:var(--primary-dark);font-size:20px}
.panel-head p{color:var(--muted)}
.table thead th{color:#a45b70;font-size:9px;letter-spacing:.09em;border-bottom-color:var(--line)}
.table td{border-bottom-color:#f2e8e3}
.badge-soft{background:#f8efeb;color:#745864}.margin-pill{background:#e8f3ec;color:#2d7a58}
.icon-btn{background:#f8efeb;color:var(--primary);border-radius:50%}
.icon-btn:hover{background:var(--rose-soft);color:var(--primary-dark)}
.search-box{background:#fff;border-color:var(--line);border-radius:99px}
.search-box:focus-within{border-color:#c77b94;box-shadow:0 0 0 3px rgba(217,95,132,.1)}
.form-control,.form-select,.input-group-text{border-color:#e6d6d1;border-radius:12px;background-color:#fff}
.form-control:focus,.form-select:focus{border-color:#c77b94;box-shadow:0 0 0 .2rem rgba(217,95,132,.12)}
.modal-content{border-radius:22px;box-shadow:0 30px 90px rgba(69,17,38,.22)}
.modal-title{font-family:"Playfair Display",Georgia,serif;color:var(--primary-dark)}
.status.on{color:#2d7a58}.status.on i{background:#4a9a74}.status.off{color:#a34655}.status.off i{background:#d95f84}
.top-item{background:#fff9f5;border:1px solid #f0e1dc}.top-item>span{border-radius:50%;background:var(--rose-soft);color:var(--primary)}

/* PDV inspirado no cardápio de referência */
.pos-shell{grid-template-columns:minmax(0,1fr) 405px;gap:0;align-items:stretch;margin:-28px -30px -48px;min-height:calc(100vh - 88px)}
.pos-products{padding:30px;background:linear-gradient(145deg,#fbf4ef,#fff8f4);min-width:0}
.pos-mode-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 12px;margin:-12px 0 22px;background:rgba(255,255,255,.72);border:1px solid rgba(111,29,63,.1);border-radius:18px;backdrop-filter:blur(14px)}
.pos-mode-status,.pos-mode-actions{display:flex;align-items:center;gap:10px}.pos-mode-status>span{width:40px;height:40px;border-radius:13px;background:var(--primary);color:#fff;display:grid;place-items:center}.pos-mode-status strong,.pos-mode-status small{display:block}.pos-mode-status strong{font-family:"Playfair Display",Georgia,serif;color:var(--primary-dark)}.pos-mode-status small{font-size:10px;color:var(--muted)}.pos-mode-actions form{margin:0}.pos-mode-actions .btn{min-height:42px}.pos-logout{width:42px;padding:0;color:#a22b4d}
.pos-menu-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:18px}
.pos-menu-heading h2{font-size:32px;color:var(--primary-dark);margin:6px 0 2px}
.pos-menu-heading p{color:var(--muted);margin:0;font-size:13px}
.pos-menu-heading>strong{color:var(--primary);font-size:11px;margin-bottom:6px}
.pos-toolbar{max-width:720px}
.category-strip{gap:8px;padding:14px 0 16px}
.category-btn{border:1px solid #e7d7d2;background:#fff;color:#705a63;border-radius:99px;padding:9px 16px;font-size:12px}
.category-btn:hover{border-color:#cc8fa2;color:var(--primary)}
.category-btn.active{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 8px 18px rgba(111,29,63,.15)}
.product-grid{grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:14px}
.pos-product{min-height:320px;border:1px solid #eadbd5;border-radius:22px;background:#fff;padding:10px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 9px 25px rgba(79,31,47,.05);transform:none}
.pos-product:hover,.pos-product:active,.pos-product.tapped{transform:translateY(-3px);border-color:#d8a9b7;box-shadow:0 16px 36px rgba(111,29,63,.11)}
.pos-product-visual{height:145px;border-radius:16px;display:grid;place-items:center;position:relative;overflow:hidden;color:#fff;background:linear-gradient(145deg,#712343,#ad5474)}
.pos-product-visual:before,.pos-product-visual:after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.09)}
.pos-product-visual:before{width:150px;height:150px;right:-65px;top:-65px}.pos-product-visual:after{width:90px;height:90px;left:-30px;bottom:-35px}
.product-tone-2 .pos-product-visual{background:linear-gradient(145deg,#a25a55,#db957f)}.product-tone-3 .pos-product-visual{background:linear-gradient(145deg,#725a52,#bca08f)}.product-tone-4 .pos-product-visual{background:linear-gradient(145deg,#884968,#d5819d)}
.pos-product-visual>i{font-size:50px;opacity:.92;filter:drop-shadow(0 8px 10px rgba(55,12,30,.2))}.pos-product-visual>em{position:absolute;right:12px;bottom:7px;font-family:"Playfair Display",Georgia,serif;font-size:38px;font-style:normal;opacity:.16}
.pos-product-visual>img{width:100%;height:100%;object-fit:cover;position:relative;z-index:1;transition:transform .25s ease}.pos-product:hover .pos-product-visual>img{transform:scale(1.035)}

body.route-pdv.pdv-seller-mode .sidebar,body.route-pdv.pdv-seller-mode .topbar,body.route-pdv.pdv-seller-mode #mobileMenu{display:none!important}
body.route-pdv.pdv-seller-mode .app-main{margin-left:0}
body.route-pdv.pdv-seller-mode .content-wrap{padding:0}
body.route-pdv.pdv-seller-mode .pos-shell{margin:0;min-height:100vh;min-height:100dvh}
body.route-pdv:not(.pdv-seller-mode) .pos-mode-status small:after{content:" — navegação administrativa visível"}
@media(min-width:992px){body.route-pdv.pdv-seller-mode{overflow:hidden}body.route-pdv.pdv-seller-mode .pos-products{height:100vh;height:100dvh;overflow-y:auto}body.route-pdv.pdv-seller-mode .pos-cart{top:0;height:100vh;height:100dvh;max-height:none}}
.pos-product-content{display:flex;flex-direction:column;align-items:flex-start;flex:1;padding:13px 7px 5px;width:100%}
.pos-product strong{font-family:"Playfair Display",Georgia,serif;color:var(--primary-dark);font-size:17px;line-height:1.2;margin:5px 0 0}
.pos-product .product-category{color:var(--rose);font-size:8px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin:0}
.pos-product .product-description{font-size:10px;color:var(--muted);margin:7px 0 12px;line-height:1.35;display:block}
.pos-product b{font-family:"Playfair Display",Georgia,serif;color:var(--primary);font-size:20px;margin-top:auto}
.unit-caption{font-size:8px;color:#a18b93}
.tap-hint{width:42px;height:42px;border-radius:14px;background:#f8dce5;color:var(--primary);right:14px;bottom:13px;font-size:18px}
.pos-cart{background:#fff;border:0;border-left:1px solid var(--line);border-radius:0;box-shadow:-12px 0 34px rgba(79,31,47,.04);padding:30px 27px;position:sticky;top:88px;height:calc(100vh - 88px);max-height:calc(100vh - 88px)}
.cart-title{display:grid;grid-template-columns:1fr auto auto;gap:9px;align-items:start}
.cart-title h2{color:var(--primary-dark);font-size:29px;margin:5px 0 3px}
.cart-title p{font-size:11px;color:var(--muted);margin:0}
.cart-count-bubble{width:36px;height:36px;border-radius:50%;background:var(--primary);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:800}
.cart-title .icon-btn{opacity:0;transition:.15s}.pos-cart:has(.cart-item) .cart-title .icon-btn{opacity:1}
.cart-items{min-height:170px;max-height:260px;margin:13px -5px;padding:0 5px}
.cart-empty{min-height:190px;color:var(--muted)}
.cart-empty i{font-size:29px;color:#a98f98}.cart-empty strong{font-family:"Playfair Display",Georgia,serif;color:var(--primary-dark);font-size:16px;margin-top:8px}.cart-empty span{font-size:11px}
.cart-item{padding:12px 0;border-bottom-color:#efe3df}.cart-item strong{font-family:"Playfair Display",Georgia,serif;color:var(--primary-dark);font-size:14px}.cart-item small{font-size:9px}.qty-control button{border-radius:50%;background:var(--rose-soft);color:var(--primary)}
.cart-fields{border-top:1px solid var(--line);padding-top:13px}.cart-fields label{color:#8b737d;font-size:9px;text-transform:uppercase;letter-spacing:.06em}
.cart-totals{border-top:1px solid var(--line);margin-top:14px;padding:14px 0 8px}.cart-totals>div{color:#806f77}.cart-totals strong{color:var(--ink)}.cart-totals .cart-total{font-family:"Playfair Display",Georgia,serif;color:var(--primary-dark);border-top:1px solid var(--line);margin-top:7px;padding-top:13px}.cart-totals .cart-total strong{color:var(--primary);font-size:25px}
.finalize-btn{background:var(--primary)!important;border-color:var(--primary)!important;border-radius:15px;min-height:54px}.finalize-btn:hover{background:var(--primary-dark)!important;border-color:var(--primary-dark)!important}.cart-security{text-align:center;color:#9c8890;font-size:8px;margin-top:9px}.cart-security i{color:var(--rose)}
.success-check{background:#f8dce5;color:var(--primary)}

/* Relatórios, acessos e demais módulos */
.report-filter{background:#fffaf7}.report-filter input,.report-filter select{border-color:#e6d6d1}.dimension-badge{background:var(--rose-soft);color:var(--primary)}
.revenue-bar i,.payment-progress i{background:linear-gradient(90deg,var(--primary),var(--rose))}.payment-icon{background:var(--rose-soft);color:var(--primary)}
.access-hero{background:linear-gradient(130deg,#53142e,#7c2448 68%,#b94f73);border-top:5px solid #e79ab1;box-shadow:0 18px 40px rgba(111,29,63,.17)}
.access-tabs .nav-link.active{background:var(--primary);border-color:var(--primary)}
.role-icon.role-administrador,.role-pill.role-administrador{background:var(--rose-soft);color:var(--primary)}
.permission-option input:checked+span{background:var(--primary);border-color:var(--primary)}.permission-option:has(input:checked){border-color:#dba9b8;background:#fff8fa}
.recipe-hero{background:linear-gradient(130deg,#53142e,#8b3054);border-top:5px solid #e79ab1}.recipe-product:hover,.recipe-product.active{background:var(--rose-soft);color:var(--primary)}
.cost-preview{background:#fff3f6;border-color:#efd1dc;color:var(--primary)}
.date-filter{border-color:var(--line)}
.transaction-icon.income{background:#e6f2ea;color:#2d7a58}.transaction-icon.expense{background:var(--rose-soft);color:var(--primary)}
.metric-card.financial.income{border-top-color:#4a9a74}.metric-card.financial.expense{border-top-color:var(--rose)}

/* Login */
.login-page{background:var(--cream)}
.login-brand-panel{background:linear-gradient(145deg,#451126,#6f1d3f 58%,#a33c62)}
.login-logo{background:#fff;color:var(--primary);font-family:"DM Sans",sans-serif;font-size:21px;box-shadow:0 20px 50px rgba(45,7,21,.3)}
.login-brand-content h1{font-size:49px}.login-brand-content>p{color:#ead6de}.login-features span{background:rgba(255,255,255,.1)}.login-features i{color:#f2b3c7}
.login-input:focus-within{border-color:#c77b94;box-shadow:0 0 0 3px rgba(217,95,132,.12)}
.login-card h2{color:var(--primary-dark)}
.error-card>span{background:var(--rose-soft);color:var(--primary)}.error-card>small{color:var(--rose)}

/* Configurações e valores padronizados */
.settings-tabs{display:flex;gap:10px}.settings-tabs a{min-width:210px;display:flex;align-items:center;gap:11px;padding:12px 15px;background:#fff;border:1px solid var(--line);border-radius:15px;color:var(--muted);text-decoration:none;box-shadow:0 6px 18px rgba(79,31,47,.03)}.settings-tabs a>i{width:36px;height:36px;border-radius:11px;background:#f8efeb;color:var(--primary);display:grid;place-items:center;font-size:17px}.settings-tabs strong,.settings-tabs small{display:block}.settings-tabs strong{font-size:13px;color:var(--ink)}.settings-tabs small{font-size:9px}.settings-tabs a.active{background:var(--primary);border-color:var(--primary);color:#fff}.settings-tabs a.active>i{background:rgba(255,255,255,.14);color:#fff}.settings-tabs a.active strong,.settings-tabs a.active small{color:#fff}
.standardization-intro{display:flex;align-items:center;gap:18px;padding:22px 25px;background:linear-gradient(120deg,#fff,#fff8f5);border:1px solid var(--line);border-left:5px solid var(--rose);border-radius:18px;box-shadow:var(--shadow)}.standardization-intro>span{width:52px;height:52px;border-radius:16px;background:var(--rose-soft);color:var(--primary);display:grid;place-items:center;font-size:23px}.standardization-intro small{font-size:9px;color:var(--rose);font-weight:800;letter-spacing:.1em}.standardization-intro h2{font-family:"Playfair Display",Georgia,serif;color:var(--primary-dark);font-size:24px;margin:3px 0}.standardization-intro p{color:var(--muted);font-size:12px;margin:0}
.standard-card{height:100%;background:#fff;border:1px solid var(--line);border-radius:19px;box-shadow:var(--shadow);padding:20px}.standard-card>header{display:grid;grid-template-columns:42px 1fr auto;gap:11px;align-items:start}.standard-card>header>span{width:42px;height:42px;border-radius:13px;background:var(--rose-soft);color:var(--primary);display:grid;place-items:center;font-size:18px}.standard-card h3{font-family:"Playfair Display",Georgia,serif;color:var(--primary-dark);font-size:18px;margin:0}.standard-card header p{color:var(--muted);font-size:10px;margin:3px 0 0}.standard-card header>b{background:#e8f3ec;color:#2d7a58;border-radius:99px;padding:5px 8px;font-size:9px;white-space:nowrap}.standard-add{display:grid;grid-template-columns:1fr 42px;gap:8px;margin:17px 0 12px;padding-bottom:15px;border-bottom:1px solid #f0e4df}.standard-add input{height:42px;border:1px solid #e6d6d1;border-radius:12px;padding:0 13px;outline:0}.standard-add input:focus{border-color:#c77b94;box-shadow:0 0 0 3px rgba(217,95,132,.1)}.standard-add .btn{width:42px;height:42px;padding:0;display:grid;place-items:center}
.standard-list{display:flex;flex-direction:column;max-height:290px;overflow:auto;padding-right:3px}.standard-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 4px;border-bottom:1px solid #f4ebe7}.standard-item:last-child{border:0}.standard-item>span{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:650}.standard-item>span i{width:7px;height:7px;border-radius:50%;background:#4a9a74}.standard-item>div{display:flex;gap:4px}.standard-item>div form{display:inline}.standard-item .icon-btn{width:31px;height:31px;font-size:12px}.standard-item.inactive{opacity:.5}.standard-item.inactive>span{text-decoration:line-through}.standard-item.inactive>span i{background:#a98f98}

@media(max-width:1199.98px){
  .pos-shell{grid-template-columns:minmax(0,1fr) 360px}.product-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}
}
@media(max-width:991.98px){
  .app-main{margin-left:0}.topbar{min-height:80px}.content-wrap{padding:20px 16px 90px}
  .pos-shell{grid-template-columns:1fr;margin:-20px -16px -90px;min-height:auto}.pos-products{padding:22px 16px 28px}.pos-cart{position:relative;top:auto;height:auto;max-height:none;border-left:0;border-top:1px solid var(--line);border-radius:24px 24px 0 0;padding:24px 18px}.cart-items{max-height:320px}body.route-pdv.pdv-seller-mode .pos-shell{height:auto}.pos-mode-bar{margin:-8px 0 18px}.pos-mode-actions .btn span{display:none}.pos-mode-actions .btn i{margin:0!important}.pos-mode-actions .btn{width:42px;padding:0}
}
@media(max-width:575.98px){
  .hero-panel h2{font-size:27px}.topbar h1{font-size:21px}.metric-card{min-height:142px}
  .pos-menu-heading h2{font-size:27px}.pos-menu-heading>strong{display:none}.pos-toolbar{gap:7px}.category-strip{margin-right:-16px}
  .product-grid{grid-template-columns:1fr 1fr;gap:9px}.pos-product{min-height:265px;padding:7px;border-radius:17px}.pos-product-visual{height:110px;border-radius:13px}.pos-product-visual>i{font-size:39px}.pos-product strong{font-size:14px}.pos-product .product-description{font-size:8px;margin:5px 0 8px}.pos-product b{font-size:17px}.tap-hint{width:34px;height:34px;border-radius:11px;right:10px;bottom:10px}
  .login-brand-content h1{font-size:38px}.login-logo{font-size:16px}
  .settings-tabs{overflow:auto}.settings-tabs a{min-width:180px}.standardization-intro{align-items:flex-start;padding:18px}.standardization-intro h2{font-size:21px}.standard-card{padding:16px}
}

.product-avatar{overflow:hidden;flex:0 0 46px;width:46px;height:46px;border-radius:14px}
.product-avatar img{width:100%;height:100%;object-fit:cover}
.product-photo-field{display:flex;align-items:center;gap:18px;padding:16px;border:1px solid var(--line);border-radius:18px;background:var(--cream)}
.product-photo-preview{width:116px;height:116px;flex:0 0 116px;border:2px dashed #d9c4ca;border-radius:18px;display:grid;place-items:center;background:#fff;color:var(--rose);font-size:30px;overflow:hidden}
.product-photo-preview img{width:100%;height:100%;object-fit:cover}.product-photo-preview.has-photo>i{display:none}
.product-photo-field strong,.product-photo-field small{display:block}.product-photo-field p{margin:3px 0 10px;color:var(--muted);font-size:12px}.product-photo-field small{margin-top:8px;color:var(--muted)}
.product-photo-remove{display:inline-flex;align-items:center;gap:6px;margin-left:12px;font-size:12px;color:#9b2447;cursor:pointer}
@media(max-width:575.98px){.product-photo-field{align-items:flex-start}.product-photo-preview{width:90px;height:90px;flex-basis:90px}.product-photo-remove{display:flex;margin:9px 0 0}}

/* Experiência touch do carrinho do PDV */
.pos-cart{overflow:hidden;display:flex;flex-direction:column;touch-action:manipulation}
.cart-items{flex:1;min-height:110px;max-height:none;margin:10px -5px;padding:0 5px;overscroll-behavior:contain}
.cart-empty{height:100%;min-height:110px}.cart-empty i{width:52px;height:52px;border:2px solid #ead7dd;border-radius:18px;display:grid;place-items:center;font-size:24px}
.cart-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 0}
.cart-item-product{display:flex;align-items:center;gap:10px;min-width:0}.cart-item-product>div:last-child{min-width:0}.cart-item-product strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cart-item-thumb{width:44px;height:44px;flex:0 0 44px;border-radius:13px;overflow:hidden;background:var(--rose-soft);display:grid;place-items:center;color:var(--primary);font-weight:800}.cart-item-thumb img{width:100%;height:100%;object-fit:cover}.cart-item-thumb span{font-family:"Playfair Display",Georgia,serif}
.qty-control{gap:4px}.qty-control button{width:42px;height:42px;font-size:20px;display:grid;place-items:center;touch-action:manipulation;transition:transform .08s,background .15s}.qty-control button:active{transform:scale(.9);background:#efbfd0}.qty-control b{min-width:25px;font-size:15px}
.touch-cart-fields{flex:0 0 auto;padding-top:11px}.touch-cart-fields label{margin:0}.touch-field-label,.touch-select-field>span{display:block;color:#8b737d;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px}
.touch-select-field>div{position:relative}.touch-select-field>div>i{position:absolute;left:16px;top:50%;transform:translateY(-50%);z-index:2;color:var(--primary);font-size:18px;pointer-events:none}.touch-select-field .form-select{height:56px;padding-left:46px;padding-right:42px;font-size:16px;border-radius:16px;background-color:#fff;cursor:pointer}
.payment-touch-field{margin-top:11px}.payment-touch-options{display:flex;gap:7px;overflow-x:auto;padding:1px 1px 5px;scrollbar-width:none;scroll-snap-type:x proximity}.payment-touch-options::-webkit-scrollbar{display:none}.payment-touch-option{min-width:78px;height:55px;padding:6px 10px;border:1px solid #e5d3d9;border-radius:15px;background:#fff;color:#735f67;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:9px;font-weight:800;white-space:nowrap;scroll-snap-align:start;touch-action:manipulation;transition:transform .08s,background .15s,color .15s}.payment-touch-option i{font-size:18px}.payment-touch-option:active{transform:scale(.94)}.payment-touch-option.active{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 7px 16px rgba(111,29,63,.18)}
.received-touch-field{margin-top:8px}.received-touch-button{width:100%;height:58px;border:1px solid #e5d3d9;border-radius:16px;background:#fff;padding:8px 14px;display:flex;align-items:center;justify-content:space-between;text-align:left;color:var(--primary);touch-action:manipulation}.received-touch-button:active{background:#fff5f7;transform:scale(.99)}.received-touch-button span small,.received-touch-button span strong{display:block}.received-touch-button span small{font-size:9px;color:#8b737d;text-transform:uppercase;letter-spacing:.06em;font-weight:800}.received-touch-button span strong{font-family:"Playfair Display",Georgia,serif;font-size:20px}.received-touch-button>i{width:38px;height:38px;border-radius:12px;background:var(--rose-soft);display:grid;place-items:center;font-size:18px}
.quick-amounts{display:flex;gap:6px;margin-top:6px;overflow-x:auto;scrollbar-width:none}.quick-amounts::-webkit-scrollbar{display:none}.quick-amounts button{height:39px;min-width:68px;padding:0 11px;border:1px solid #ead9de;border-radius:12px;background:#fff8fa;color:var(--primary);font-size:10px;font-weight:800;white-space:nowrap;touch-action:manipulation}.quick-amounts button:active{background:var(--primary);color:#fff;transform:scale(.94)}
.cart-checkout{flex:0 0 auto;margin-top:auto;background:#fff}.cart-totals{margin-top:9px;padding:10px 0 6px}.cart-totals>div{min-height:25px;align-items:center}.cart-totals .cart-total{margin-top:4px;padding-top:9px}.cart-change.has-change strong{color:#2d7a58;font-size:17px}.finalize-btn{width:100%;min-height:60px;font-size:16px;touch-action:manipulation;box-shadow:0 10px 22px rgba(111,29,63,.18)}.finalize-btn:active{transform:scale(.985)}
.touch-keypad-modal .modal-dialog{max-width:390px}.touch-keypad-modal .modal-content{border-radius:26px}.touch-keypad-modal .modal-header{padding-bottom:12px}.keypad-display{background:var(--cream);border:1px solid #ead9de;border-radius:18px;padding:13px 16px;text-align:right;margin-bottom:12px}.keypad-display span,.keypad-display strong{display:block}.keypad-display span{font-size:10px;color:var(--muted)}.keypad-display strong{font-family:"Playfair Display",Georgia,serif;color:var(--primary);font-size:32px}
.touch-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.touch-keypad button{height:62px;border:1px solid #ead9de;border-radius:17px;background:#fff;color:var(--primary-dark);font-size:23px;font-weight:800;touch-action:manipulation;transition:transform .07s,background .12s}.touch-keypad button:active{transform:scale(.92);background:var(--rose-soft)}.touch-keypad .keypad-action{color:var(--primary);background:#fff7f9}.keypad-exact{margin-top:9px;min-height:52px}.touch-keypad-modal .modal-footer{padding-top:12px}.touch-keypad-modal .modal-footer .btn{min-height:58px}
@media(max-width:575.98px){.touch-keypad-modal .modal-dialog{max-width:none;min-height:100%;align-items:flex-end;margin:0}.touch-keypad-modal .modal-content{border-radius:26px 26px 0 0}.touch-keypad-modal .modal-body{padding:18px}.touch-keypad button{height:58px}.pos-cart{padding-left:16px;padding-right:16px}}

.customer-touch-field{position:relative}.customer-search-control{height:56px;border:1px solid #e5d3d9;border-radius:16px;background:#fff;display:flex;align-items:center;position:relative;transition:border-color .15s,box-shadow .15s}.customer-search-control:focus-within{border-color:#c77b94;box-shadow:0 0 0 3px rgba(217,95,132,.1)}.customer-search-control>i{position:absolute;left:16px;color:var(--primary);font-size:18px}.customer-search-control input[type=search]{width:100%;height:100%;border:0;outline:0;background:transparent;padding:0 88px 0 46px;font-size:14px;color:var(--ink)}.customer-search-control input[type=search]::-webkit-search-cancel-button{display:none}.customer-clear,.customer-add{position:absolute;top:8px;width:38px;height:38px;border:0;border-radius:12px;display:grid;place-items:center;touch-action:manipulation}.customer-clear{right:48px;background:#f7eef1;color:#9f5269}.customer-add{right:7px;background:var(--rose-soft);color:var(--primary);font-size:17px}.customer-clear:active,.customer-add:active{transform:scale(.9)}.customer-search-hint{display:block;margin:4px 3px 0;color:#9a858d;font-size:9px}
.customer-search-results{position:absolute;z-index:30;left:0;right:0;top:77px;max-height:245px;overflow-y:auto;background:#fff;border:1px solid #e6d4da;border-radius:16px;padding:6px;box-shadow:0 18px 40px rgba(69,17,38,.2)}.customer-result{width:100%;min-height:54px;border:0;border-bottom:1px solid #f1e7ea;background:#fff;padding:7px 9px;display:grid;grid-template-columns:34px 1fr auto;gap:8px;align-items:center;text-align:left;color:var(--primary);touch-action:manipulation}.customer-result>i:first-child{font-size:22px}.customer-result>i:last-child{font-size:12px;color:#b69ca6}.customer-result span strong,.customer-result span small{display:block}.customer-result span strong{font-size:12px;color:var(--ink)}.customer-result span small{font-size:9px;color:var(--muted)}.customer-result:active{background:var(--rose-soft)}.customer-result-add{width:100%;min-height:46px;border:0;border-radius:11px;background:var(--rose-soft);color:var(--primary);font-size:11px;font-weight:800;margin-top:5px;touch-action:manipulation}.customer-result-add i{margin-right:7px}.customer-no-results{padding:12px;text-align:center;color:var(--muted);font-size:10px}.customer-no-results i{margin-right:5px}
.cash-status{display:flex;align-items:center;gap:7px;margin-top:6px;padding:7px 9px;border-radius:10px;background:#f7f2f4;color:#806f77;font-size:9px;font-weight:700}.cash-status.is-missing{background:#fff0f0;color:#bd2c3e}.cash-status.has-change{background:#eaf7ef;color:#26714e}.cash-status.is-exact{background:#f2f7f4;color:#39745a}.cart-change.is-missing strong{color:#bd2c3e!important;font-size:17px}.finalize-btn:disabled{background:#bfa5ae!important;border-color:#bfa5ae!important;box-shadow:none;cursor:not-allowed}
.touch-confirm-modal{border-radius:24px}.touch-confirm-modal .modal-body{padding:27px 22px}.touch-confirm-icon{width:64px;height:64px;border-radius:20px;background:#fff0f0;color:#c33149;display:grid;place-items:center;margin:0 auto 13px;font-size:26px}.touch-confirm-modal h3{font-family:"Playfair Display",Georgia,serif;color:var(--primary-dark);font-size:23px}.touch-confirm-modal p{font-size:12px;color:var(--muted);margin:7px 0 20px}.touch-confirm-modal .btn{min-height:52px}
#quickCustomerModal .modal-dialog{max-width:500px}#quickCustomerModal .form-control{min-height:54px}#quickCustomerError{font-size:12px}

/* Pagamentos sempre visíveis e troco destacado */
.payment-touch-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;overflow:visible;padding:1px;scroll-snap-type:none}
.payment-touch-option{width:100%;min-width:0;height:60px;padding:5px 3px;white-space:normal;line-height:1.05;overflow:hidden}
.payment-touch-option span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;max-width:100%;font-size:8px;text-align:center}
.cash-change-card{margin-top:7px;padding:10px 12px;border:1px solid #e5d3d9;border-radius:15px;background:linear-gradient(135deg,#fff8fa,#fff);color:var(--primary)}
.cash-change-card>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.cash-change-card>div span{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.cash-change-card>div strong{font-family:"Playfair Display",Georgia,serif;font-size:22px;white-space:nowrap}.cash-change-card small{display:block;margin-top:4px;color:#8a737c;font-size:9px}.cash-change-card.has-change{border-color:#9dcdb3;background:#eef9f2;color:#26714e}.cash-change-card.is-missing{border-color:#edb4bc;background:#fff3f4;color:#b52d42}.cash-change-card.is-exact{border-color:#c8dfd1;background:#f4faf6;color:#39745a}
@media(max-width:390px){.payment-touch-options{grid-template-columns:repeat(3,minmax(0,1fr))}}
body.route-pdv.pdv-seller-mode .cart-items{min-height:70px}body.route-pdv.pdv-seller-mode .cart-empty{min-height:70px}
body.route-pdv.pdv-seller-mode .cart-totals>div:not(.cart-total):not(.cart-change){display:none}
body.route-pdv.pdv-seller-mode .cart-checkout{position:sticky;bottom:0;z-index:5;padding-top:2px}
body.route-pdv.pdv-seller-mode .customer-search-control{height:50px}body.route-pdv.pdv-seller-mode .customer-clear,body.route-pdv.pdv-seller-mode .customer-add{top:6px}
body.route-pdv.pdv-seller-mode .payment-touch-option{height:52px}body.route-pdv.pdv-seller-mode .received-touch-button{height:52px}body.route-pdv.pdv-seller-mode .cash-change-card{padding:7px 10px}body.route-pdv.pdv-seller-mode .cash-change-card>div strong{font-size:19px}

/* Seções retráteis liberam espaço para os itens do pedido */
.touch-cart-fields{display:grid;gap:7px;border-top:1px solid var(--line);padding-top:9px}
.cart-collapse{border:1px solid #ead9de;border-radius:16px;background:#fff;overflow:visible}.cart-collapse-toggle{width:100%;height:54px;border:0;border-radius:15px;background:#fff;padding:7px 11px;display:grid;grid-template-columns:38px minmax(0,1fr) 24px;gap:8px;align-items:center;text-align:left;color:var(--primary);touch-action:manipulation}.cart-collapse-toggle:active{background:#fff5f7}.cart-collapse-icon{width:36px;height:36px;border-radius:12px;background:var(--rose-soft);display:grid;place-items:center;font-size:16px}.cart-collapse-toggle>span:nth-child(2){min-width:0}.cart-collapse-toggle small,.cart-collapse-toggle strong{display:block}.cart-collapse-toggle small{font-size:8px;color:#927b84;text-transform:uppercase;letter-spacing:.06em;font-weight:800}.cart-collapse-toggle strong{font-size:12px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cart-collapse-chevron{justify-self:center;color:#ad8b97;transition:transform .18s}.cart-collapse.open .cart-collapse-chevron{transform:rotate(180deg)}.cart-collapse.open{border-color:#d9b6c2;box-shadow:0 7px 18px rgba(111,29,63,.07)}.cart-collapse.open .cart-collapse-toggle{border-radius:15px 15px 0 0}.cart-collapse-body{padding:9px 10px 10px;border-top:1px solid #f0e4e8}.cart-collapse-body[hidden]{display:none!important}.cart-collapse-body .payment-touch-field{margin-top:0}.cart-collapse-body .customer-search-results{top:60px}
body.route-pdv.pdv-seller-mode .cart-items{min-height:180px}
body.route-pdv.pdv-seller-mode .pos-cart:has(.cart-collapse.open) .cart-items{min-height:70px}
@media(max-height:760px) and (min-width:992px){body.route-pdv.pdv-seller-mode .cart-items{min-height:130px}.cart-collapse-toggle{height:50px}.cart-collapse-icon{width:32px;height:32px}.cart-totals{padding-top:7px}.finalize-btn{min-height:54px}}

/* Tela cheia sempre sem navegação administrativa */
html:fullscreen body.route-pdv .sidebar,html:fullscreen body.route-pdv .topbar,html:fullscreen body.route-pdv #mobileMenu{display:none!important}
html:fullscreen body.route-pdv .app-main{margin-left:0}html:fullscreen body.route-pdv .content-wrap{padding:0}html:fullscreen body.route-pdv .pos-shell{margin:0;min-height:100vh;min-height:100dvh}
@media(min-width:992px){body.route-pdv.pdv-seller-mode #browserFullscreen{position:fixed;z-index:1040;top:11px;left:calc((100vw - 405px)/2);transform:translateX(-50%);box-shadow:0 9px 24px rgba(69,17,38,.16);background:#fff;border-color:#ead9de}body.route-pdv.pdv-seller-mode #browserFullscreen:hover{background:#fff5f7}}
@media(min-width:992px) and (max-width:1199.98px){body.route-pdv.pdv-seller-mode #browserFullscreen{left:calc((100vw - 360px)/2)}}

/* Tipografia legível para operação no caixa */
.pos-shell .eyebrow{font-size:11px}.pos-mode-status small{font-size:11px}.pos-menu-heading p{font-size:14px}.pos-menu-heading>strong{font-size:12px}
.pos-product .product-category{font-size:10px;line-height:1.2}.pos-product strong{font-size:19px;line-height:1.25}.pos-product .product-description{font-size:12px;line-height:1.4;color:#725f67;font-weight:600}.pos-product b{font-size:24px;line-height:1.2}.unit-caption{font-size:11px;line-height:1.35;color:#7f6a72;margin-top:2px}
.cart-title p{font-size:12px}.cart-item strong{font-size:16px;line-height:1.25}.cart-item small{font-size:11px;line-height:1.35;color:#725f67}.qty-control b{font-size:16px}
.cart-collapse-toggle small{font-size:10px}.cart-collapse-toggle strong{font-size:14px}.touch-field-label,.touch-select-field>span{font-size:10px}.customer-search-hint{font-size:10px;line-height:1.35}.customer-result span strong{font-size:13px}.customer-result span small{font-size:11px}
.payment-touch-option span{font-size:9.5px;line-height:1.15}.received-touch-button span small{font-size:10px}.received-touch-button span strong{font-size:22px}.quick-amounts button{font-size:11px}.cash-change-card>div span{font-size:10px}.cash-change-card small{font-size:10px;line-height:1.3}
.cart-totals>div{font-size:14px}.cart-security{font-size:10px;line-height:1.3}.unit-caption,.product-description,.cart-item small{-webkit-font-smoothing:antialiased}
