/* Supermercado inteligente — estilos isolados pelo prefixo shopping- */
.shopping-heading-actions { display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.shopping-history-card,.shopping-smart-dashboard,.shopping-tools-grid { margin-top:14px; }
.shopping-section-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:16px; }
.shopping-section-heading h2 { color:var(--navy); font-size:18px; margin:3px 0 4px; }
.shopping-section-heading p,.shopping-card-copy { color:var(--gray-500); font-size:12px; line-height:1.5; }
.shopping-tools-grid { display:grid; grid-template-columns:1fr; gap:14px; align-items:start; }
.shopping-smart-indicators { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.shopping-smart-indicator { padding:13px; border-radius:10px; background:var(--bg); border:1px solid var(--border); min-width:0; }
.shopping-smart-indicator span { display:block; color:var(--gray-500); font-size:10px; font-weight:800; letter-spacing:.45px; text-transform:uppercase; }
.shopping-smart-indicator strong { display:block; color:var(--navy); font-size:17px; margin-top:5px; overflow-wrap:anywhere; }
.shopping-smart-indicator small { display:block; color:var(--gray-400); font-size:10px; margin-top:3px; line-height:1.35; }
.shopping-category-breakdown { display:grid; gap:8px; margin-top:14px; }
.shopping-category-row { display:grid; grid-template-columns:minmax(90px,1fr) minmax(100px,2fr) auto; gap:10px; align-items:center; font-size:11px; color:var(--gray-500); }
.shopping-category-row strong { color:var(--navy); font-size:11px; }
.shopping-category-bar { height:7px; border-radius:999px; overflow:hidden; background:var(--gray-100); }
.shopping-category-bar i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--primary),var(--accent)); }

.shopping-history-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; padding:14px 18px; border-top:1px solid var(--gray-100); align-items:center; }
.shopping-history-row:first-child { border-top:0; }
.shopping-history-main { min-width:0; }
.shopping-history-main strong { display:block; color:var(--navy); font-size:13px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.shopping-history-main span { display:block; color:var(--gray-400); font-size:10px; margin-top:3px; }
.shopping-history-values { display:flex; align-items:center; gap:9px; text-align:right; }
.shopping-history-values > div strong { display:block; color:var(--navy); font-size:13px; }
.shopping-history-values > div span { display:block; color:var(--gray-400); font-size:9px; margin-top:2px; }
.shopping-price-change { padding:4px 7px; border-radius:999px; font-size:9px; font-weight:800; white-space:nowrap; }
.shopping-price-change.up { background:var(--red-light); color:var(--red); }
.shopping-price-change.down { background:var(--green-light); color:var(--green); }
.shopping-price-change.same { background:var(--gray-100); color:var(--gray-500); }
.shopping-history-edit { border:0; background:transparent; color:var(--primary); cursor:pointer; padding:5px; }

.shopping-import-sheet { max-width:820px; max-height:min(94dvh,980px); overflow-y:auto; }
.shopping-import-intro { color:var(--gray-500); font-size:12px; line-height:1.5; margin:-4px 0 14px; }
.shopping-import-source-grid { display:grid; grid-template-columns:1fr; gap:8px; margin-bottom:12px; }
.shopping-source-button { display:flex; align-items:center; gap:10px; padding:12px; border:1px dashed var(--border-strong); border-radius:10px; background:var(--bg); cursor:pointer; }
.shopping-source-button:hover { border-color:var(--primary); background:var(--primary-light); }
.shopping-source-button input { position:absolute; width:1px; height:1px; overflow:hidden; opacity:0; pointer-events:none; }
.shopping-source-button strong { color:var(--navy); font-size:12px; }
.shopping-source-button small { color:var(--gray-400); font-size:9px; margin-left:auto; text-align:right; }
.shopping-import-processing { padding:11px; border-radius:9px; background:var(--bg); margin-bottom:12px; }
.shopping-import-processing span { display:block; color:var(--gray-500); font-size:10px; margin-top:6px; }
.shopping-import-preview { width:100%; max-height:220px; object-fit:contain; border:1px solid var(--border); border-radius:10px; background:#fff; margin-bottom:12px; }
.shopping-import-section { border-top:1px solid var(--border); padding-top:15px; margin-top:15px; }
.shopping-import-section-title { color:var(--navy); font-size:13px; font-weight:800; margin-bottom:10px; }
.shopping-import-section-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.shopping-import-section-head span { display:block; color:var(--gray-400); font-size:10px; margin-top:-6px; }
.shopping-import-items { display:grid; gap:9px; }
.shopping-import-item { position:relative; padding:12px; border:1px solid var(--border); border-radius:10px; background:var(--bg); }
.shopping-import-item-grid { display:grid; grid-template-columns:1fr 72px 72px; gap:8px; }
.shopping-import-item-grid + .shopping-import-item-grid { margin-top:8px; grid-template-columns:repeat(4,minmax(0,1fr)); }
.shopping-import-item .form-group { margin:0; }
.shopping-import-item .form-label { font-size:9px; }
.shopping-import-remove { position:absolute; top:7px; right:7px; width:26px; height:26px; border:0; border-radius:8px; color:var(--red); background:var(--red-light); cursor:pointer; }
.shopping-import-description { padding-right:34px; }
.shopping-import-line-total { background:var(--surface); font-weight:800; }
.shopping-import-totals { display:grid; gap:10px; padding:13px; border-radius:10px; background:var(--bg); margin-top:10px; }
.shopping-import-totals > div:not(.form-group) { display:flex; justify-content:space-between; gap:12px; align-items:center; color:var(--gray-500); font-size:11px; }
.shopping-import-totals .form-group { margin:0; }
.shopping-import-grand-total { padding-top:10px; border-top:1px solid var(--border); }
.shopping-import-grand-total strong { color:var(--navy); font-size:18px; }
.shopping-review-head { padding:14px; border-radius:10px; background:var(--primary-light); margin-bottom:12px; }
.shopping-review-head strong { display:block; color:var(--navy); font-size:16px; }
.shopping-review-head span { display:block; color:var(--gray-500); font-size:11px; margin-top:4px; }
.shopping-review-item { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; padding:10px 0; border-bottom:1px solid var(--border); }
.shopping-review-item strong { display:block; color:var(--navy); font-size:12px; }
.shopping-review-item span { display:block; color:var(--gray-400); font-size:10px; margin-top:2px; }
.shopping-review-item > strong { white-space:nowrap; }
.shopping-review-warning { padding:10px; margin-top:10px; border-radius:8px; background:#FFF7E8; color:#8B5A14; font-size:11px; line-height:1.45; }

.shopping-list-toolbar { display:grid; grid-template-columns:minmax(0,1fr) 74px 70px auto; gap:7px; padding:12px 14px; border-top:1px solid var(--border); }
.shopping-list-toolbar .form-control { min-width:0; }
.shopping-list-row { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:10px; align-items:center; padding:12px 15px; border-top:1px solid var(--gray-100); }
.shopping-list-check { width:25px; height:25px; border:1px solid var(--border-strong); border-radius:7px; background:var(--surface); color:var(--green); cursor:pointer; }
.shopping-list-row.in-cart { opacity:.62; }
.shopping-list-row.in-cart .shopping-list-copy strong { text-decoration:line-through; }
.shopping-list-copy strong { display:block; color:var(--navy); font-size:12px; }
.shopping-list-copy span { display:block; color:var(--gray-400); font-size:10px; margin-top:3px; }
.shopping-list-side { text-align:right; }
.shopping-list-side strong { display:block; color:var(--navy); font-size:12px; }
.shopping-list-side button { border:0; background:transparent; color:var(--primary); font-size:9px; cursor:pointer; margin-top:3px; }
.shopping-list-total { display:flex; justify-content:space-between; padding:14px 16px; border-top:1px solid var(--border); color:var(--gray-500); font-size:12px; }
.shopping-list-total strong { color:var(--navy); font-size:15px; }
.shopping-store-result { padding:12px 0; border-bottom:1px solid var(--border); }
.shopping-store-result:last-child { border-bottom:0; }
.shopping-store-result > div { display:flex; justify-content:space-between; gap:10px; }
.shopping-store-result strong { color:var(--navy); font-size:12px; }
.shopping-store-result span,.shopping-store-result small { color:var(--gray-400); font-size:10px; }
.shopping-store-result small { display:block; margin-top:4px; line-height:1.4; }

@media (min-width:600px) {
  .shopping-import-source-grid { grid-template-columns:repeat(3,1fr); }
  .shopping-smart-indicators { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media (min-width:900px) {
  .shopping-tools-grid { grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr); }
}
@media (max-width:599px) {
  .shopping-heading-actions { width:100%; justify-content:stretch; }
  .shopping-heading-actions .btn { flex:1; }
  .shopping-section-heading { flex-direction:column; }
  .shopping-import-item-grid,.shopping-import-item-grid + .shopping-import-item-grid { grid-template-columns:1fr 1fr; }
  .shopping-import-description { grid-column:1/-1; }
  .shopping-list-toolbar { grid-template-columns:minmax(0,1fr) 72px; }
  .shopping-list-toolbar button { grid-column:1/-1; }
  .shopping-history-values { align-items:flex-end; flex-direction:column; gap:4px; }
}
