:root{
  --ink:#181C18;
  --paper:#F8FAF6;
  --card:#FFFFFF;
  --green:#0B6B14;
  --green-dark:#084D0C;
  --green-darker:#0A2410;
  --green-light:#E6F3E1;
  --green-pale:#F1F8EE;
  --green-pale-deep:#F1F8EE;
  --orange:#FF6A13;
  --badge-bg:#12261A;
  --badge-text:#FFD93D;
  --line:#E4E7E0;
  --muted:#767E72;
  --danger:#C0392B;
  --pink:#D6336C;
  --pink-pale:#FBE4ED;
  font-family:'Inter',sans-serif;
}
*{box-sizing:border-box;}
html{overflow-x:hidden;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  position:relative;
  overflow-x:hidden;
}

/* decorative soft green washes, echoing the brand's wave motif */
body::before, body::after{
  content:'';
  position:fixed;
  width:520px;height:520px;
  border-radius:50%;
  pointer-events:none;
  z-index:0;
}
body::before{
  top:-220px; left:-220px;
  background:radial-gradient(circle at 35% 35%, rgba(11,107,20,.14), rgba(11,107,20,0) 68%);
}
body::after{
  bottom:-240px; right:-220px;
  background:radial-gradient(circle at 65% 65%, rgba(11,107,20,.14), rgba(11,107,20,0) 68%);
}

.hazard-bar{ display:none; }

header{
  position:relative; z-index:1;
  padding:26px 24px 18px;
  background:transparent;
  border-bottom:none;
}
.header-inner{
  display:flex;align-items:center;justify-content:center;
  gap:20px;flex-wrap:wrap;
}
.brand{
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
}
.brand p{margin:0;font-size:14px;color:var(--green);font-weight:600;}

.brand-logo{
  height:58px;width:auto;object-fit:contain;
  flex-shrink:0;
}

.search-wrap{max-width:900px;margin:0 0 22px;position:relative;z-index:1;}
.search-box{
  display:flex;align-items:stretch;
  border:1.5px solid var(--line);
  background:var(--card);
  border-radius:999px;
  overflow:hidden;
  box-shadow:0 6px 20px rgba(11,107,20,.07);
  transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.search-box:focus-within{
  border-color:var(--green);
  box-shadow:0 0 0 4px rgba(11,107,20,.14), 0 10px 26px rgba(11,107,20,.16);
  transform:translateY(-1px);
}
[data-theme="dark"] .search-box:focus-within{
  box-shadow:0 0 0 4px rgba(59,194,75,.18), 0 10px 26px rgba(0,0,0,.3);
}
.search-box::before{
  content:'';
  width:22px;height:22px;
  margin:auto 0 auto 20px;
  flex-shrink:0;
  background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23767E72' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E");
}
.search-box input{
  flex:1;border:none;background:transparent;
  padding:16px 14px;font-size:16px;font-family:'Inter',sans-serif;
  outline:none;color:var(--ink);
}
.search-box .tag-label{
  display:flex;align-items:center;justify-content:center;
  padding:0 30px;background:var(--green);color:#fff;
  font-family:'Inter',sans-serif;font-weight:700;font-size:14px;
  letter-spacing:.4px;white-space:nowrap;
  transition:background .15s ease;
}

.barcode-btn{
  display:flex;align-items:center;justify-content:center;
  padding:0 16px;flex-shrink:0;border:none;cursor:pointer;
  background:transparent;color:var(--muted);
  border-left:1.5px solid var(--line);
  transition:color .12s ease, background .12s ease;
}
.barcode-btn:hover{color:var(--green);background:var(--green-pale);}
.barcode-btn svg{width:20px;height:20px;}

.search-box.scanning{
  border-color:var(--orange);
  box-shadow:0 0 0 4px rgba(255,106,19,.15);
}
.search-box.scanning .barcode-btn{color:var(--orange);background:#FFF1E4;}
.search-box.scanning .tag-label{background:var(--orange);}
[data-theme="dark"] .search-box.scanning .barcode-btn{background:#3A2314;}

.search-extra-row{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px;
  margin-top:10px;
}
.search-extra-chip{
  display:flex;align-items:center;gap:2px;
  background:var(--card);border:1.5px solid var(--green);border-radius:999px;
  padding-left:14px;overflow:hidden;
  box-shadow:0 2px 8px rgba(11,107,20,.08);
  animation:searchChipIn .15s ease;
}
@keyframes searchChipIn{
  from{opacity:0;transform:scale(.9);}
  to{opacity:1;transform:scale(1);}
}
.search-extra-chip .search-extra-input{
  border:none;outline:none;background:transparent;
  font-family:'Inter',sans-serif;font-size:13.5px;font-weight:600;
  color:var(--ink);padding:9px 4px;width:120px;
}
.search-extra-remove{
  border:none;background:var(--green-pale);color:var(--green-dark);
  width:26px;height:26px;margin-right:4px;border-radius:50%;
  font-size:15px;line-height:1;cursor:pointer;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  transition:background .12s ease, color .12s ease;
}
.search-extra-remove:hover{background:var(--danger);color:#fff;}
.search-add-btn{
  border:1.5px dashed var(--line);background:transparent;color:var(--muted);
  border-radius:999px;padding:9px 16px;font-size:13px;font-weight:700;
  cursor:pointer;font-family:'Inter',sans-serif;
  transition:border-color .12s ease, color .12s ease, background .12s ease;
}
.search-add-btn:hover{border-color:var(--green);color:var(--green);background:var(--green-pale);}
.search-hint{margin:8px 2px 0;}

main{padding:32px 40px 80px;position:relative;z-index:1;}

.tabs-bar{display:flex;gap:10px;margin-bottom:22px;}
.tab-btn{
  font-family:'Inter',sans-serif;font-weight:700;font-size:14px;
  border:1.5px solid var(--line);border-radius:12px;cursor:pointer;
  padding:11px 18px;background:var(--card);color:var(--muted);
  transition:transform .12s ease, box-shadow .12s ease, background .12s ease, color .12s ease;
}
.tab-btn:hover{transform:translateY(-1px);color:var(--ink);}
.tab-btn.active{background:var(--green);border-color:var(--green-dark);color:#fff;}

.toolbar{
  display:flex;justify-content:space-between;align-items:center;
  margin-bottom:26px;gap:12px;flex-wrap:wrap;
}
.toolbar-actions{display:flex;gap:10px;flex-wrap:wrap;}
.count-info{
  font-family:'Inter',sans-serif;font-size:14px;color:var(--muted);font-weight:600;
  display:flex;align-items:center;gap:8px;
}
.count-info::before{
  content:'';
  width:20px;height:20px;
  background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B6B14' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 8l-9-5-9 5 9 5 9-5z'/%3E%3Cpath d='M3 8v8l9 5 9-5V8'/%3E%3Cpath d='M12 13v8'/%3E%3C/svg%3E");
}
.btn{
  font-family:'Inter',sans-serif;font-weight:700;font-size:14px;
  border:1.5px solid var(--line);border-radius:12px;cursor:pointer;
  padding:11px 18px;background:var(--card);color:var(--ink);
  transition:transform .15s cubic-bezier(.22,1,.36,1), box-shadow .2s ease, background .2s ease, border-color .2s ease, color .2s ease;
  display:inline-flex;align-items:center;gap:8px;
}
.btn:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(11,107,20,.16);}
.btn:active{transform:translateY(0) scale(.96);box-shadow:0 2px 6px rgba(11,107,20,.12);transition-duration:.08s;}
.btn.secondary{background:var(--card);color:var(--ink);border-color:var(--line);}
.btn.orange{background:var(--green);border-color:var(--green-dark);color:#fff;}
.btn.orange:hover{background:var(--green-dark);}

.grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
  gap:22px;
}

.card{
  background:var(--card);border:1.5px solid var(--line);border-radius:14px;
  cursor:pointer;transition:transform .18s cubic-bezier(.22,1,.36,1), box-shadow .2s ease, border-color .2s ease;
  display:flex;flex-direction:column;gap:8px;
  padding:14px 16px;
  box-shadow:0 2px 10px rgba(24,28,24,.05);
}
.card:hover{
  transform:translateY(-5px);
  box-shadow:0 16px 32px rgba(11,107,20,.18), 0 0 0 1px rgba(11,107,20,.25);
  border-color:var(--green);
}

.card-head-row{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;}
.card-loc-badge{
  flex-shrink:0;font-family:'Inter',sans-serif;font-weight:800;font-size:11px;
  padding:4px 10px;border-radius:999px;background:var(--green-pale);color:var(--green);white-space:nowrap;
}

.card h3{margin:0;font-size:15px;font-weight:700;line-height:1.3;color:var(--ink);}
.card .cat-chips{display:flex;flex-wrap:wrap;gap:6px;}
.card .apelidos{font-size:12px;color:var(--muted);font-style:italic;}
.card .sistema-tag-mini{
  font-family:'Inter',sans-serif;font-size:11px;font-weight:700;
  color:var(--green);background:var(--green-pale);display:inline-block;
  padding:3px 9px;width:fit-content;border-radius:999px;
}
.card .desc{font-size:13px;color:var(--muted);line-height:1.4;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}

.empty{
  text-align:center;padding:60px 20px;border:1.5px dashed var(--line);border-radius:18px;
  background:var(--card);
}
.empty h3{font-family:'Archivo Black',sans-serif;font-size:20px;margin:0 0 8px;color:var(--ink);}
.empty p{color:var(--muted);margin:0 0 18px;}

/* Modal */
.overlay{
  position:fixed;inset:0;background:rgba(10,20,12,.55);
  display:flex;align-items:flex-start;justify-content:center;
  padding:30px 16px;overflow-y:auto;z-index:50;
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .2s ease;
}
.overlay.open{opacity:1;visibility:visible;pointer-events:auto;}
.modal{
  background:var(--card);border:1px solid var(--line);border-radius:20px;
  max-width:520px;width:100%;box-shadow:0 24px 60px rgba(10,20,12,.35);
  margin-bottom:30px;overflow:hidden;
  transform:scale(.94) translateY(14px);opacity:0;
  transition:transform .24s cubic-bezier(.22,1,.36,1), opacity .2s ease;
}
.overlay.open .modal{transform:scale(1) translateY(0);opacity:1;}
.modal-head{
  display:flex;justify-content:space-between;align-items:center;gap:10px;
  padding:18px 22px;border-bottom:1px solid var(--line);
  background:linear-gradient(155deg, var(--green) 0%, var(--green-dark) 100%);
}
.modal-head h2{color:#fff;font-family:'Archivo Black',sans-serif;font-size:17px;margin:0;flex:1;}
.modal-head button{
  background:none;border:none;color:#fff;opacity:.85;font-size:22px;cursor:pointer;line-height:1;
}
.modal-head button:hover{opacity:1;}
.modal-head .detail-head-action{
  background:rgba(255,255,255,.16);border:1.5px solid rgba(255,255,255,.45);
  color:#fff;font-size:12.5px;font-weight:700;padding:8px 14px;border-radius:10px;
  opacity:1;white-space:nowrap;flex-shrink:0;
}
.modal-head .detail-head-action:hover{background:rgba(255,255,255,.3);}
@media (max-width:480px){
  .modal-head .detail-head-action{font-size:11px;padding:7px 10px;}
}
.modal-body{padding:22px;display:flex;flex-direction:column;gap:14px;}
.field label{display:block;font-size:12px;font-weight:700;text-transform:uppercase;
  letter-spacing:.5px;color:var(--green);margin-bottom:5px;}
.field input, .field textarea{
  width:100%;border:1.5px solid var(--line);background:var(--card);border-radius:10px;
  padding:11px 13px;font-size:14px;font-family:'Inter',sans-serif;outline:none;
  color:var(--ink);
  transition:border-color .12s ease;
}
.field input::placeholder, .field textarea::placeholder{color:var(--muted);opacity:1;}
.field input:focus, .field textarea:focus{border-color:var(--green);}
.field textarea{resize:vertical;min-height:70px;}
.field select{
  width:100%;border:1.5px solid var(--line);background:var(--card);border-radius:10px;
  padding:11px 13px;font-size:14px;font-family:'Inter',sans-serif;outline:none;
  color:var(--ink);transition:border-color .12s ease;
  appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23767E72' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 13px center;background-size:16px;
  padding-right:36px;cursor:pointer;
}
.field select:focus{border-color:var(--green);}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.modal-foot{padding:16px 22px 22px;display:flex;justify-content:space-between;gap:10px;}
.hint{font-size:11.5px;color:var(--muted);margin-top:2px;}

/* Detail modal */
.detail-photo{
  width:100%;aspect-ratio:1/1;max-height:420px;
  background:linear-gradient(155deg, var(--green) 0%, var(--green-dark) 100%);
  overflow:hidden;display:flex;align-items:center;justify-content:center;
}
.detail-photo img{width:100%;height:100%;object-fit:contain;}
.detail-photo .initials{
  width:100%;height:100%;display:flex;align-items:center;justify-content:center;
  font-family:'Archivo Black',sans-serif;color:#fff;font-size:56px;letter-spacing:1px;
}
.detail-meta{
  display:flex;flex-direction:column;align-items:flex-start;gap:10px;
  margin:18px 22px 6px;
}
.detail-loc{display:flex;gap:10px;margin:0;}
.detail-loc .chip{
  font-family:'Inter',sans-serif;font-weight:700;font-size:14px;
  padding:9px 16px;border-radius:12px;
}
.detail-loc .chip.c1{background:var(--green-light);color:var(--green-dark);}
.detail-loc .chip.c2{background:var(--badge-bg);color:var(--badge-text);}

.info-pill{
  display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;
  font-family:'Inter',sans-serif;font-size:14.5px;font-weight:600;
  padding:10px 16px;border-radius:12px;width:fit-content;max-width:100%;
  line-height:1.35;
}
.info-pill .pill-label{
  font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;
  opacity:.75;flex-shrink:0;
}
.info-pill .pill-value{font-weight:700;word-break:break-word;}
.info-pill.sistema-pill{background:var(--green-pale);color:var(--green-dark);}
.info-pill.barcode-pill{background:#FFF1E4;color:#B24A00;}
[data-theme="dark"] .info-pill.barcode-pill{background:#3A2314;color:#FFB27A;}
.info-pill.preco-pill{background:var(--green-light);color:var(--green-dark);}
[data-theme="dark"] .info-pill.preco-pill{color:var(--green);}
[data-theme="dark"] .info-pill.sistema-pill{color:var(--green);}
#detailCat{font-size:11px;color:var(--green);font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin:0 22px;}
.apelidos-detail{font-size:12.5px;color:var(--muted);font-style:italic;margin:2px 22px 0;}
.detail-desc{font-size:14px;line-height:1.6;color:var(--ink);white-space:pre-wrap;margin:10px 22px 22px;}

.modal.modal-wide{max-width:640px;}

.map-picker{
  position:relative;border:1.5px solid var(--line);border-radius:14px;overflow:hidden;
  cursor:crosshair;line-height:0;background:var(--card);
  max-width:320px;margin:0 auto;
}
.map-picker img{width:100%;display:block;user-select:none;pointer-events:none;}
.map-marker{
  position:absolute;width:22px;height:22px;margin-left:-11px;margin-top:-22px;
  transform-origin:bottom center;
}
.map-marker::before{
  content:'';position:absolute;inset:0;
  background:var(--orange);border:2.5px solid #fff;
  border-radius:50% 50% 50% 0;transform:rotate(-45deg);
  box-shadow:0 2px 6px rgba(0,0,0,.35);
}
.link-btn{
  background:none;border:none;color:var(--green);font-weight:700;
  font-size:11.5px;cursor:pointer;text-decoration:underline;padding:0;
}

.tag-input{
  border:1.5px solid var(--line);background:var(--card);border-radius:10px;padding:8px;
  display:flex;flex-wrap:wrap;gap:6px;align-items:center;
}
.tag-chips{display:flex;flex-wrap:wrap;gap:6px;}
.tag-chip{
  display:flex;align-items:center;gap:6px;
  background:var(--green);color:#fff;font-size:12.5px;font-weight:700;
  padding:5px 6px 5px 12px;border-radius:999px;
}
.tag-chip button{
  background:none;border:none;color:#fff;opacity:.85;cursor:pointer;
  font-size:14px;line-height:1;padding:0;
}
.tag-chip button:hover{opacity:1;}
.tag-input input{
  border:none;outline:none;flex:1;min-width:120px;font-size:14px;
  font-family:'Inter',sans-serif;padding:4px;
  background:transparent;color:var(--ink);
}
.tag-input input::placeholder{color:var(--muted);opacity:1;}

.filter-badge{
  background:var(--orange);color:#fff;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  width:18px;height:18px;font-size:11px;margin-left:2px;
}
.filters-panel{
  display:block;max-height:0;overflow:hidden;opacity:0;
  border:1px solid var(--line);background:var(--card);border-radius:16px;
  padding:0 18px;margin-bottom:0;box-shadow:0 2px 10px rgba(24,28,24,.05);
  transition:max-height .32s cubic-bezier(.22,1,.36,1), opacity .25s ease, padding .32s ease, margin .32s ease;
}
.filters-panel.open{max-height:640px;opacity:1;padding:16px 18px;margin-bottom:20px;}
.filters-panel-head{
  display:flex;justify-content:space-between;align-items:center;
  margin-bottom:12px;font-weight:700;font-size:13px;text-transform:uppercase;
  letter-spacing:.4px;color:var(--green);
}
.btn-sm{padding:7px 12px;font-size:12px;border-radius:10px;}
.filters-chips{display:flex;flex-wrap:wrap;gap:8px;}
.filter-chip{
  border:1.5px solid var(--line);border-radius:999px;padding:7px 14px;font-size:13px;font-weight:700;
  cursor:pointer;background:var(--card);user-select:none;color:var(--ink);
  transition:background .12s ease, border-color .12s ease, color .12s ease;
}
.filter-chip.active{background:var(--green);border-color:var(--green-dark);color:#fff;}
.filters-empty{font-size:13px;color:var(--muted);font-style:italic;}

.cat-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px;}
.cat-chips .cat-chip{
  background:var(--green-pale);color:var(--green);font-size:11px;font-weight:700;
  text-transform:uppercase;letter-spacing:.4px;padding:4px 10px;border-radius:999px;
}

.detail-map{
  position:relative;border:1.5px solid var(--line);border-radius:14px;overflow:hidden;
  margin:22px auto 4px;line-height:0;max-width:320px;align-self:center;
}
.detail-map img{width:100%;display:block;}

.photo-upload{border:1.5px solid var(--line);background:var(--card);border-radius:12px;padding:12px;}
.photo-preview{
  height:130px;background:var(--green-pale);border:1.5px dashed var(--line);border-radius:10px;
  display:flex;align-items:center;justify-content:center;overflow:hidden;
  margin-bottom:10px;
}
.photo-preview span{font-size:12.5px;color:var(--muted);}
.photo-preview img{width:100%;height:100%;object-fit:cover;}
.photo-upload-actions{display:flex;gap:8px;}

.toast{
  position:fixed;bottom:20px;left:50%;transform:translate(-50%, 14px);
  background:var(--badge-bg);color:var(--badge-text);padding:12px 22px;
  font-family:'Inter',sans-serif;font-size:13px;font-weight:700;
  border:none;border-radius:999px;z-index:100;opacity:0;
  transition:opacity .25s ease, transform .25s cubic-bezier(.22,1,.36,1);
  pointer-events:none;box-shadow:0 8px 24px rgba(0,0,0,.3);
}
.toast.show{opacity:1;transform:translate(-50%, 0);}

.status-banner{
  max-width:1080px;margin:16px auto 0;padding:12px 18px;
  border:1px solid var(--line);background:var(--green-pale);border-radius:14px;
  font-size:13px;color:var(--green-dark);
  font-family:'Inter',sans-serif;position:relative;z-index:1;
}

/* ---------- Avisos de cadastro incompleto ---------- */
.warn-chips{display:flex;flex-wrap:wrap;gap:6px;}
.warn-chip{
  display:inline-flex;align-items:center;gap:4px;
  font-size:10.5px;font-weight:700;
  color:#9A5B00;background:#FFF1DB;
  padding:3px 9px;border-radius:999px;
  width:fit-content;
}

/* ---------- Modo escuro ---------- */
[data-theme="dark"]{
  --paper:#12160F;
  --card:#1C231B;
  --ink:#EDF0E9;
  --line:#2C362B;
  --muted:#9BA495;
  --green:#3BC24B;
  --green-dark:#2A9636;
  --green-darker:#0A2410;
  --green-light:#1E3320;
  --green-pale:#1A2A1C;
  --green-pale-deep:#0E1A0F;
  --badge-bg:#0B1710;
  --badge-text:#FFD93D;
  --pink:#FF6FB8;
  --pink-pale:#3A1729;
}
[data-theme="dark"] body::before{
  background:radial-gradient(circle at 35% 35%, rgba(59,194,75,.12), rgba(59,194,75,0) 68%);
}
[data-theme="dark"] body::after{
  background:radial-gradient(circle at 65% 65%, rgba(59,194,75,.12), rgba(59,194,75,0) 68%);
}
[data-theme="dark"] .search-box{ box-shadow:0 6px 20px rgba(0,0,0,.4); }
[data-theme="dark"] .card{ box-shadow:0 2px 10px rgba(0,0,0,.3); }
[data-theme="dark"] .card:hover{ box-shadow:0 14px 30px rgba(59,194,75,.2); }
[data-theme="dark"] .overlay{ background:rgba(0,0,0,.7); }
[data-theme="dark"] .brand-logo{ filter:brightness(1.1) contrast(1.05); }
[data-theme="dark"] .warn-chip{ color:#FFC470;background:#332413; }
[data-theme="dark"] .modal-head{
  background:linear-gradient(155deg, var(--green-dark) 0%, var(--green-darker) 100%);
}
[data-theme="dark"] .detail-photo{
  background:linear-gradient(155deg, var(--green-dark) 0%, var(--green-darker) 100%);
}
[data-theme="dark"] .picker-photo{
  background:linear-gradient(155deg, var(--green-dark) 0%, var(--green-darker) 100%);
}

[data-theme="dark"] .map-picker, [data-theme="dark"] .detail-map{ background:#fff; }

/* ---------- Regiões de entrega (aumento de preço) ---------- */
.regioes-grid{display:flex;flex-direction:column;gap:18px;}

.region-card{
  background:var(--card);border:1px solid var(--line);border-radius:18px;
  padding:18px 20px;box-shadow:0 2px 10px rgba(24,28,24,.05);
  transition:box-shadow .2s ease, border-color .2s ease;
}
.region-card:hover{box-shadow:0 12px 26px rgba(11,107,20,.12);border-color:var(--line);}
.region-card-head{
  display:flex;justify-content:space-between;align-items:flex-start;gap:12px;
  flex-wrap:wrap;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--line);
}
.region-card-head h3{
  margin:0 0 6px;font-family:'Archivo Black',sans-serif;font-size:18px;color:var(--ink);
}
.region-prazo-chip{
  background:var(--green-pale);color:var(--green);
}
.region-card-actions{display:flex;gap:8px;flex-shrink:0;}

.region-items{display:flex;flex-direction:column;gap:2px;margin-bottom:12px;}
.region-item-row{
  display:flex;align-items:center;gap:12px;padding:10px 4px;
  border-bottom:1px solid var(--line);flex-wrap:wrap;
}
.region-item-row:last-child{border-bottom:none;}
.region-item-nome{flex:1;font-weight:700;font-size:14px;color:var(--ink);min-width:120px;}
.region-item-valor{
  font-weight:800;font-size:14px;color:var(--orange);
  background:#FFF1E4;padding:4px 10px;border-radius:999px;white-space:nowrap;
}
[data-theme="dark"] .region-item-valor{background:#3A2314;color:#FFB27A;}
.region-empty-itens{font-size:13px;color:var(--muted);font-style:italic;padding:6px 4px;}

.region-add-item-row{
  display:flex;gap:8px;flex-wrap:wrap;padding-top:6px;
}
.region-add-item-row input{
  border:1.5px solid var(--line);background:var(--card);color:var(--ink);
  border-radius:10px;padding:9px 12px;font-size:13px;font-family:'Inter',sans-serif;
  outline:none;flex:1;min-width:140px;
}
.region-add-item-row input:focus{border-color:var(--green);}
.region-add-item-row .region-new-valor{flex:0 0 140px;min-width:100px;}

/* ---------- Descontos (desconto máximo por produto) ---------- */
.desconto-padrao-destaque{color:var(--green);}

.desconto-consulta{margin-bottom:24px;}
.desconto-consulta .search-box{max-width:640px;box-shadow:0 4px 16px rgba(24,28,24,.06);}

.desconto-resultado{
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  max-width:640px;margin-top:14px;padding:16px 20px;border-radius:16px;
  background:var(--green-pale);border:1.5px solid var(--green-light);
  animation:desconto-pop .15s ease;
}
@keyframes desconto-pop{ from{ opacity:0; transform:translateY(-4px);} to{ opacity:1; transform:translateY(0);} }
.desconto-resultado-nome{font-weight:800;font-size:16px;color:var(--ink);}
.desconto-resultado-pct{
  font-family:'Archivo Black',sans-serif;font-size:20px;
  padding:4px 14px;border-radius:999px;background:var(--green);color:#fff;
}
.desconto-resultado-obs{font-size:12.5px;color:var(--muted);font-style:italic;}

.desconto-resultado.desconto-zero .desconto-resultado-pct{background:var(--danger);}
.desconto-resultado.desconto-reduzido .desconto-resultado-pct{background:var(--orange);}
[data-theme="dark"] .desconto-resultado{background:var(--green-light);border-color:var(--green-dark);}

/* ---------- Aba Cálculos ---------- */
.calc-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
  gap:18px;
}
.calc-card{
  background:var(--card);border:1px solid var(--line);border-radius:18px;
  padding:22px 20px;cursor:pointer;
  box-shadow:0 2px 10px rgba(24,28,24,.05);
  transition:transform .14s ease, box-shadow .14s ease;
}
.calc-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(11,107,20,.16);}
.calc-card-icon{font-size:30px;margin-bottom:10px;}
.calc-card h3{margin:0 0 6px;font-size:16px;color:var(--ink);}
.calc-card p{margin:0;font-size:13px;color:var(--muted);line-height:1.45;}

.calc-resultado{
  margin-top:6px;padding:18px 20px;border-radius:16px;
  background:var(--green-pale);border:1.5px solid var(--green-light);
  animation:desconto-pop .15s ease;
  display:flex;flex-direction:column;gap:10px;
}
.calc-resultado-principal{
  display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;
}
.calc-resultado-numero{
  font-family:'Archivo Black',sans-serif;font-size:30px;color:var(--green-dark);
}
.calc-resultado-label{font-size:14px;font-weight:700;color:var(--ink);}
.calc-resultado-linha{
  font-size:13.5px;color:var(--muted);display:flex;justify-content:space-between;gap:10px;
}
.calc-resultado-linha strong{color:var(--ink);font-weight:700;}
.calc-resultado-total{
  border-top:1.5px dashed var(--line);padding-top:10px;margin-top:2px;
  display:flex;justify-content:space-between;align-items:baseline;
}
.calc-resultado-total-label{font-size:14px;font-weight:700;color:var(--ink);}
.calc-resultado-total-valor{font-family:'Archivo Black',sans-serif;font-size:22px;color:var(--green-dark);}
[data-theme="dark"] .calc-resultado{background:var(--green-light);border-color:var(--green-dark);}

.desconto-lista-titulo{
  font-family:'Archivo Black',sans-serif;font-size:16px;color:var(--ink);
  margin:0 0 12px;
}

.descontos-lista{
  display:flex;flex-direction:column;background:var(--card);
  border:1px solid var(--line);border-radius:18px;overflow:hidden;
  box-shadow:0 2px 10px rgba(24,28,24,.05);
}
.desconto-row{
  display:flex;align-items:center;gap:14px;padding:13px 20px;
  border-bottom:1px solid var(--line);flex-wrap:wrap;
}
.desconto-row:last-child{border-bottom:none;}
.desconto-row-nome{flex:1;font-weight:700;font-size:14px;color:var(--ink);min-width:140px;}
.desconto-row-pct{
  font-weight:800;font-size:13px;padding:4px 12px;border-radius:999px;
  background:var(--green-pale);color:var(--green);white-space:nowrap;
}
.desconto-row-pct.desconto-zero{background:#FBE9E7;color:var(--danger);}
.desconto-row-pct.desconto-reduzido{background:#FFF1E4;color:var(--orange);}
[data-theme="dark"] .desconto-row-pct.desconto-zero{background:#3A1815;}
[data-theme="dark"] .desconto-row-pct.desconto-reduzido{background:#3A2314;color:#FFB27A;}

/* ---------- Menu de configurações (engrenagem no canto superior direito) ---------- */
.settings-menu{
  position:fixed;top:20px;right:24px;z-index:60;
}
.settings-gear-btn{
  width:44px;height:44px;border-radius:50%;
  background:var(--card);border:1.5px solid var(--line);
  display:flex;align-items:center;justify-content:center;cursor:pointer;
  box-shadow:0 6px 18px rgba(11,107,20,.14);
  color:var(--green);
  transition:transform .18s ease, background .12s ease;
}
.settings-gear-btn:hover{background:var(--green-pale);transform:rotate(35deg);}
.settings-gear-btn svg{width:22px;height:22px;}
.settings-divider{height:1px;background:var(--line);margin:6px 4px;}

@media (max-width:600px){
  .settings-menu{top:14px;right:14px;}
  .settings-gear-btn{width:40px;height:40px;}
}

/* Modal de configurações — organizado em seções, em vez do dropdown
   apertado de antes (ficou grande demais pra caber ali). */
.settings-modal{max-width:460px;}
.settings-section{margin-bottom:22px;}
.settings-section:last-child{margin-bottom:0;}
.settings-section-title{
  font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;
  color:var(--muted);margin:0 0 8px 4px;
}
.settings-row{
  display:flex;align-items:center;gap:12px;width:100%;text-align:left;
  border:1.5px solid var(--line);background:var(--card);border-radius:12px;
  padding:12px 14px;margin-bottom:8px;cursor:pointer;
  font-family:'Inter',sans-serif;font-weight:700;font-size:14px;color:var(--ink);
  transition:border-color .15s ease, background .15s ease;
}
.settings-row:last-child{margin-bottom:0;}
.settings-row:hover{border-color:var(--green);background:var(--green-pale);}
.settings-row-icon{font-size:18px;flex-shrink:0;}
.settings-row-label{flex:1;}
.settings-row-static{cursor:default;}
.settings-row-static:hover{border-color:var(--line);background:var(--card);}
.settings-row-content{flex:1;display:flex;flex-direction:column;gap:6px;}

@media (max-width:600px){
  .settings-menu{top:14px;right:14px;}
  .settings-gear-btn{width:40px;height:40px;}
}

/* ---------- Orçamentos ---------- */
.orcamentos-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:18px;
}
.orcamento-card{
  background:var(--card);border:1.5px solid var(--line);border-radius:18px;
  padding:20px;cursor:pointer;
  box-shadow:0 2px 10px rgba(24,28,24,.05);
  transition:transform .18s cubic-bezier(.22,1,.36,1), box-shadow .2s ease, border-color .2s ease;
  display:flex;flex-direction:column;gap:8px;
}
.orcamento-card:hover{transform:translateY(-5px);box-shadow:0 16px 32px rgba(11,107,20,.18);border-color:var(--green);}
.orcamento-card-cliente{font-size:16px;font-weight:800;color:var(--ink);}
.orcamento-card-data{font-size:12px;color:var(--muted);}
.orcamento-card-itens{font-size:12.5px;color:var(--muted);}
.orcamento-card-total{
  margin-top:4px;font-family:'Archivo Black',sans-serif;font-size:20px;color:var(--green-dark);
}

/* linhas de item dentro do formulário */
.orcamento-item-row{
  display:grid;
  grid-template-columns:2fr 70px 100px 96px 100px 32px;
  gap:8px;align-items:center;
}
.orcamento-item-head{
  font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;
  color:var(--green);padding:0 2px 6px;
}
#orcamentoItensArea{display:flex;flex-direction:column;gap:8px;margin-top:8px;}
.orcamento-item-row input{
  width:100%;border:1.5px solid var(--line);background:var(--card);border-radius:8px;
  padding:8px 9px;font-size:13.5px;font-family:'Inter',sans-serif;outline:none;color:var(--ink);
  transition:border-color .12s ease;
}
.orcamento-item-row input:focus{border-color:var(--green);}
.orcamento-item-total{
  font-size:13.5px;font-weight:800;color:var(--green-dark);text-align:right;padding-right:4px;
}
.orcamento-item-remove{
  border:none;background:var(--green-pale);color:var(--green-dark);
  width:28px;height:28px;border-radius:50%;font-size:16px;line-height:1;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background .12s ease,color .12s ease;
}
.orcamento-item-remove:hover{background:var(--danger);color:#fff;}

.orcamento-resumo{
  margin-top:6px;padding:18px 20px;border-radius:16px;
  background:var(--green-pale);border:1.5px solid var(--green-light);
  display:flex;flex-direction:column;gap:8px;
}
.orcamento-resumo-linha{
  display:flex;justify-content:space-between;font-size:13.5px;color:var(--muted);
}
.orcamento-resumo-linha strong{color:var(--ink);font-weight:700;}
.orcamento-resumo-total{
  border-top:1.5px dashed var(--line);padding-top:10px;margin-top:2px;
  display:flex;justify-content:space-between;align-items:baseline;
}
.orcamento-resumo-total-label{font-size:15px;font-weight:800;color:var(--ink);}
.orcamento-resumo-total-valor{font-family:'Archivo Black',sans-serif;font-size:26px;color:var(--green-dark);}
[data-theme="dark"] .orcamento-resumo{background:var(--green-light);border-color:var(--green-dark);}

@media (max-width:700px){
  .orcamento-item-row{grid-template-columns:1fr 60px 90px 32px;}
  .orcamento-item-row span:nth-child(4), .orcamento-item-row .orcamento-item-desconto{display:none;}
}

/* A impressão do orçamento agora abre numa janela própria, com HTML
   e CSS totalmente independentes deste arquivo — não precisa mais de
   nenhum estilo de impressão aqui. */

/* ---------- Seletor de Produto (picker) — busca completa, conectada ao catálogo ---------- */
/* Camadas de overlay empilhado: alguns modais abrem por cima de outros
   (ex: seletor de produto abre por cima do formulário de orçamento). */
#calcPickerOverlay, #escolhaOrcamentoOverlay{ z-index:65; }
#calcPisoOverlay, #calcLajeFolderOverlay, #calcCimentoGeralOverlay{ z-index:68; }
#calcLajotasOverlay, #calcVigotasOverlay, #calcCimentoLajeOverlay, #calcVergalhaoOverlay, #calcLajeOverlay{ z-index:70; }
#calcVincularMateriaisOverlay{ z-index:72; }
#productPickerOverlay{ z-index:90; }

.picker-trigger-btn{
  width:100%;justify-content:flex-start;text-align:left;
}
.picker-trigger-btn span{ overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }

.picker-search-box{ margin-bottom:16px; }

.picker-results{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
  gap:14px;max-height:50vh;overflow-y:auto;padding-right:2px;
}
.picker-card{
  display:flex;gap:12px;align-items:center;padding:10px;
  background:var(--card);border:1.5px solid var(--line);border-radius:14px;
  cursor:pointer;transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}
.picker-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(11,107,20,.14);border-color:var(--green);}
.picker-photo{
  width:52px;height:52px;flex-shrink:0;border-radius:10px;overflow:hidden;
  background:linear-gradient(155deg, var(--green) 0%, var(--green-dark) 100%);
  display:flex;align-items:center;justify-content:center;
}
.picker-photo img{width:100%;height:100%;object-fit:cover;}
.picker-photo .initials{color:#fff;font-family:'Archivo Black',sans-serif;font-size:16px;}
.picker-info{display:flex;flex-direction:column;gap:2px;min-width:0;}
.picker-info strong{font-size:13.5px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.picker-meta{font-size:11.5px;color:var(--muted);}

/* Resultados da consulta de desconto (grid conectado ao catálogo real) */
.desconto-resultados-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
  gap:14px;
}
.desconto-card{
  display:flex;flex-direction:column;gap:8px;padding:14px 16px;
  background:var(--card);border:1.5px solid var(--line);border-radius:14px;
  transition:transform .18s cubic-bezier(.22,1,.36,1), box-shadow .2s ease, border-color .2s ease;
}
.desconto-card:hover{transform:translateY(-4px);box-shadow:0 12px 26px rgba(11,107,20,.14);border-color:var(--green);}
.desconto-card-nome{font-weight:700;font-size:14px;color:var(--ink);}
.desconto-card-pct{
  align-self:flex-start;font-weight:800;font-size:13px;padding:5px 12px;border-radius:999px;
  background:var(--green-pale);color:var(--green);
}
.desconto-card-pct.desconto-zero{background:#FBE9E7;color:var(--danger);}
.desconto-card-pct.desconto-reduzido{background:#FFF1E4;color:var(--orange);}
[data-theme="dark"] .desconto-card-pct.desconto-zero{background:#3A1815;}
[data-theme="dark"] .desconto-card-pct.desconto-reduzido{background:#3A2314;color:#FFB27A;}
.desconto-card-tag{font-size:11px;color:var(--muted);font-style:italic;}

/* Botão "Selecionar produto" usado nas linhas de item (regiões / orçamento) */
.item-produto-btn{
  flex:1;min-width:150px;text-align:left;
  border:1.5px solid var(--line);background:var(--card);color:var(--ink);
  border-radius:10px;padding:9px 12px;font-size:13px;font-family:'Inter',sans-serif;
  cursor:pointer;transition:border-color .12s ease;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.item-produto-btn:hover{border-color:var(--green);}
.item-produto-btn.placeholder{color:var(--muted);}

.oi-produto-btn{
  border:1.5px solid var(--line);background:var(--card);color:var(--ink);
  border-radius:8px;padding:8px 9px;font-size:13.5px;font-family:'Inter',sans-serif;
  text-align:left;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  transition:border-color .12s ease;
}
.oi-produto-btn:hover{border-color:var(--green);}
.oi-produto-btn.placeholder{color:var(--muted);}

.orcamento-itens-label-row{
  display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;
}

.escolha-orcamento-lista{display:flex;flex-direction:column;gap:8px;max-height:40vh;overflow-y:auto;}
.escolha-orcamento-item{
  display:flex;justify-content:space-between;align-items:center;gap:10px;
  padding:12px 14px;border:1.5px solid var(--line);border-radius:12px;
  cursor:pointer;transition:border-color .12s ease, background .12s ease;
}
.escolha-orcamento-item:hover{border-color:var(--green);background:var(--green-pale);}
.escolha-orcamento-item-nome{font-weight:700;font-size:13.5px;color:var(--ink);}
.escolha-orcamento-item-info{font-size:12px;color:var(--muted);}

/* ---------- Checkbox estilizado (ex: "produto em estoque") ---------- */
.checkbox-field{
  display:flex !important;align-items:center;gap:10px;
  text-transform:none !important;font-size:13.5px !important;font-weight:600 !important;
  color:var(--ink) !important;letter-spacing:normal !important;cursor:pointer;
}
.checkbox-field input[type="checkbox"]{
  width:18px;height:18px;flex-shrink:0;accent-color:var(--green);cursor:pointer;
}

/* Tag de "Em estoque" (informativa, não é aviso) */
.estoque-chip{
  display:inline-flex;align-items:center;gap:4px;
  font-size:10.5px;font-weight:700;color:var(--green-dark);background:var(--green-pale);
  padding:3px 9px;border-radius:999px;width:fit-content;
}
[data-theme="dark"] .estoque-chip{color:var(--green);}

/* ---------- Olhinho do desconto máximo (aba Orçamentos) ---------- */
.oi-desconto-wrap{display:flex;align-items:center;gap:4px;}
.oi-desconto-wrap .oi-desconto{min-width:0;flex:1;}
.oi-desconto-eye{
  flex-shrink:0;border:none;background:transparent;cursor:pointer;
  font-size:14px;padding:2px;line-height:1;opacity:.65;
  transition:opacity .12s ease;
}
.oi-desconto-eye:hover{opacity:1;}
@media (max-width:700px){
  .oi-desconto-wrap{display:none;}
}

.card-preco{
  font-family:'Archivo Black',sans-serif;font-size:16px;color:var(--green-dark);
}
[data-theme="dark"] .card-preco{color:var(--green);}

.head-eye-hint{
  display:block;font-size:9.5px;font-weight:600;text-transform:none;
  color:var(--muted);letter-spacing:0;margin-top:2px;
}

/* ---------- Refinar busca (múltiplos termos, discreto) ---------- */
.search-add-icon-btn{
  flex-shrink:0;border:none;background:transparent;cursor:pointer;
  width:40px;color:var(--muted);font-size:20px;font-weight:700;line-height:1;
  border-left:1.5px solid var(--line);
  transition:color .12s ease, background .12s ease;
}
.search-add-icon-btn:hover{color:var(--green);background:var(--green-pale);}

.search-extra-row{
  display:flex;flex-wrap:wrap;gap:8px;
  margin-top:10px;
}
.search-extra-chip{
  display:flex;align-items:center;gap:6px;
  background:var(--card);border:1.5px solid var(--line);border-radius:999px;
  padding:6px 6px 6px 14px;box-shadow:0 2px 8px rgba(24,28,24,.05);
}
.search-extra-chip input{
  border:none;outline:none;background:transparent;color:var(--ink);
  font-family:'Inter',sans-serif;font-size:13px;width:110px;
}
.search-extra-remove{
  flex-shrink:0;border:none;background:var(--green-pale);color:var(--green-dark);
  width:20px;height:20px;border-radius:50%;cursor:pointer;font-size:13px;line-height:1;
  display:flex;align-items:center;justify-content:center;
  transition:background .12s ease,color .12s ease;
}
.search-extra-remove:hover{background:var(--danger);color:#fff;}

/* ---------- Cliente (seletor + cadastro) ---------- */
.client-field-row{display:flex;gap:8px;}
.client-field-row input{flex:1;min-width:0;}
.client-field-row .btn{flex-shrink:0;white-space:nowrap;}

#clientPickerOverlay, #clientFormOverlay{ z-index:90; }
#clientFormOverlay{ z-index:95; }

.client-picker-card{
  display:flex;justify-content:space-between;align-items:center;gap:10px;
  cursor:pointer;
}
.client-picker-card .picker-info{flex:1;min-width:0;}
.client-picker-card .client-edit-btn{flex-shrink:0;}

/* ---------- Vendedor ativo (menu de configurações) ---------- */
.settings-vendedor-block{
  display:flex;flex-direction:column;gap:6px;padding:8px 13px 10px;
}
.settings-vendedor-label{
  font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;
  color:var(--muted);
}
.vendedor-select{
  width:100%;border:1.5px solid var(--line);background:var(--card);color:var(--ink);
  border-radius:10px;padding:8px 10px;font-size:13.5px;font-family:'Inter',sans-serif;
  outline:none;cursor:pointer;
}
.vendedor-select:focus{border-color:var(--green);}
#openVendedorFormBtn{font-size:12.5px;padding:8px 10px;}

.vendedores-lista{
  display:flex;flex-direction:column;background:var(--card);
  border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-top:14px;
}
.vendedor-row{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:11px 16px;border-bottom:1px solid var(--line);
}
.vendedor-row:last-child{border-bottom:none;}
.vendedor-row-nome{font-weight:700;font-size:14px;color:var(--ink);}

/* ---------- Botão de mapa (cadastro e detalhe) ---------- */
.map-trigger-btn{ width:100%;justify-content:center; }

#mapPickerOverlay{ z-index:70; }
#viewMapOverlay{ z-index:70; }
#viewPhotoOverlay{ z-index:70; }

.map-picker.view-only{ cursor:default; }

/* ---------- Detalhe do produto — visual novo (card único de informações) ---------- */

.detail-photo-btn{
  width:100%;display:flex;align-items:center;justify-content:center;gap:8px;
  border:1.5px solid var(--line);background:var(--card);color:var(--ink);
  font-family:'Inter',sans-serif;font-weight:700;font-size:14px;
  padding:14px 16px;border-radius:14px;cursor:pointer;
  transition:border-color .12s ease, background .12s ease;
}
.detail-photo-btn:hover{border-color:var(--green);background:var(--green-pale);}

.detail-loc-chip{
  display:inline-flex;align-items:center;gap:6px;width:fit-content;
  background:var(--green-pale-deep);color:var(--green);
  font-family:'Inter',sans-serif;font-weight:800;font-size:13px;
  padding:8px 14px;border-radius:999px;
}
.detail-loc-chip-icon{font-size:14px;}

.detail-info-card{
  background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden;
}
.info-card-row{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:14px 16px;border-bottom:1px solid var(--line);
}
.info-card-row:last-child{border-bottom:none;}
.info-card-left{display:flex;align-items:center;gap:12px;min-width:0;}
.info-card-icon{font-size:18px;flex-shrink:0;}
.info-card-label{
  font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;
  margin-bottom:2px;
}
.info-card-value{font-size:14.5px;font-weight:700;color:var(--ink);word-break:break-word;}
.info-card-action{
  flex-shrink:0;width:32px;height:32px;border-radius:50%;border:none;cursor:default;
  display:flex;align-items:center;justify-content:center;font-size:14px;
  transition:transform .12s ease;
}
.info-card-action.green{background:var(--green-pale-deep);color:var(--green);}
.info-card-action.orange{background:#FFF1E4;color:var(--orange);cursor:pointer;}
[data-theme="dark"] .info-card-action.orange{background:#3A2314;color:#FFB27A;}
button.info-card-action:hover{transform:scale(1.08);}

.detail-line-item{
  display:flex;align-items:flex-start;gap:10px;
  background:var(--card);border:1px solid var(--line);border-radius:14px;
  padding:12px 16px;font-size:13.5px;color:var(--ink);line-height:1.5;
  margin-bottom:10px;
}
.detail-line-item em{font-style:italic;color:var(--muted);}
.detail-line-icon{
  flex-shrink:0;width:20px;height:20px;border-radius:50%;
  background:var(--green-pale-deep);color:var(--green);
  display:flex;align-items:center;justify-content:center;
  font-size:11px;font-weight:800;margin-top:1px;
}

.detail-map-pill{
  width:100%;display:flex;align-items:center;gap:10px;
  background:var(--pink-pale);color:var(--pink);border:none;
  font-family:'Inter',sans-serif;font-weight:800;font-size:14px;
  padding:14px 16px;border-radius:14px;cursor:pointer;
  transition:transform .12s ease;
}
.detail-map-pill:hover{transform:translateY(-1px);}
.detail-map-pill-icon{font-size:16px;}
.detail-map-pill-chevron{margin-left:auto;font-size:20px;font-weight:700;}

/* ---------- Cadastro avançado (produto) ---------- */
.advanced-toggle-btn{
  width:100%;justify-content:center;margin-top:4px;margin-bottom:4px;
}
#advancedFieldsWrap{
  display:flex;flex-direction:column;gap:14px;
  margin-top:14px;padding-top:14px;border-top:1.5px dashed var(--line);
}

/* ---------- Menu hambúrguer (canto superior esquerdo) ---------- */
.hamburger-menu{
  position:fixed;top:20px;left:24px;z-index:60;
}
.hamburger-btn{
  width:44px;height:44px;border-radius:50%;
  background:var(--card);border:1.5px solid var(--line);
  display:flex;align-items:center;justify-content:center;cursor:pointer;
  box-shadow:0 6px 18px rgba(11,107,20,.14);
  color:var(--green);
  transition:background .12s ease;
}
.hamburger-btn:hover{background:var(--green-pale);}
.hamburger-btn svg{width:20px;height:20px;}

.hamburger-dropdown{
  display:none;flex-direction:column;gap:2px;
  position:absolute;top:54px;left:0;min-width:210px;
  background:var(--card);border:1px solid var(--line);border-radius:16px;
  box-shadow:0 16px 36px rgba(10,20,12,.22);padding:8px;
}
.hamburger-dropdown.open{display:flex;}

@media (max-width:600px){
  .hamburger-menu{top:14px;left:14px;}
  .hamburger-btn{width:40px;height:40px;}
}

/* ---------- Dashboard ---------- */
#dashboardView{padding:8px 0 60px;}

.dashboard-header{text-align:center;margin-bottom:28px;}
.dashboard-header h2{
  font-family:'Archivo Black',sans-serif;font-size:28px;margin:0 0 6px;color:var(--ink);
}
.dashboard-header p{color:var(--muted);margin:0;font-size:14px;}

.dashboard-section-title{
  font-family:'Inter',sans-serif;font-size:15px;font-weight:800;color:var(--ink);
  margin:38px 0 16px;
}

.dashboard-stats-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px;
}
.dashboard-stat-card{
  background:var(--card);border:1.5px solid var(--line);border-radius:16px;
  padding:20px 20px 22px;display:flex;flex-direction:column;gap:5px;
  box-shadow:0 2px 10px rgba(24,28,24,.05);
  transition:transform .18s cubic-bezier(.22,1,.36,1), box-shadow .2s ease, border-color .2s ease;
}
.dashboard-stat-card:hover{transform:translateY(-4px);box-shadow:0 14px 28px rgba(11,107,20,.14);}
.dashboard-stat-icon{font-size:22px;display:inline-flex;color:var(--green);}
.dashboard-stat-card.warn .dashboard-stat-icon{color:var(--orange);}
.stat-icon{width:22px;height:22px;display:block;}
.dashboard-stat-value{
  font-family:'Archivo Black',sans-serif;font-size:26px;color:var(--green);
}
.dashboard-stat-label{font-size:12.5px;color:var(--muted);font-weight:600;}
.dashboard-stat-card.warn .dashboard-stat-value{color:var(--orange);}
.dashboard-stat-card.highlight{
  background:linear-gradient(155deg, var(--green) 0%, var(--green-dark) 100%);
  border:none;
}
[data-theme="dark"] .dashboard-stat-card.highlight{
  background:linear-gradient(155deg, var(--green-dark) 0%, var(--green-darker) 100%);
}
.dashboard-stat-card.highlight .dashboard-stat-value,
.dashboard-stat-card.highlight .dashboard-stat-label,
.dashboard-stat-card.highlight .dashboard-stat-icon{color:#fff;}

.dashboard-two-col{
  display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:32px;
}
.dashboard-panel .dashboard-section-title:first-child{margin-top:0;}
@media (max-width:760px){
  .dashboard-two-col{grid-template-columns:1fr;}
}
.dashboard-panel{
  background:var(--card);border:1.5px solid var(--line);border-radius:16px;padding:18px;
}
.dashboard-panel h4{margin:0 0 12px;font-size:13.5px;color:var(--ink);}

.dashboard-ranking-row{
  display:flex;align-items:center;gap:10px;padding:8px 0;
  border-bottom:1px solid var(--line);
}
.dashboard-ranking-row:last-child{border-bottom:none;}
.dashboard-ranking-pos{
  width:22px;height:22px;border-radius:50%;background:var(--green-pale);color:var(--green);
  display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;flex-shrink:0;
}
.dashboard-ranking-nome{flex:1;font-size:13.5px;font-weight:600;color:var(--ink);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.dashboard-ranking-valor{font-size:12.5px;font-weight:700;color:var(--muted);flex-shrink:0;}

/* Bloqueio de estatísticas avançadas */
.dashboard-locked-box{position:relative;border-radius:16px;overflow:hidden;}
.dashboard-locked-content{filter:blur(7px);pointer-events:none;user-select:none;}
.dashboard-lock-overlay{
  position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;
  background:rgba(0,0,0,.35);border-radius:16px;
}
.dashboard-lock-icon{font-size:32px;}
.dashboard-lock-overlay p{color:#fff;font-weight:700;font-size:14px;margin:0;text-align:center;padding:0 20px;}

/* Gráfico de barras (horários) — feito só com CSS, sem biblioteca */
.chart-wrap{display:flex;flex-direction:column;gap:8px;}
.bar-chart-row{display:flex;align-items:center;gap:8px;}
.bar-chart-label{width:38px;flex-shrink:0;font-size:11px;color:var(--muted);text-align:right;}
.bar-chart-track{flex:1;background:var(--green-pale);border-radius:6px;height:14px;overflow:hidden;}
.bar-chart-fill{height:100%;background:var(--green);border-radius:6px;transition:width .3s ease;}
.bar-chart-value{width:22px;flex-shrink:0;font-size:11px;font-weight:700;color:var(--ink);}

/* Gráfico de pizza — feito com conic-gradient puro em CSS */
.pie-chart{
  width:140px;height:140px;border-radius:50%;margin:0 auto 14px;
  flex-shrink:0;
}
.pie-chart-legend{display:flex;flex-direction:column;gap:6px;}
.pie-legend-row{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink);}
.pie-legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;}
.pie-legend-nome{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.pie-legend-valor{font-weight:700;color:var(--muted);flex-shrink:0;}

/* ==========================================================================
 * Barra lateral (sidebar) — navegação principal
 * ========================================================================== */

.sidebar{
  position:fixed;top:0;left:0;bottom:0;width:240px;z-index:55;
  background:var(--card);border-right:1px solid var(--line);
  display:flex;flex-direction:column;overflow-x:hidden;
  padding:20px 14px;
}
.sidebar-brand{padding:10px 14px 20px;display:flex;justify-content:center;}
.sidebar-logo-achei{width:100%;max-width:100%;height:auto;object-fit:contain;display:block;}
.sidebar-nav{display:flex;flex-direction:column;gap:3px;flex:1;overflow-y:auto;overflow-x:hidden;}
.sidebar-section-label{
  font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;
  color:var(--muted);padding:16px 10px 6px;
}
.sidebar-item{
  display:flex;align-items:center;gap:10px;width:100%;text-align:left;
  border:none;background:transparent;padding:11px 12px;border-radius:12px;
  font-family:'Inter',sans-serif;font-weight:700;font-size:14px;color:var(--ink);
  cursor:pointer;transition:background .18s ease, color .18s ease, transform .12s ease;
  animation:sidebarItemIn .4s cubic-bezier(.22,1,.36,1) backwards;
}
.nav-icon{width:19px;height:19px;flex-shrink:0;}
@keyframes sidebarItemIn{
  from{opacity:0;transform:translateX(-14px);}
  to{opacity:1;transform:translateX(0);}
}
.sidebar-item:nth-of-type(1){animation-delay:.04s;}
.sidebar-item:nth-of-type(2){animation-delay:.08s;}
.sidebar-item:nth-of-type(3){animation-delay:.12s;}
.sidebar-item:nth-of-type(4){animation-delay:.16s;}
.sidebar-item:nth-of-type(5){animation-delay:.2s;}
.sidebar-item:nth-of-type(6){animation-delay:.24s;}
.sidebar-item:nth-of-type(7){animation-delay:.28s;}
.sidebar-item:nth-of-type(8){animation-delay:.32s;}
.sidebar-item:hover{background:var(--green-pale);transform:translateX(2px);}
.sidebar-item:active{transform:translateX(2px) scale(.98);transition-duration:.08s;}
.sidebar-item.active{background:var(--green);color:#fff;}
.sidebar-footer{
  display:flex;align-items:center;gap:10px;padding:12px 10px;margin-top:10px;
  border-top:1px solid var(--line);
}
.sidebar-vendedor-avatar{
  width:34px;height:34px;border-radius:50%;background:var(--green-pale);color:var(--green);
  display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;
}
.sidebar-vendedor-info{min-width:0;}
.sidebar-vendedor-nome{font-size:13px;font-weight:700;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.sidebar-vendedor-sub{font-size:11px;color:var(--muted);}

.sidebar-mobile-toggle{
  display:none;position:fixed;top:16px;left:16px;z-index:70;
  width:42px;height:42px;border-radius:50%;background:var(--card);border:1.5px solid var(--line);
  color:var(--green);align-items:center;justify-content:center;cursor:pointer;
  box-shadow:0 6px 18px rgba(11,107,20,.14);
}
.sidebar-mobile-toggle svg{width:20px;height:20px;}
.sidebar-backdrop{
  display:block;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:54;
  opacity:0;pointer-events:none;transition:opacity .25s ease;
}
.sidebar-backdrop.open{opacity:1;pointer-events:auto;}

/* área do conteúdo empurrada pra direita da sidebar */
header, main{margin-left:240px;}

@media (max-width:900px){
  header, main{margin-left:0;}
  .sidebar{transform:translateX(-100%);transition:transform .2s ease;box-shadow:0 0 30px rgba(0,0,0,.3);}
  .sidebar.open{transform:translateX(0);}
  .sidebar-mobile-toggle{display:flex;}
}

/* ==========================================================================
 * Dashboard — ajustes visuais novos
 * ========================================================================== */

.dashboard-section-hint{
  font-size:11px;font-weight:600;color:var(--muted);text-transform:none;margin-left:8px;
}

.dashboard-quick-actions{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;
  margin-bottom:22px;
}
.quick-action-card{
  display:flex;align-items:center;gap:12px;text-align:left;
  background:var(--card);border:1.5px solid var(--line);border-radius:16px;
  padding:16px;cursor:pointer;font-family:'Inter',sans-serif;
  transition:transform .18s cubic-bezier(.22,1,.36,1), box-shadow .2s ease, border-color .2s ease;
}
.quick-action-card:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(11,107,20,.16);border-color:var(--green);}
.quick-action-card:active{transform:translateY(-1px) scale(.98);transition-duration:.08s;}
.quick-action-card:focus{outline:none;}
.quick-action-card:focus-visible{box-shadow:0 0 0 3px rgba(11,107,20,.25);}
.quick-action-card strong{display:block;font-size:14px;color:var(--ink);}
.quick-action-card div span{display:block;font-size:12px;color:var(--muted);margin-top:2px;}
.quick-action-icon{
  width:42px;height:42px;border-radius:12px;flex-shrink:0;font-size:20px;line-height:1;
  display:flex !important;align-items:center;justify-content:center;
}
.qa-icon{width:21px;height:21px;}
.qa-blue{background:#E3F0FF;color:#1D6FD6;}
.qa-green{background:var(--green-pale);color:var(--green);}
.qa-purple{background:#F1E7FB;color:#7C3FC4;}
.qa-orange{background:#FFF1E4;color:var(--orange);}
[data-theme="dark"] .qa-blue{background:#122B3F;color:#6CB3FF;}
[data-theme="dark"] .qa-purple{background:#2A1E38;color:#C79BF2;}
[data-theme="dark"] .qa-orange{background:#3A2314;color:#FFB27A;}


button.dashboard-stat-card.clickable{
  cursor:pointer;font-family:'Inter',sans-serif;text-align:left;
}
button.dashboard-stat-card.clickable:hover{
  border-color:var(--orange);transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(255,106,19,.15);
}

.dashboard-locked-head{
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;
  margin:28px 0 12px;
}
.periodo-tabs{display:flex;gap:4px;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:4px;}
.periodo-tab{
  border:none;background:transparent;padding:7px 14px;border-radius:9px;
  font-family:'Inter',sans-serif;font-weight:700;font-size:12.5px;color:var(--muted);cursor:pointer;
  transition:background .12s ease, color .12s ease;
}
.periodo-tab.active{background:var(--green);color:#fff;}

/* ==========================================================================
 * Prioridade 1 — Transições entre telas + cards em cascata
 * ========================================================================== */

@keyframes viewFadeIn{
  from{opacity:0;transform:translateY(14px);}
  to{opacity:1;transform:translateY(0);}
}
.view-fade-in{animation:viewFadeIn .26s cubic-bezier(.22,1,.36,1);}

@keyframes cardStaggerIn{
  from{opacity:0;transform:translateY(16px);}
  to{opacity:1;transform:translateY(0);}
}
.grid .card,
.dashboard-stats-grid .dashboard-stat-card,
.dashboard-quick-actions .quick-action-card,
.regioes-grid .region-card,
.orcamentos-grid .orcamento-card,
.desconto-resultados-grid .desconto-card,
.picker-results .picker-card{
  animation:cardStaggerIn .38s cubic-bezier(.22,1,.36,1) backwards;
}

/* ---------- Skeleton de carregamento (Prioridade 6) ---------- */
.skeleton-card{
  background:var(--card);border:1.5px solid var(--line);border-radius:14px;
  padding:14px 16px;display:flex;flex-direction:column;gap:10px;height:104px;
}
.skeleton-line{
  border-radius:6px;
  background:linear-gradient(90deg, var(--line) 25%, var(--green-pale) 50%, var(--line) 75%);
  background-size:200% 100%;
  animation:skeletonShimmer 1.3s ease-in-out infinite;
}
@keyframes skeletonShimmer{
  0%{background-position:200% 0;}
  100%{background-position:-200% 0;}
}
.skeleton-line.sk-title{height:16px;width:70%;}
.skeleton-line.sk-price{height:20px;width:40%;}
.skeleton-line.sk-tag{height:14px;width:35%;border-radius:999px;}

/* ---------- Contagem crescente dos números do dashboard (Prioridade 5) ---------- */
.dashboard-stat-value{transition:none;}

.indicator-bar-track{
  width:100%;height:6px;border-radius:999px;background:var(--green-pale);
  overflow:hidden;margin-top:6px;
}
.indicator-bar-fill{
  height:100%;border-radius:999px;background:var(--orange);
  width:0%;transition:width 1s cubic-bezier(.22,1,.36,1);
}
.indicator-bar-pct{font-size:11px;color:var(--muted);font-weight:700;margin-top:3px;display:block;}

/* stagger (cascata) — atraso crescente pros primeiros itens de cada grade */
.grid .card:nth-child(1),
.dashboard-stats-grid .dashboard-stat-card:nth-child(1),
.dashboard-quick-actions .quick-action-card:nth-child(1),
.regioes-grid .region-card:nth-child(1),
.orcamentos-grid .orcamento-card:nth-child(1),
.desconto-resultados-grid .desconto-card:nth-child(1),
.picker-results .picker-card:nth-child(1){animation-delay:0.035s;}
.grid .card:nth-child(2),
.dashboard-stats-grid .dashboard-stat-card:nth-child(2),
.dashboard-quick-actions .quick-action-card:nth-child(2),
.regioes-grid .region-card:nth-child(2),
.orcamentos-grid .orcamento-card:nth-child(2),
.desconto-resultados-grid .desconto-card:nth-child(2),
.picker-results .picker-card:nth-child(2){animation-delay:0.07s;}
.grid .card:nth-child(3),
.dashboard-stats-grid .dashboard-stat-card:nth-child(3),
.dashboard-quick-actions .quick-action-card:nth-child(3),
.regioes-grid .region-card:nth-child(3),
.orcamentos-grid .orcamento-card:nth-child(3),
.desconto-resultados-grid .desconto-card:nth-child(3),
.picker-results .picker-card:nth-child(3){animation-delay:0.105s;}
.grid .card:nth-child(4),
.dashboard-stats-grid .dashboard-stat-card:nth-child(4),
.dashboard-quick-actions .quick-action-card:nth-child(4),
.regioes-grid .region-card:nth-child(4),
.orcamentos-grid .orcamento-card:nth-child(4),
.desconto-resultados-grid .desconto-card:nth-child(4),
.picker-results .picker-card:nth-child(4){animation-delay:0.14s;}
.grid .card:nth-child(5),
.dashboard-stats-grid .dashboard-stat-card:nth-child(5),
.dashboard-quick-actions .quick-action-card:nth-child(5),
.regioes-grid .region-card:nth-child(5),
.orcamentos-grid .orcamento-card:nth-child(5),
.desconto-resultados-grid .desconto-card:nth-child(5),
.picker-results .picker-card:nth-child(5){animation-delay:0.175s;}
.grid .card:nth-child(6),
.dashboard-stats-grid .dashboard-stat-card:nth-child(6),
.dashboard-quick-actions .quick-action-card:nth-child(6),
.regioes-grid .region-card:nth-child(6),
.orcamentos-grid .orcamento-card:nth-child(6),
.desconto-resultados-grid .desconto-card:nth-child(6),
.picker-results .picker-card:nth-child(6){animation-delay:0.21s;}
.grid .card:nth-child(7),
.dashboard-stats-grid .dashboard-stat-card:nth-child(7),
.dashboard-quick-actions .quick-action-card:nth-child(7),
.regioes-grid .region-card:nth-child(7),
.orcamentos-grid .orcamento-card:nth-child(7),
.desconto-resultados-grid .desconto-card:nth-child(7),
.picker-results .picker-card:nth-child(7){animation-delay:0.245s;}
.grid .card:nth-child(8),
.dashboard-stats-grid .dashboard-stat-card:nth-child(8),
.dashboard-quick-actions .quick-action-card:nth-child(8),
.regioes-grid .region-card:nth-child(8),
.orcamentos-grid .orcamento-card:nth-child(8),
.desconto-resultados-grid .desconto-card:nth-child(8),
.picker-results .picker-card:nth-child(8){animation-delay:0.28s;}
.grid .card:nth-child(9),
.dashboard-stats-grid .dashboard-stat-card:nth-child(9),
.dashboard-quick-actions .quick-action-card:nth-child(9),
.regioes-grid .region-card:nth-child(9),
.orcamentos-grid .orcamento-card:nth-child(9),
.desconto-resultados-grid .desconto-card:nth-child(9),
.picker-results .picker-card:nth-child(9){animation-delay:0.315s;}
.grid .card:nth-child(10),
.dashboard-stats-grid .dashboard-stat-card:nth-child(10),
.dashboard-quick-actions .quick-action-card:nth-child(10),
.regioes-grid .region-card:nth-child(10),
.orcamentos-grid .orcamento-card:nth-child(10),
.desconto-resultados-grid .desconto-card:nth-child(10),
.picker-results .picker-card:nth-child(10){animation-delay:0.35s;}
.grid .card:nth-child(11),
.dashboard-stats-grid .dashboard-stat-card:nth-child(11),
.dashboard-quick-actions .quick-action-card:nth-child(11),
.regioes-grid .region-card:nth-child(11),
.orcamentos-grid .orcamento-card:nth-child(11),
.desconto-resultados-grid .desconto-card:nth-child(11),
.picker-results .picker-card:nth-child(11){animation-delay:0.385s;}
.grid .card:nth-child(12),
.dashboard-stats-grid .dashboard-stat-card:nth-child(12),
.dashboard-quick-actions .quick-action-card:nth-child(12),
.regioes-grid .region-card:nth-child(12),
.orcamentos-grid .orcamento-card:nth-child(12),
.desconto-resultados-grid .desconto-card:nth-child(12),
.picker-results .picker-card:nth-child(12){animation-delay:0.42s;}

/* ---------- Foco de teclado consistente (evita contorno "grudado" do navegador) ---------- */
.card:focus,
.orcamento-card:focus,
.region-card:focus,
.desconto-card:focus,
.picker-card:focus,
.dashboard-stat-card:focus,
.quick-action-card:focus,
.sidebar-item:focus,
.btn:focus{outline:none;}

.card:focus-visible,
.orcamento-card:focus-visible,
.desconto-card:focus-visible,
.picker-card:focus-visible{box-shadow:0 0 0 3px rgba(11,107,20,.25);}

button.dashboard-stat-card:focus-visible{box-shadow:0 0 0 3px rgba(255,106,19,.25);}
.sidebar-item:focus-visible{box-shadow:0 0 0 3px rgba(11,107,20,.3) inset;}
.btn:focus-visible{box-shadow:0 0 0 3px rgba(11,107,20,.25);}

/* ---------- Paginação da lista de produtos ---------- */
.paginacao{
  display:flex;align-items:center;justify-content:center;gap:16px;
  margin-top:26px;padding-top:20px;border-top:1px solid var(--line);
}
.paginacao-info{font-size:13px;color:var(--muted);font-weight:600;}
.paginacao-total{color:var(--muted);font-weight:400;}

.picker-limite-aviso{
  grid-column:1/-1;padding:10px 14px;margin-bottom:4px;
  background:var(--green-pale);color:var(--green);border-radius:10px;
  font-size:12.5px;font-weight:700;text-align:center;
}

/* ---------- Calculadora de Laje ---------- */
.calc-laje-lado-escolha{display:flex;gap:10px;flex-wrap:wrap;}
.calc-laje-lado-opcao{
  display:flex;align-items:center;gap:8px;flex:1;min-width:140px;
  border:1.5px solid var(--line);border-radius:12px;padding:10px 14px;
  cursor:pointer;font-size:13.5px;font-weight:600;color:var(--ink);
  transition:border-color .15s ease, background .15s ease;
}
.calc-laje-lado-opcao:has(input:checked){border-color:var(--green);background:var(--green-pale);}
.calc-laje-lado-opcao input{accent-color:var(--green);}

.calc-laje-material-row{
  display:flex;align-items:center;gap:12px;padding:12px 0;
  border-bottom:1px solid var(--line);
}
.calc-laje-material-row:last-child{border-bottom:none;}
.calc-laje-material-info{flex:1;min-width:0;}
.calc-laje-material-nome{font-weight:700;font-size:14px;color:var(--ink);}
.calc-laje-material-qtd{font-size:12.5px;color:var(--muted);}
.calc-laje-material-produto{font-size:12.5px;color:var(--green);font-weight:600;margin-top:2px;}

/* ---------- Pasta de calculadoras (Laje) ---------- */
.calc-card-pasta{border-style:dashed;}
.calc-card-pasta-badge{
  font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;
  background:var(--green-pale);color:var(--green);padding:2px 8px;border-radius:999px;
  margin-left:6px;vertical-align:middle;
}
.calc-card-total{border-color:var(--green);}

/* ---------- Checkbox de incluir/excluir material ao vincular ---------- */
.calc-laje-material-row{gap:12px;}
.calc-laje-material-check{flex-shrink:0;width:20px;height:20px;accent-color:var(--green);cursor:pointer;}
.calc-laje-material-row.material-excluido{opacity:.45;}
.calc-laje-material-row.material-excluido .calc-laje-vincular-btn{pointer-events:none;}

/* ---------- Pisos fixados (atalho rápido na calculadora) ---------- */
.calc-piso-fixados-area{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px;}
.calc-piso-fixado-chip{
  border:1.5px solid var(--line);background:var(--card);border-radius:999px;
  padding:8px 14px;font-size:13px;font-weight:700;color:var(--ink);cursor:pointer;
  transition:border-color .15s ease, background .15s ease;
}
.calc-piso-fixado-chip:hover{border-color:var(--green);background:var(--green-pale);}

/* ---------- Lista de materiais fixados (configurações) ---------- */
.material-fixado-row{
  display:flex;align-items:center;gap:12px;padding:10px 0;
  border-bottom:1px solid var(--line);
}
.material-fixado-row:last-child{border-bottom:none;}
.material-fixado-nome{flex:1;font-size:13.5px;font-weight:700;color:var(--ink);}
.material-fixado-produto{font-size:12px;color:var(--green);font-weight:600;}
.material-fixado-produto.nenhum{color:var(--muted);font-weight:400;}

.material-fixado-piso-row{
  display:flex;align-items:center;gap:10px;padding:8px 0;
}
.material-fixado-piso-nome{flex:1;font-size:13.5px;font-weight:700;color:var(--ink);}

/* Mascara o texto como senha (bolinhas) sem usar type="password" de
   verdade — assim o navegador não acha que é um formulário de login e
   não fica oferecendo "salvar senha" toda hora em contextos aleatórios. */
.campo-senha-mascarada{ -webkit-text-security:disc; text-security:disc; }

.search-atalhos-hint{
  font-size:11px;color:var(--muted);margin-top:6px;padding:0 4px;
}

.region-card-foot{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px;}
