:root{
  --black:#111;
  --yellow:#f5c400;
  --bg:#f4f5f7;
  --panel:#fff;
  --text:#202124;
  --muted:#70757a;
  --border:#e4e6eb;
  --danger:#c62828;
  --success:#1b7f3b;
  --warning:#b26a00;
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--bg);color:var(--text);display:flex;min-height:100vh}
.sidebar{width:250px;background:var(--black);color:white;padding:24px 16px;position:fixed;inset:0 auto 0 0}
.brand{display:flex;gap:12px;align-items:center;margin-bottom:30px}
.brand-mark{width:46px;height:46px;border-radius:50%;background:var(--yellow);color:#111;display:grid;place-items:center;font-weight:900}
.brand strong,.brand span{display:block}.brand span{font-size:12px;color:#aaa;margin-top:3px}
nav{display:grid;gap:8px}
.nav-btn{border:0;background:transparent;color:#ddd;text-align:left;padding:12px 14px;border-radius:8px;cursor:pointer;font-size:15px}
.nav-btn:hover,.nav-btn.active{background:var(--yellow);color:#111;font-weight:700}
.content{margin-left:250px;width:calc(100% - 250px);padding:28px}
.topbar{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:22px}
.topbar h1{margin:0;font-size:28px}.topbar p{margin:6px 0 0;color:var(--muted)}
.today{color:var(--muted);font-size:14px}
.section{display:none}.section.active{display:block}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}
.cards.compact{grid-template-columns:repeat(3,1fr)}
.card{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:20px}
.card span{display:block;color:var(--muted);font-size:13px;margin-bottom:10px}
.card strong{font-size:28px}
.grid.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.panel{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:18px}
.panel.narrow{max-width:650px}
.panel-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}
.panel-title h2{margin:0;font-size:18px}
.primary,.file-btn{background:var(--yellow);color:#111;border:0;border-radius:8px;padding:10px 14px;font-weight:800;cursor:pointer}
.danger{background:var(--danger);color:#fff;border:0;border-radius:8px;padding:10px 14px;font-weight:700;cursor:pointer}
.filters{display:flex;gap:10px;margin-bottom:14px}
input,select,textarea,button{font:inherit}
input,select,textarea{width:100%;padding:10px 11px;border:1px solid var(--border);border-radius:8px;background:#fff}
textarea{min-height:82px;resize:vertical}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form-grid label{display:grid;gap:6px;font-size:13px;color:#444}
.form-grid .full{grid-column:1/-1}
.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse;font-size:13px}
th,td{padding:11px 10px;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap}
th{color:var(--muted);font-weight:700;background:#fafafa}
.badge{display:inline-block;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:800}
.badge.ok{background:#e6f4ea;color:var(--success)}
.badge.low{background:#fff1dc;color:var(--warning)}
.badge.zero{background:#fde7e7;color:var(--danger)}
.badge.in{background:#e8f1ff;color:#1a5fb4}
.badge.out{background:#fde7e7;color:var(--danger)}
.badge.adjust{background:#efe8ff;color:#6941c6}
.small-btn{border:1px solid var(--border);background:#fff;border-radius:7px;padding:6px 8px;cursor:pointer;margin-right:4px}
.movement-list{display:grid;gap:10px}
.movement-item{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}
.movement-item small,.muted{color:var(--muted)}
dialog{border:0;border-radius:14px;padding:0;max-width:720px;width:92%;box-shadow:0 20px 60px #0004}
dialog::backdrop{background:#0008}
.dialog-form{padding:20px}
.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}
.icon-btn{border:0;background:transparent;font-size:26px;cursor:pointer}
.backup-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.file-btn input{display:none}
#toast{position:fixed;right:24px;bottom:24px;background:#111;color:white;padding:12px 16px;border-radius:9px;display:none;z-index:20}
@media(max-width:1000px){
  .sidebar{width:86px}.brand div:last-child{display:none}.brand{justify-content:center}
  .nav-btn{font-size:0;text-align:center}.nav-btn::first-letter{font-size:18px}
  .content{margin-left:86px;width:calc(100% - 86px)}
  .cards{grid-template-columns:repeat(2,1fr)}.grid.two{grid-template-columns:1fr}
}
@media(max-width:650px){
  body{display:block}.sidebar{position:static;width:100%;height:auto;padding:12px}
  .brand{margin-bottom:10px}.brand div:last-child{display:block}
  nav{display:flex;overflow:auto}.nav-btn{font-size:12px;white-space:nowrap}
  .content{margin:0;width:100%;padding:16px}
  .topbar{display:block}.today{margin-top:8px}
  .cards,.cards.compact{grid-template-columns:1fr}
  .form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}
}
.alert-banner{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  background:#fff4cf;border:1px solid #e5b800;border-left:6px solid var(--yellow);
  border-radius:12px;padding:14px 16px;margin-bottom:18px
}
.alert-banner strong,.alert-banner span{display:block}
.alert-banner span{margin-top:4px;color:#6f5700;font-size:13px}
.alert-banner button{border:0;background:var(--black);color:#fff;border-radius:8px;padding:9px 12px;font-weight:700;cursor:pointer;white-space:nowrap}
.report-filters{max-width:320px}

.quick-search-panel{margin-bottom:18px}
.quick-search-row{display:grid;grid-template-columns:1fr auto;gap:10px}
.search-result{margin-top:12px}
.search-result-card{
  display:grid;
  grid-template-columns:2fr repeat(4,1fr);
  gap:12px;
  align-items:center;
  padding:14px;
  border:1px solid var(--border);
  border-radius:10px;
  background:#fafafa
}
.search-result-card span{display:block;color:var(--muted);font-size:11px;margin-bottom:4px}
.search-result-card strong{font-size:14px}
@media(max-width:800px){
  .search-result-card{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
  .quick-search-row{grid-template-columns:1fr}
  .search-result-card{grid-template-columns:1fr}
}

.inline-result{
  padding:9px 11px;
  border:1px dashed var(--border);
  border-radius:8px;
  background:#fafafa;
  font-size:12px
}
.inline-result.found{
  border-style:solid;
  border-color:#b7dfc2;
  background:#eef9f1;
  color:var(--success)
}
.inline-result.not-found{
  border-style:solid;
  border-color:#efb6b6;
  background:#fff1f1;
  color:var(--danger)
}

.brand-official{
  align-items:center;
  gap:10px;
}
.brand-logo{
  width:72px;
  height:72px;
  object-fit:contain;
  flex:0 0 auto;
}
.brand-copy strong{
  font-size:15px;
  color:var(--yellow);
  letter-spacing:.2px;
}
.brand-copy span{
  font-size:11px;
  color:#cfcfcf;
}
.system-footer{
  margin-top:22px;
  border-top:1px solid var(--border);
  padding:18px 4px 4px;
  display:flex;
  align-items:center;
  gap:12px;
  color:var(--muted);
}
.system-footer img{
  width:52px;
  height:52px;
  object-fit:contain;
  background:#111;
  border-radius:10px;
  padding:4px;
}
.system-footer strong,
.system-footer span{
  display:block;
}
.system-footer strong{
  color:var(--text);
  margin-bottom:3px;
}
@media(max-width:1000px){
  .brand-logo{width:58px;height:58px}
  .brand-copy{display:none}
}
@media(max-width:650px){
  .brand-copy{display:block}
  .brand-logo{width:54px;height:54px}
}

.report-actions{display:flex;gap:8px}.print-header{display:none}
@media print{
body *{visibility:hidden!important}
.print-area.printing,.print-area.printing *{visibility:visible!important}
.print-area.printing{position:absolute;left:0;top:0;width:100%;padding:20px;background:white!important}
.print-header{display:flex!important;gap:14px;align-items:center;border-bottom:2px solid #111;padding-bottom:12px;margin-bottom:16px}
.print-header img{width:70px;height:70px;object-fit:contain;background:#111;border-radius:8px;padding:4px}
.print-header h2{margin:0 0 4px}.print-header p{margin:0}
.print-area table{font-size:11px}.print-area th,.print-area td{white-space:normal;padding:7px 6px}
.print-area button{display:none!important}
@page{size:A4;margin:12mm}
}

.input-action{display:grid;grid-template-columns:1fr auto;gap:6px}.product-thumb{width:48px;height:48px;object-fit:cover;border-radius:7px;border:1px solid var(--border)}.product-image-preview{display:none;max-width:220px;max-height:150px;object-fit:contain;border:1px solid var(--border);border-radius:8px}.product-image-preview.visible{display:block}.image-preview-wrap{display:flex;gap:10px;align-items:flex-start}.purchase-buttons{display:flex;align-items:center;gap:18px}.check-label{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:7px!important}.check-label input{width:auto}.po-info{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}.po-info div{border:1px solid #ddd;padding:10px}.po-info span{display:block;font-size:10px;color:#666}.po-total{text-align:right;margin-top:15px}.po-notes{margin-top:16px;border:1px solid #ddd;padding:10px;min-height:60px}.po-signatures{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:55px}.po-signatures div{border-top:1px solid #111;text-align:center;padding-top:6px}.hidden-print-area{display:none}.label-preview{margin-top:16px;padding:12px;background:#eee;display:flex;justify-content:center}.label-sheet{background:#fff;border:1px dashed #999;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;overflow:hidden}.label-sheet .label-name{font-weight:800;line-height:1.05}.label-sheet .label-code{font-size:10px;margin-top:2px}.label-barcode{width:100%;height:45%;display:block}@media print{.hidden-print-area.printing{display:block!important}.label-print-page.printing{display:flex!important;position:absolute;left:0;top:0;flex-wrap:wrap;align-content:flex-start;background:#fff}.label-print-page.printing *{visibility:visible!important}.label-print-page .label-sheet{page-break-inside:avoid}}

/* Versão 8: alinhamento da tabela de produtos */
#produtos table{
  min-width:1180px;
  table-layout:auto;
}
#produtos th,
#produtos td{
  vertical-align:middle;
}
#produtos th:nth-child(1),
#produtos td:nth-child(1){width:62px;text-align:center}
#produtos th:nth-child(2),
#produtos td:nth-child(2){width:115px}
#produtos th:nth-child(3),
#produtos td:nth-child(3){min-width:210px}
#produtos th:nth-child(4),
#produtos td:nth-child(4){min-width:150px}
#produtos th:nth-child(5),
#produtos td:nth-child(5){min-width:120px}
#produtos th:nth-child(6),
#produtos td:nth-child(6){width:80px;text-align:center}
#produtos th:nth-child(7),
#produtos td:nth-child(7){width:95px;text-align:right}
#produtos th:nth-child(8),
#produtos td:nth-child(8){width:110px;text-align:right}
#produtos th:nth-child(9),
#produtos td:nth-child(9){min-width:135px}
#produtos th:nth-child(10),
#produtos td:nth-child(10){min-width:210px}
.report-filters{
  max-width:none;
  display:grid;
  grid-template-columns:minmax(210px,320px) minmax(210px,320px);
}
@media(max-width:700px){
  .report-filters{grid-template-columns:1fr}
}
@media print{
  #stock-report-print-area.printing{
    width:100%;
  }
  #stock-report-print-area table{
    width:100%;
    table-layout:auto;
    border-collapse:collapse;
  }
  #stock-report-print-area th,
  #stock-report-print-area td{
    border:1px solid #cfcfcf;
    font-size:10px;
    padding:6px 5px;
  }
  #stock-report-print-area .cards{
    margin-bottom:12px;
  }
  @page{
    size:A4 portrait;
    margin:10mm;
  }
}
.alert-actions{display:flex;gap:8px;flex-wrap:wrap}
.alert-actions button:last-child{background:var(--yellow);color:#111}
.suggestion-dialog-form{min-width:min(980px,92vw)}
#purchase-suggestion-dialog{max-width:1050px}
#barcode-help{color:var(--muted);font-size:11px}

.quick-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-bottom:18px;
}
.quick-action-btn{
  border:0;
  border-radius:14px;
  padding:18px;
  text-align:left;
  cursor:pointer;
  display:flex;
  flex-direction:column;
  gap:5px;
  box-shadow:0 4px 14px #00000012;
}
.quick-action-btn strong{font-size:17px}
.quick-action-btn span{font-size:12px;opacity:.8}
.quick-action-btn.entry{
  background:#e9f8ee;
  color:#176b36;
  border:1px solid #bfe4ca;
}
.quick-action-btn.exit{
  background:#fff0f0;
  color:#a32626;
  border:1px solid #efc0c0;
}
.quick-action-btn:hover{transform:translateY(-1px)}
#quick-movement-dialog{max-width:720px}
.quick-movement-status{
  margin-bottom:14px;
  padding:10px 12px;
  border-radius:8px;
  background:#f5f5f5;
  border:1px solid var(--border);
  font-size:13px;
}
.quick-movement-status.entry{background:#e9f8ee;color:#176b36;border-color:#bfe4ca}
.quick-movement-status.exit{background:#fff0f0;color:#a32626;border-color:#efc0c0}
.quick-product-result{
  padding:12px;
  border:1px dashed var(--border);
  border-radius:8px;
  background:#fafafa;
}
.quick-product-result.found{
  border-style:solid;
  border-color:#b7dfc2;
  background:#eef9f1;
  color:var(--success);
}
.quick-product-result.not-found{
  border-style:solid;
  border-color:#efb6b6;
  background:#fff1f1;
  color:var(--danger);
}
@media(max-width:650px){
  .quick-actions{grid-template-columns:1fr}
}

/* V11 - etiqueta horizontal 150x50 */
.label-sheet{
  flex-direction:row;
  justify-content:space-between;
  align-items:center;
  gap:8mm;
}
.label-left{
  width:42%;
  text-align:left;
}
.label-right{
  width:58%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}
.label-sheet .label-name{
  font-size:16px;
  font-weight:800;
}
.label-sheet .label-code{
  font-size:11px;
}
.label-barcode{
  width:100%;
  height:26mm;
}

.dashboard-shortcuts{grid-template-columns:repeat(4,1fr)}
.quick-action-btn.neutral{
  background:#f3f4f6;
  color:#30343b;
  border:1px solid #dfe2e7;
}
.product-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.compact-file-btn{padding:7px 10px;font-size:13px}
.label-size-control{
  display:flex;
  align-items:center;
  gap:8px;
  width:auto;
  font-size:13px;
  color:var(--muted);
}
.label-size-control span{font-weight:700;color:var(--text)}
.history-dialog-form{min-width:min(1000px,94vw)}
#product-history-dialog{max-width:1080px}
.history-summary{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  margin-bottom:14px;
}
.history-summary div{
  border:1px solid var(--border);
  background:#fafafa;
  border-radius:9px;
  padding:11px;
}
.history-summary span{display:block;color:var(--muted);font-size:11px;margin-bottom:4px}
.history-summary strong{font-size:15px}
.inventory-difference.positive{color:var(--success);font-weight:800}
.inventory-difference.negative{color:var(--danger);font-weight:800}
.inventory-difference.equal{color:var(--muted);font-weight:800}
.batch-qty-input{width:110px}
@media(max-width:1100px){
  .dashboard-shortcuts{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:700px){
  .history-summary{grid-template-columns:1fr 1fr}
  .product-actions{width:100%}
}
@media(max-width:520px){
  .dashboard-shortcuts{grid-template-columns:1fr}
  .history-summary{grid-template-columns:1fr}
}

/* V13 - impressão A4 corrigida */
@media print{
 #purchase-suggestion-print-area.printing{position:absolute!important;left:0!important;top:0!important;width:190mm!important;max-width:190mm!important;padding:0!important;margin:0!important;background:#fff!important;overflow:visible!important}
 #purchase-suggestion-print-area.printing .table-wrap{overflow:visible!important;width:100%!important}
 #purchase-suggestion-print-area.printing table{width:100%!important;table-layout:fixed!important;border-collapse:collapse!important;font-size:9px!important}
 #purchase-suggestion-print-area.printing th,#purchase-suggestion-print-area.printing td{border:1px solid #bbb!important;padding:5px 4px!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:break-word!important;vertical-align:top!important}
 #purchase-suggestion-print-area.printing th:nth-child(1),#purchase-suggestion-print-area.printing td:nth-child(1){width:12%!important}
 #purchase-suggestion-print-area.printing th:nth-child(2),#purchase-suggestion-print-area.printing td:nth-child(2){width:24%!important}
 #purchase-suggestion-print-area.printing th:nth-child(3),#purchase-suggestion-print-area.printing td:nth-child(3){width:14%!important}
 #purchase-suggestion-print-area.printing th:nth-child(4),#purchase-suggestion-print-area.printing td:nth-child(4){width:18%!important}
 #purchase-suggestion-print-area.printing th:nth-child(5),#purchase-suggestion-print-area.printing td:nth-child(5),#purchase-suggestion-print-area.printing th:nth-child(6),#purchase-suggestion-print-area.printing td:nth-child(6),#purchase-suggestion-print-area.printing th:nth-child(7),#purchase-suggestion-print-area.printing td:nth-child(7){width:10.66%!important;text-align:right!important}
 #purchase-suggestion-print-area.printing .print-header img{width:55px!important;height:55px!important}
 @page{size:A4 portrait!important;margin:10mm!important}
}

.suggestion-toolbar{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  flex-wrap:wrap;
  margin-top:16px;
}
.suggestion-toolbar>div{display:flex;gap:8px;flex-wrap:wrap}
.suggestion-check{width:auto}
.suggestion-qty-input{width:95px}
.suggestion-order-form{min-width:min(980px,94vw)}
#suggestion-order-dialog{max-width:1050px}
.suggestion-order-price{width:120px}
.suggestion-order-supplier{min-width:180px}
@media(max-width:700px){
  .suggestion-toolbar{align-items:stretch}
  .suggestion-toolbar>div{width:100%}
  .suggestion-toolbar button{flex:1}
}

/* V16 - sugestão editável e geração de ordens */
.suggestion-toolbar{
  display:flex;justify-content:space-between;align-items:center;
  gap:12px;flex-wrap:wrap;margin-top:16px
}
.suggestion-toolbar>div{display:flex;gap:8px;flex-wrap:wrap}
.suggestion-check{width:auto}
.suggestion-qty-input{width:95px}
.suggestion-order-form{min-width:min(980px,94vw)}
#suggestion-order-dialog{max-width:1050px}
.suggestion-order-price{width:120px}
.suggestion-order-supplier{min-width:180px}
@media(max-width:700px){
  .suggestion-toolbar{align-items:stretch}
  .suggestion-toolbar>div{width:100%}
  .suggestion-toolbar button{flex:1}
}

.report-filters{
  grid-template-columns:repeat(4,minmax(180px,1fr));
  align-items:end;
}
.report-filters label{
  display:grid;
  gap:6px;
  font-size:12px;
  color:var(--muted);
}
@media(max-width:1000px){
  .report-filters{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
  .report-filters{grid-template-columns:1fr}
}

.purchase-grid{grid-template-columns:minmax(480px,1.05fr) minmax(520px,1fr)}
.purchase-item-box,
.purchase-draft-area{
  border:1px solid var(--border);
  border-radius:10px;
  padding:14px;
  background:#fafafa;
}
.purchase-item-box h3,
.purchase-draft-area h3{margin:0;font-size:15px}
.purchase-draft-area .panel-title{margin-bottom:10px}
.purchase-draft-area table{background:#fff}
.purchase-buttons>button:not(.primary){
  border:1px solid var(--border);
  background:#fff;
  border-radius:8px;
  padding:10px 14px;
  cursor:pointer;
}
.purchase-item-summary{white-space:normal;min-width:220px}
.purchase-item-summary small{display:block;color:var(--muted);margin-top:3px}
.delete-order-btn{border-color:#efb4b4!important;color:var(--danger)}
@media(max-width:1150px){
  .purchase-grid{grid-template-columns:1fr}
}


/* Gestão de usuários */
.sidebar-user{
  margin-top:auto;
  padding-top:14px;
  border-top:1px solid #333;
  display:grid;
  gap:4px;
}
.sidebar-user strong{color:#fff;font-size:13px}
.sidebar-user span{color:#aaa;font-size:11px}
.sidebar-user button{
  margin-top:8px;
  border:1px solid #555;
  background:transparent;
  color:#fff;
  border-radius:8px;
  padding:8px;
  cursor:pointer;
}
.users-grid{grid-template-columns:minmax(340px,.75fr) minmax(650px,1.5fr)}
.user-status{
  display:inline-flex;
  border-radius:999px;
  padding:4px 8px;
  font-size:11px;
  font-weight:800;
}
.user-status.active{background:#e7f7ec;color:#147a3f}
.user-status.blocked{background:#fff0f0;color:#b42318}
.user-action-danger{color:#b42318!important;border-color:#efb7b7!important}
#user-password-help{color:var(--muted);font-size:11px}
@media(max-width:1150px){
  .users-grid{grid-template-columns:1fr}
}
