:root{
  --primary:#B5787F;
  --primary-dark:#925C64;
  --wine:#693D46;
  --bg:#F8F4F2;
  --card:#FFFFFF;
  --border:#E8DCDD;
  --text:#2A2526;
  --muted:#786C6E;
  --muted-2:#A79A9C;
  --soft:#F3E6E8;
  --success:#4F8A68;
  --warning:#D69B3B;
  --danger:#C7535D;
  --info:#5E7E9A;
  --shadow:0 8px 24px rgba(83,56,61,.08);
  --radius:18px;
  --sidebar:286px;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif;color:var(--text);background:var(--bg)}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
a{color:inherit}
.app-shell{min-height:100vh;display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr)}
.sidebar{position:sticky;top:0;height:100vh;background:#fff;border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:50;overflow:auto}
.brand{display:flex;align-items:center;gap:12px;padding:22px 22px 16px}
.brand-mark{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:#fff;font:500 29px Georgia,serif;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}
.brand-name{font:500 24px Georgia,serif;letter-spacing:2px}.brand-sub{font-size:12px;color:var(--primary-dark);letter-spacing:.6px;margin-top:-2px}
.business-chip{margin:0 14px 14px;padding:14px 14px;border-radius:14px;background:linear-gradient(145deg,var(--wine),var(--primary-dark));color:#fff;display:flex;align-items:center;justify-content:space-between;gap:12px}
.business-chip strong{display:block;font-size:13px;letter-spacing:.3px}.business-chip span{display:block;font-size:12px;opacity:.78;margin-top:3px}.business-chip .chev{font-size:30px;opacity:1;margin:0}
.nav-list{padding:4px 10px 12px;display:flex;flex-direction:column;gap:4px}
.nav-item{border:0;background:transparent;border-radius:12px;display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;padding:12px 12px;text-align:left;font-weight:650;color:#5a5052;min-height:50px}
.nav-item:hover{background:#faf5f5}.nav-item.active{background:var(--soft);color:var(--primary-dark)}
.nav-icon{width:32px;height:32px;display:grid;place-items:center;font-size:20px}.nav-badge{background:var(--primary);color:#fff;min-width:24px;height:24px;border-radius:999px;padding:0 7px;display:grid;place-items:center;font-size:12px}
.sidebar-footer{margin-top:auto;border-top:1px solid var(--border);padding:16px 20px;display:flex;align-items:center;gap:10px;color:var(--muted)}
.sidebar-footer strong,.sidebar-footer span{display:block}.sidebar-footer strong{font-size:13px}.sidebar-footer span{font-size:11px}.sync-dot{width:10px;height:10px;border-radius:50%;background:var(--success);box-shadow:0 0 0 4px rgba(79,138,104,.12)}
.main-area{min-width:0}.topbar{height:78px;position:sticky;top:0;z-index:40;background:rgba(248,244,242,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:14px;padding:0 28px}
.menu-btn{display:none}.topbar-title-wrap{min-width:0;flex:1}.page-title{font-size:24px;font-weight:750}.page-subtitle{font-size:12px;color:var(--muted);margin-top:2px}.topbar-actions{display:flex;gap:8px;align-items:center}
.icon-btn,.soft-btn,.primary-btn,.outline-btn,.danger-btn,.ghost-btn{border:0;border-radius:12px;min-height:44px;padding:0 16px;font-weight:700;transition:.15s ease}
.icon-btn{width:44px;padding:0;background:#fff;border:1px solid var(--border);font-size:19px}.icon-btn:hover,.soft-btn:hover,.outline-btn:hover{transform:translateY(-1px);box-shadow:var(--shadow)}
.soft-btn{background:var(--soft);color:var(--primary-dark)}.primary-btn{background:var(--primary);color:#fff}.primary-btn:hover{background:var(--primary-dark);transform:translateY(-1px)}.outline-btn{background:#fff;border:1px solid var(--primary);color:var(--primary-dark)}.ghost-btn{background:transparent;color:var(--primary-dark)}.danger-btn{background:#fff0f1;color:var(--danger);border:1px solid #f4c8cd}
.content{padding:28px;max-width:1540px;margin:0 auto}
.hero{background:linear-gradient(135deg,var(--wine),var(--primary-dark) 60%,var(--primary));color:#fff;border-radius:24px;padding:26px 28px;box-shadow:var(--shadow);position:relative;overflow:hidden}.hero:after{content:"";position:absolute;width:240px;height:240px;border-radius:50%;background:rgba(255,255,255,.07);right:-70px;top:-110px}.hero-row{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:1.4px;opacity:.8;font-weight:750}.hero-value{font-size:48px;font-weight:800;line-height:1.05;margin:8px 0}.hero-meta{display:flex;gap:22px;flex-wrap:wrap;color:#f7e9eb}.hero-meta strong{color:#fff}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.hero .primary-btn{background:#fff;color:var(--wine)}.hero .outline-btn{background:transparent;border-color:rgba(255,255,255,.48);color:#fff}
.grid{display:grid;gap:16px}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:0 2px 8px rgba(83,56,61,.035)}.card.clickable{cursor:pointer;transition:.15s ease}.card.clickable:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:#d9c4c7}
.stat-card{display:flex;justify-content:space-between;gap:12px;min-height:126px}.stat-label{font-size:13px;color:var(--muted);font-weight:700}.stat-value{font-size:26px;font-weight:800;margin-top:10px}.stat-sub{font-size:12px;color:var(--muted);margin-top:5px}.stat-icon{width:46px;height:46px;border-radius:14px;background:var(--soft);display:grid;place-items:center;color:var(--primary-dark);font-size:22px}
.section{margin-top:22px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.section-title{font-size:20px;font-weight:800}.section-note{font-size:12px;color:var(--muted)}
.quick-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.quick-card{background:#fff;border:1px solid var(--border);border-radius:16px;min-height:118px;padding:17px;text-align:left;display:flex;flex-direction:column;justify-content:space-between;transition:.15s ease}.quick-card:hover{border-color:var(--primary);box-shadow:var(--shadow);transform:translateY(-2px)}.quick-card .q-icon{font-size:25px}.quick-card strong{font-size:15px}.quick-card span{color:var(--muted);font-size:12px}
.stock-split{display:grid;grid-template-columns:240px 1fr;gap:20px;align-items:center}.donut{--a:50;--b:20;--c:20;width:174px;height:174px;border-radius:50%;background:conic-gradient(var(--success) 0 calc(var(--a)*1%),var(--warning) calc(var(--a)*1%) calc((var(--a) + var(--b))*1%),var(--danger) calc((var(--a) + var(--b))*1%) calc((var(--a) + var(--b) + var(--c))*1%),#8ba5bd calc((var(--a) + var(--b) + var(--c))*1%) 100%);position:relative;margin:auto}.donut:after{content:"";position:absolute;inset:27px;background:#fff;border-radius:50%}.legend{display:grid;gap:10px}.legend-row{display:grid;grid-template-columns:14px 1fr auto;gap:9px;align-items:center}.dot{width:10px;height:10px;border-radius:50%}.dot.ok{background:var(--success)}.dot.warn{background:var(--warning)}.dot.bad{background:var(--danger)}.dot.info{background:#8ba5bd}
.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.search{flex:1;min-width:260px;position:relative}.search input{width:100%;height:48px;border:1px solid var(--border);border-radius:14px;background:#fff;padding:0 16px 0 42px;outline:none}.search:before{content:"⌕";position:absolute;left:14px;top:8px;font-size:26px;color:var(--muted)}.search input:focus,.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(181,120,127,.12)}
.chips{display:flex;gap:8px;overflow:auto;padding:2px 0 6px}.chip{white-space:nowrap;border:1px solid var(--border);background:#fff;border-radius:999px;padding:8px 13px;font-size:12px;font-weight:750;color:var(--muted)}.chip.active{border-color:var(--primary);background:var(--soft);color:var(--primary-dark)}
.table-card{background:#fff;border:1px solid var(--border);border-radius:18px;overflow:hidden}.table{width:100%;border-collapse:collapse}.table th{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);background:#fcf9f8;text-align:left;padding:13px 16px;border-bottom:1px solid var(--border)}.table td{padding:14px 16px;border-bottom:1px solid #f0e9e7;vertical-align:middle}.table tr:last-child td{border-bottom:0}.table tbody tr{transition:.1s}.table tbody tr:hover{background:#fdf9f8}.name-cell strong{display:block}.name-cell span{font-size:12px;color:var(--muted);display:block;margin-top:3px}.money{font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.danger{color:var(--danger)}.success{color:var(--success)}.warning{color:var(--warning)}
.status-pill{display:inline-flex;align-items:center;gap:7px;padding:6px 9px;border-radius:999px;font-size:11px;font-weight:800;background:#f3f0f0}.status-pill:before{content:"";width:7px;height:7px;border-radius:50%;background:#999}.status-pill.ok{background:#edf6f0;color:#3d7556}.status-pill.ok:before{background:var(--success)}.status-pill.warn{background:#fff5df;color:#9b6b16}.status-pill.warn:before{background:var(--warning)}.status-pill.bad{background:#fff0f1;color:#a43f48}.status-pill.bad:before{background:var(--danger)}.status-pill.info{background:#eef3f7;color:#4c6f8a}.status-pill.info:before{background:#8ba5bd}
.product-layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:18px;align-items:start}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px}.product-card{background:#fff;border:1px solid var(--border);border-radius:16px;overflow:hidden;min-height:178px;display:flex;flex-direction:column;cursor:pointer;transition:.15s}.product-card:hover{border-color:var(--primary);box-shadow:var(--shadow);transform:translateY(-2px)}.product-card.disabled{opacity:.55;cursor:not-allowed}.product-image{height:96px;background:linear-gradient(145deg,#fbf8f7,#f0e3e5);display:grid;place-items:center;color:var(--primary-dark);font-weight:850;font-size:25px}.product-info{padding:12px}.product-name{font-weight:750;font-size:13px;line-height:1.25;min-height:33px}.product-price{font-weight:850;margin-top:8px}.product-stock{font-size:11px;color:var(--muted);margin-top:3px}
.cart{position:sticky;top:98px;background:#fff;border:1px solid var(--border);border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}.cart-head{padding:16px 18px;background:linear-gradient(135deg,var(--wine),var(--primary-dark));color:#fff;display:flex;align-items:center;justify-content:space-between}.cart-body{padding:14px;max-height:49vh;overflow:auto}.empty{padding:34px 18px;text-align:center;color:var(--muted)}.empty-icon{font-size:42px;opacity:.45}.cart-line{display:grid;grid-template-columns:1fr auto;gap:10px;padding:10px 0;border-bottom:1px solid #f1e9e8}.cart-line:last-child{border-bottom:0}.qty-row{display:flex;align-items:center;gap:6px;margin-top:6px}.mini-btn{border:1px solid var(--border);background:#fff;border-radius:8px;width:28px;height:28px}.cart-foot{border-top:1px solid var(--border);padding:14px}.cart-summary{display:grid;gap:6px;margin-bottom:12px}.sum-row{display:flex;justify-content:space-between;font-size:13px}.sum-row.total{font-size:21px;font-weight:850;padding-top:5px}.cart-foot .primary-btn{width:100%;height:50px}
.customer-pick{border:1px solid var(--border);border-radius:12px;padding:10px 12px;margin-bottom:10px;display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fcf9f8}.customer-pick button{border:0;background:transparent;color:var(--primary-dark);font-weight:750}
.tabs{display:flex;border-bottom:1px solid var(--border);margin-bottom:16px}.tab{border:0;background:transparent;padding:12px 20px;font-weight:750;color:var(--muted);border-bottom:3px solid transparent}.tab.active{color:var(--primary-dark);border-bottom-color:var(--primary)}
.list-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:15px 18px;background:#fff;border-bottom:1px solid #f0e9e7}.list-row:first-child{border-radius:16px 16px 0 0}.list-row:last-child{border-bottom:0;border-radius:0 0 16px 16px}.list-wrap{border:1px solid var(--border);border-radius:16px;overflow:hidden}.row-actions{display:flex;gap:7px;align-items:center}.small-btn{border:1px solid var(--border);background:#fff;border-radius:9px;min-height:34px;padding:0 10px;font-size:12px;font-weight:750}.small-btn.primary{background:var(--soft);border-color:#dec6c9;color:var(--primary-dark)}
.notice{border:1px solid #ead5b1;background:#fff9ec;border-radius:14px;padding:14px 16px;color:#76591e;font-size:13px;line-height:1.45}.notice strong{color:#60440f}
.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.bar-list{display:grid;gap:12px}.bar-row{display:grid;grid-template-columns:minmax(120px,1fr) 2fr auto;gap:10px;align-items:center;font-size:12px}.bar-track{height:10px;background:#f1e9e7;border-radius:999px;overflow:hidden}.bar-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--primary-dark));border-radius:999px}
.sale-group{margin-bottom:22px}.sale-date{font-size:18px;font-weight:800;margin-bottom:4px}.sale-group-total{font-size:12px;color:var(--muted);margin-bottom:8px}.sale-row{background:#fff;border:1px solid var(--border);border-radius:14px;padding:14px 16px;margin-bottom:8px;display:grid;grid-template-columns:1fr auto;gap:14px;cursor:pointer}.sale-row:hover{border-color:var(--primary);box-shadow:var(--shadow)}.sale-main{min-width:0}.sale-title{font-weight:850}.sale-desc{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:5px}.sale-client{font-size:13px;font-weight:700;margin-top:6px}.sale-side{text-align:right}.sale-side span{display:block;color:var(--muted);font-size:11px;margin-top:5px}
.pagination{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:16px}.page-btn{border:1px solid var(--border);background:#fff;border-radius:9px;padding:8px 11px}.page-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}
.modal-backdrop{position:fixed;inset:0;background:rgba(36,29,30,.47);backdrop-filter:blur(2px);z-index:100;display:grid;place-items:center;padding:24px}.modal{width:min(720px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:20px;box-shadow:0 24px 70px rgba(46,31,34,.25)}.modal.wide{width:min(1000px,100%)}.modal-head{position:sticky;top:0;background:#fff;z-index:2;border-bottom:1px solid var(--border);padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:10px}.modal-title{font-size:19px;font-weight:850}.modal-body{padding:20px}.modal-foot{position:sticky;bottom:0;background:#fff;border-top:1px solid var(--border);padding:14px 20px;display:flex;justify-content:flex-end;gap:8px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:grid;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:12px;font-weight:750;color:var(--muted)}.field input,.field select,.field textarea{width:100%;border:1px solid var(--border);border-radius:12px;background:#fff;padding:11px 12px;outline:none}.field textarea{min-height:88px;resize:vertical}.check-row{display:flex;align-items:center;gap:8px}.check-row input{width:18px;height:18px;accent-color:var(--primary)}
.payment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.payment-option{border:1px solid var(--border);background:#fff;border-radius:14px;min-height:105px;padding:14px;text-align:center;font-weight:750}.payment-option:hover,.payment-option.active{border-color:var(--primary);background:var(--soft);color:var(--primary-dark)}.pay-icon{display:block;font-size:28px;margin-bottom:8px}.big-total{text-align:center;font-size:44px;font-weight:850;color:var(--wine);margin:12px 0 20px}.num-pad{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--border);border-radius:14px;overflow:hidden}.num-key{height:66px;border:0;border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:#fff;font-size:22px}.num-key:nth-child(3n){border-right:0}.num-key:hover{background:#faf5f5}
.toast{position:fixed;right:22px;bottom:22px;z-index:200;background:#2f292a;color:#fff;border-radius:12px;padding:13px 16px;box-shadow:0 12px 35px rgba(0,0,0,.2);transform:translateY(20px);opacity:0;pointer-events:none;transition:.2s;max-width:360px}.toast.show{transform:none;opacity:1}
.drawer-backdrop{display:none}.mobile-cart-bar{display:none}.hide{display:none!important}
.skeleton-note{font-size:12px;color:var(--muted);padding:10px 0}.kbd{font-family:ui-monospace,monospace;border:1px solid var(--border);background:#fff;border-radius:6px;padding:2px 6px;font-size:11px}
.help-list{display:grid;gap:10px}.help-item{border:1px solid var(--border);border-radius:13px;padding:13px 14px}.help-item strong{display:block;margin-bottom:3px}.help-item span{font-size:12px;color:var(--muted)}
@media (max-width:1200px){.grid-4{grid-template-columns:repeat(2,1fr)}.quick-grid{grid-template-columns:repeat(3,1fr)}.product-grid{grid-template-columns:repeat(3,minmax(145px,1fr))}.product-layout{grid-template-columns:minmax(0,1fr) 340px}}
@media (max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:0;top:0;width:min(86vw,310px);transform:translateX(-102%);transition:.2s;box-shadow:8px 0 30px rgba(0,0,0,.18)}.sidebar.open{transform:none}.drawer-backdrop.show{display:block;position:fixed;inset:0;background:rgba(30,24,25,.45);z-index:45}.menu-btn{display:inline-grid;place-items:center}.topbar{padding:0 16px;height:68px}.content{padding:18px}.product-layout{grid-template-columns:1fr}.cart{display:none}.mobile-cart-bar{display:flex;position:fixed;left:12px;right:12px;bottom:12px;z-index:35;background:var(--wine);color:#fff;border-radius:15px;padding:12px 16px;align-items:center;justify-content:space-between;box-shadow:0 14px 40px rgba(50,30,34,.25)}.product-grid{padding-bottom:80px}.report-grid{grid-template-columns:1fr}.stock-split{grid-template-columns:1fr}.hero-value{font-size:38px}}
@media (max-width:640px){.topbar-actions .soft-btn{display:none}.content{padding:14px}.hero{padding:21px 18px}.hero-row{display:block}.hero-actions{margin-top:16px}.grid-4,.grid-3,.grid-2{grid-template-columns:1fr}.quick-grid{grid-template-columns:1fr 1fr}.product-grid{grid-template-columns:1fr 1fr}.table-card{overflow:auto}.table{min-width:720px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.payment-grid{grid-template-columns:1fr 1fr}.modal-backdrop{padding:8px;place-items:end center}.modal{border-radius:20px 20px 0 0;max-height:93vh}.hero-meta{gap:10px}.stat-card{min-height:110px}.bar-row{grid-template-columns:1fr}.bar-row .bar-track{grid-column:1/-1}.page-title{font-size:21px}}


/* V3 — fotos, categorias, moeda e scanner */
.product-image{overflow:hidden;position:relative}
.product-image img{display:block;width:100%;height:100%;object-fit:contain;background:#fff;padding:5px}
.product-image-fallback{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(145deg,#fbf8f7,#f0e3e5)}
.product-name-with-photo{display:flex;align-items:center;gap:12px;min-width:250px}
.product-image.table-thumb{width:56px;height:56px;min-width:56px;border:1px solid var(--border);border-radius:10px;font-size:13px;background:#fff}
.product-image.table-thumb img{padding:3px}
.product-table .description-cell{max-width:300px;font-size:12px;color:var(--muted);line-height:1.35}
.product-card-main{border:0;background:#fff;padding:0;text-align:left;width:100%;display:block;color:inherit;flex:1}
.product-card-main:disabled{cursor:not-allowed}
.product-card .product-image{height:128px;border-bottom:1px solid #f4eeee}
.product-card .product-image img{padding:8px}
.product-more{border:0;border-top:1px solid #f3eceb;background:#fff;padding:9px 12px;color:var(--primary-dark);font-size:11px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.brand-badge{background:var(--soft);border-radius:999px;padding:3px 7px;font-size:9px;font-weight:800}
.product-edit-photo-row{display:grid;grid-template-columns:170px 1fr;gap:18px;align-items:center;padding:0 0 20px;margin-bottom:18px;border-bottom:1px solid var(--border)}
.product-edit-photo{width:170px;height:170px;border:1px solid var(--border);border-radius:16px;background:#faf7f6;display:grid;place-items:center;overflow:hidden}
.product-edit-photo img{width:100%;height:100%;object-fit:contain;background:#fff;padding:8px}
.product-photo-placeholder{display:grid;place-items:center;width:100%;height:100%;font-weight:800;color:var(--primary-dark);background:var(--soft)}
.product-photo-actions{display:flex;flex-direction:column;align-items:flex-start;gap:9px}.product-photo-actions .field-hint{max-width:430px}
.file-btn{display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.field-hint{font-size:11px;color:var(--muted);line-height:1.35}
.inline-input-action{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}.inline-input-action .small-btn{min-height:44px}
.inline-add-category{display:grid;grid-template-columns:1fr auto;gap:10px}.inline-add-category input{border:1px solid var(--border);border-radius:12px;padding:11px 12px;outline:none}
.category-list{display:grid;gap:8px;margin-top:16px}.category-row{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid var(--border);border-radius:12px;padding:12px 14px}.category-row strong,.category-row span{display:block}.category-row span{font-size:11px;color:var(--muted);margin-top:3px}
.barcode-reader{min-height:250px;border:1px solid var(--border);border-radius:16px;overflow:hidden;background:#111;display:grid;place-items:center}.barcode-reader video{width:100%!important;max-height:360px;object-fit:cover}.barcode-reader #qr-shaded-region{border-color:var(--primary)!important}
.detail-product-image{display:block;width:min(420px,100%);height:320px;object-fit:contain;margin:0 auto;border:1px solid var(--border);border-radius:16px;background:#fff;padding:10px}
.detail-product-placeholder{height:220px;display:grid;place-items:center;border-radius:16px;background:var(--soft);font-size:38px;color:var(--primary-dark);font-weight:800}
.product-source-link{display:inline-flex;margin-top:10px}.catalog-note{font-size:12px;color:var(--muted);line-height:1.45;margin-top:10px}
@media(max-width:640px){.product-edit-photo-row{grid-template-columns:1fr}.product-edit-photo{width:100%;height:220px}.product-name-with-photo{min-width:220px}.product-image.table-thumb{width:50px;height:50px;min-width:50px}.inline-add-category{grid-template-columns:1fr}.product-card .product-image{height:116px}}
.product-detail-grid{display:grid;grid-template-columns:minmax(260px,42%) 1fr;gap:24px;align-items:start}
.product-detail-visual{min-width:0}.product-detail-title{font-size:24px;line-height:1.18;margin:8px 0}.product-detail-price{font-size:30px;font-weight:850;color:var(--wine);margin:8px 0 12px}.product-detail-stock{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:16px}.product-detail-description{line-height:1.55;color:var(--muted);white-space:pre-line;margin:16px 0}.detail-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:16px}.detail-meta>div{border:1px solid var(--border);border-radius:12px;padding:11px;background:#fcf9f8}.detail-meta span,.detail-meta strong{display:block}.detail-meta span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}.detail-meta strong{font-size:13px;margin-top:4px;word-break:break-word}
@media(max-width:720px){.product-detail-grid{grid-template-columns:1fr}.detail-meta{grid-template-columns:1fr 1fr}.detail-product-image{height:260px}}
.catalog-note.warning{color:#8a5a30;background:#fff7ed;border:1px solid #f1dcc6;border-radius:10px;padding:10px 12px}


/* V5.1 — ordenação clicável da tabela de Produtos */
.product-table thead th{white-space:nowrap}
.table-sort{border:0;background:transparent;padding:0;margin:0;color:inherit;font:inherit;font-weight:800;display:inline-flex;align-items:center;gap:6px;cursor:pointer;min-height:28px}
.table-sort:hover{color:var(--primary-dark)}
.table-sort:focus-visible{outline:2px solid var(--primary);outline-offset:3px;border-radius:5px}
.table-sort .sort-arrow{font-size:13px;line-height:1;color:var(--muted);min-width:12px;text-align:center}
.table-sort.active{color:var(--primary-dark)}
.table-sort.active .sort-arrow{color:var(--primary-dark);font-weight:900}


/* V5.2 — produtos clicáveis, histórico de cliente e contas a receber reconstruíveis */
.product-click-row{cursor:pointer;transition:.12s ease}
.product-click-row:hover td{background:#fcf7f7}
.product-click-row:has(button:hover) td{background:inherit}
.customer-history-row{grid-template-columns:minmax(0,1fr) 132px;align-items:center}
.customer-history-row .sale-main{min-width:0;overflow:hidden}
.customer-history-products{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.customer-history-side{width:132px;min-width:132px;white-space:nowrap;align-self:center}
.customer-history-side strong{display:block}
.charge-btn{border-color:#d9aab0!important;background:#fff6f7!important;color:var(--primary-dark)!important}
.receivable-customer-row{gap:18px}.receivable-row-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.receivable-row-actions>strong{min-width:110px;text-align:right}
.legacy-review-list,.charge-debt-list{display:grid;gap:10px;max-height:58vh;overflow:auto;padding-right:4px}
.legacy-review-row,.charge-debt-row{border:1px solid var(--border);border-radius:14px;padding:13px 14px;background:#fff;display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:14px;align-items:center}
.legacy-review-main{min-width:0}.legacy-review-main .sale-desc{max-width:100%}.legacy-review-controls,.charge-values{display:grid;grid-template-columns:1fr;gap:7px}.legacy-review-controls select,.legacy-review-controls input,.charge-values select,.charge-values input{width:100%;border:1px solid var(--border);border-radius:10px;padding:9px 10px;background:#fff}
.warning-text{color:#8a5a30;margin-top:5px}.notice.warning{background:#fff7ed;border-color:#f1dcc6;color:#8a5a30}
.charge-check{display:flex;align-items:flex-start;gap:10px;min-width:0;cursor:pointer}.charge-check input{width:18px;height:18px;margin-top:2px;accent-color:var(--primary);flex:0 0 auto}.charge-check span{min-width:0}.charge-check strong,.charge-check small{display:block}.charge-check small{font-size:11px;color:var(--muted);margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.charge-preview-total{margin-top:14px;border:1px solid var(--border);border-radius:14px;padding:13px 15px;display:flex;align-items:center;justify-content:space-between;background:#fcf9f8}.charge-preview-total strong{font-size:20px;color:var(--wine)}
@media(max-width:720px){.customer-history-row{grid-template-columns:minmax(0,1fr) 104px}.customer-history-side{width:104px;min-width:104px}.legacy-review-row,.charge-debt-row{grid-template-columns:1fr}.receivable-row-actions{justify-content:flex-start}.receivable-row-actions>strong{text-align:left}}

/* V5.3 — marca/linha, busca global, scanner remoto e mobile */
.product-brand-line{font-size:11px;color:var(--muted);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.filter-label{font-size:10px;font-weight:850;letter-spacing:.08em;color:var(--muted);margin:12px 0 6px;text-transform:uppercase}
.chips-scroll{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px;scrollbar-width:thin}.chips-scroll .chip{flex:0 0 auto}
.mobile-product-list{display:none}
.taxonomy-grid{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(320px,1.1fr);gap:16px;align-items:start}
.taxonomy-panel{border:1px solid var(--border);border-radius:16px;padding:14px;background:#fcfaf9;min-width:0}.taxonomy-title{font-size:15px;font-weight:850;margin-bottom:12px}.taxonomy-list{display:grid;gap:8px;margin-top:12px;max-height:52vh;overflow:auto}.taxonomy-row{border:1px solid var(--border);border-radius:12px;padding:9px;display:flex;align-items:center;justify-content:space-between;gap:8px;background:#fff}.taxonomy-row.selected{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 15%,transparent)}.taxonomy-select{border:0;background:transparent;text-align:left;min-width:0;flex:1;padding:3px;cursor:pointer;color:inherit}.taxonomy-select.static{cursor:default}.taxonomy-select strong,.taxonomy-select span{display:block}.taxonomy-select span{font-size:11px;color:var(--muted);margin-top:3px}.taxonomy-row .row-actions{flex-wrap:nowrap}
.scanner-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.scanner-choice{border:1px solid var(--border);border-radius:16px;background:#fff;padding:18px;text-align:left;display:flex;flex-direction:column;gap:7px;cursor:pointer;color:inherit}.scanner-choice:hover{border-color:var(--primary);box-shadow:var(--shadow)}.scanner-choice-icon{font-size:28px;color:var(--primary-dark)}.scanner-choice strong{font-size:15px}.scanner-choice small{color:var(--muted);line-height:1.4}.barcode-photo-btn{display:flex;justify-content:center;align-items:center;margin-top:12px}.scanner-loading{padding:22px;text-align:center;color:var(--muted)}
.phone-pair-grid{display:grid;grid-template-columns:280px 1fr;gap:22px;align-items:start}.pair-qr{text-align:center;border:1px solid var(--border);border-radius:18px;padding:12px;background:#fff}.pair-qr img{display:block;width:100%;max-width:260px;aspect-ratio:1;margin:0 auto;border-radius:10px}.pair-code{font-weight:900;font-size:18px;letter-spacing:.08em;margin-top:8px}.pair-link{border:1px solid var(--border);border-radius:12px;padding:10px;background:#faf8f7;word-break:break-all;font-size:12px;user-select:all}.remote-device-list{display:grid;gap:8px;margin-top:12px}.remote-device{border:1px solid var(--border);border-radius:13px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.remote-device.selected{border-color:var(--primary);background:var(--soft)}.remote-device strong,.remote-device span{display:block}.remote-device span{font-size:11px;color:var(--muted);margin-top:3px}

@media(max-width:760px){
  .product-desktop-table{display:none}.mobile-product-list{display:grid;gap:10px;margin-top:14px}.mobile-product-row{border:1px solid var(--border);border-radius:16px;padding:12px;background:#fff;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;cursor:pointer}.mobile-product-main{display:flex;gap:10px;align-items:center;min-width:0}.mobile-product-main .name-cell{min-width:0}.mobile-product-main .name-cell strong,.mobile-product-main .name-cell span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-product-main .name-cell span{font-size:11px;color:var(--muted);margin-top:3px}.mobile-product-meta{text-align:right;display:grid;justify-items:end;gap:5px;font-size:11px;color:var(--muted)}.mobile-product-meta>strong{font-size:15px;color:var(--text)}.mobile-product-row>.small-btn{grid-column:1/-1;width:100%}
  .product-toolbar,.sell-toolbar{display:grid;grid-template-columns:1fr 1fr}.product-toolbar .search,.sell-toolbar .search{grid-column:1/-1;width:100%}.product-toolbar button,.sell-toolbar button{width:100%}
  .taxonomy-grid{grid-template-columns:1fr}.taxonomy-list{max-height:none}.taxonomy-row{align-items:flex-start}.taxonomy-row .row-actions{flex-wrap:wrap;justify-content:flex-end}
  .phone-pair-grid{grid-template-columns:1fr}.pair-qr{max-width:300px;margin:0 auto}.scanner-choice-grid{grid-template-columns:1fr}
  .modal.wide{width:100%}.modal-body{padding:16px}.modal-head{padding:15px 16px}.modal-foot{padding:12px 16px;flex-wrap:wrap}.modal-foot .primary-btn,.modal-foot .outline-btn{flex:1 1 145px}
  .list-row{align-items:flex-start}.row-actions{flex-wrap:wrap}.customer-pick{align-items:flex-start}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.product-card .product-image{height:110px}.product-info{padding:10px}.product-name{font-size:12px;min-height:30px}.product-price{font-size:14px}.product-more{padding:8px 9px}
  .content{padding-bottom:92px}.toolbar{align-items:stretch}.search{min-width:0;width:100%}.search input{width:100%}
}
@media(max-width:430px){
  .product-grid{grid-template-columns:1fr 1fr}.product-card .product-image{height:96px}.brand-badge{max-width:86px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-toolbar,.sell-toolbar{grid-template-columns:1fr}.product-toolbar .search,.sell-toolbar .search{grid-column:auto}.quick-grid{grid-template-columns:1fr}.topbar{padding:0 10px}.topbar-title-wrap{min-width:0}.page-title,.page-subtitle{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.content{padding:11px}.card{padding:14px}.modal-backdrop{padding:0;align-items:end}.modal{width:100%;max-height:96vh;border-radius:20px 20px 0 0}.customer-history-row{grid-template-columns:minmax(0,1fr) 88px}.customer-history-side{width:88px;min-width:88px}.customer-history-side strong{font-size:12px}.customer-history-side span{font-size:10px}.charge-values{grid-template-columns:1fr}.phone-pair-grid{gap:12px}.pair-qr{padding:8px}.pair-code{font-size:16px}
}


/* V5.4 — correções de scanner e taxonomia */
.phone-scan-direct{white-space:nowrap}
.taxonomy-step-field{border:1px solid var(--border);border-radius:14px;padding:12px;background:#fcfaf9}
.taxonomy-step-field>label{display:flex;align-items:center;gap:7px;font-weight:800}
.step-number{display:inline-grid;place-items:center;width:23px;height:23px;border-radius:50%;background:var(--primary);color:#fff;font-size:12px;font-weight:900}
.danger-btn{color:#a33b45;border-color:#e6bdc1;background:#fff7f7}
.mobile-product-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.product-table .row-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}
@media(max-width:900px){.sell-toolbar{grid-template-columns:1fr 1fr}.sell-toolbar .search{grid-column:1/-1}.phone-scan-direct{white-space:normal}}
@media(max-width:520px){.sell-toolbar{grid-template-columns:1fr}.sell-toolbar .search{grid-column:auto}.mobile-product-actions{grid-template-columns:1fr 1fr}.taxonomy-row{display:grid;grid-template-columns:1fr}.taxonomy-row .row-actions{justify-content:stretch;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.taxonomy-row .row-actions .small-btn{width:100%;padding-left:6px;padding-right:6px}}
/* V5.5 - sinalização visual para impedir confusão com versões antigas */
html[data-mariah-build="5.5"] .sidebar-footer strong{color:var(--primary-dark)}
.scanner-phone-choice{border:2px solid var(--primary)!important;background:linear-gradient(135deg,#fff7f8,#f7e7e9)!important;box-shadow:0 8px 24px rgba(181,120,127,.18)}
.scanner-phone-choice strong{font-size:16px;color:var(--primary-dark)}
.scanner-v55-notice{border-left:4px solid var(--primary)}
.pair-qr-canvas{width:240px;min-height:240px;display:grid;place-items:center;background:#fff;border:1px solid var(--border);border-radius:14px;padding:10px;margin:auto}
.pair-qr-canvas img,.pair-qr-canvas canvas{max-width:220px!important;width:220px!important;height:220px!important}
.pair-qr-fallback{text-align:center;color:var(--muted);padding:50px 10px}
#productForm .taxonomy-step-field{grid-column:1/-1!important;border:2px solid #ead4d7;background:#fff9fa}
#productForm .taxonomy-step-field label{font-size:15px;color:var(--primary-dark)}
#productForm .taxonomy-step-field select{font-weight:700}
@media(max-width:760px){.scanner-choice-grid{grid-template-columns:1fr}.pair-qr-canvas{width:220px;min-height:220px}.pair-qr-canvas img,.pair-qr-canvas canvas{width:200px!important;height:200px!important}}
.pair-qr-server{display:block;width:220px;height:220px;max-width:100%;background:#fff;border:1px solid var(--border);border-radius:14px;padding:8px;margin:0 auto}
