:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#172b2a;background:#f3f6f2;line-height:1.45}
*{box-sizing:border-box}body{margin:0}input,select,button{font:inherit}button{cursor:pointer}button:disabled{opacity:.4;cursor:default}a{color:#1c6b56}
.topbar{background:#142c29;color:#fff;display:flex;justify-content:space-between;align-items:center;padding:14px max(20px,calc((100vw - 1400px)/2));gap:12px}
.brand{color:white;text-decoration:none;display:flex;align-items:center;gap:11px;font-weight:800;letter-spacing:-.02em}
.brand small{display:block;color:#a8c1b4;font-size:11px;font-weight:500;letter-spacing:0}
.brandmark{background:#d3f16b;border-radius:11px;color:#142c29;display:grid;place-items:center;height:41px;width:41px;font-weight:900;font-size:17px}
.topbar nav{display:flex;gap:10px;align-items:center}.light-link{color:#c9dbd3;font-size:12px;text-decoration:none}.light-link:hover{text-decoration:underline}
.container{max-width:1420px;padding:24px 20px 40px;margin:0 auto}
.intro{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:18px 0 25px}.intro h1{font-size:clamp(26px,3.4vw,37px);letter-spacing:-.04em;margin:4px 0 9px}.intro p:not(.eyebrow){color:#667976;max-width:650px;margin:0;font-size:14px}
.eyebrow{font-size:10px;letter-spacing:.12em;color:#4d8e6e;font-weight:900;margin:0 0 4px}.local-badge{background:#e3f2e6;border:1px solid #d3e6d7;color:#285f41;padding:12px 15px;border-radius:10px;font-size:12px;min-width:210px}.local-badge span{color:#3aab62}.local-badge small{color:#7e9c89}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.stat{background:#fff;border:1px solid #e0e7e1;border-radius:13px;padding:16px 18px;min-height:90px}.stat span{font-size:11px;color:#72827b;display:block;font-weight:600}.stat strong{font-size:25px;display:block;margin-top:5px;letter-spacing:-.04em}.stat small{font-size:10px;color:#9caaa1}
.layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,360px);align-items:start;gap:17px}.left,.right{display:flex;flex-direction:column;gap:17px}
.panel{background:#fff;border:1px solid #dfe7e1;border-radius:14px;padding:21px;box-shadow:0 2px 11px #1c42360b}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.panel h2{font-size:18px;letter-spacing:-.025em;margin:0}
.entry-form{background:#f8faf7;padding:15px;border-radius:11px;border:1px solid #e8eee8;margin-bottom:14px}.fields{display:grid;gap:12px}.item-fields{grid-template-columns:2.5fr 1fr 1fr 1.5fr}.store-fields{grid-template-columns:2fr 1fr}.offer-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.fields .wide{grid-column:span 3}
label{color:#60716a;font-size:11px;font-weight:750;display:block}input:not([type=checkbox]),select{display:block;width:100%;border:1px solid #d5dfd8;background:#fff;border-radius:8px;padding:10px 9px;outline:none;color:#1c332c;margin-top:5px;min-width:0}input:focus,select:focus{border-color:#3f9378;box-shadow:0 0 0 3px #45a27b20}
.row{display:flex;align-items:center;gap:12px;margin-top:14px}.primary,.subtle,.danger,.small{border-radius:8px;padding:10px 14px;font-size:12px;font-weight:750;border:1px solid transparent;white-space:nowrap}.primary{color:white;background:#1e7158}.primary:hover{background:#115b45}.subtle{color:#33674d;border-color:#d3e4d9;background:white}.subtle:hover{background:#eef6f0}.small{padding:8px 10px;font-size:11px}.topbar .subtle{color:#ecf5ed;background:#2c4d43;border-color:#48685b}.file-action{cursor:pointer}.hint{font-size:11px;color:#84938a;font-weight:400;line-height:1.55}
.list{display:flex;flex-direction:column;gap:8px}.entry{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fff;border:1px solid #e5ebe5;border-radius:9px;padding:11px 12px}.entry-main{min-width:0;flex:1}.entry-title{font-size:13px;font-weight:750;display:block}.entry-note{font-size:11px;color:#839187;display:block;margin-top:3px;overflow-wrap:anywhere}.entry-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.pill{padding:4px 7px;background:#f3f7ee;border-radius:6px;color:#4a715a;font-size:10px;font-weight:700}.pill.warning{background:#fff1df;color:#af7231}.pill.good{background:#e1f6e9;color:#167552}.icon-btn{border:1px solid #e5e9e6;background:#fff;border-radius:7px;padding:5px 8px;color:#7d8982}.icon-btn:hover{background:#fff0eb;color:#b34c3f}.editable-num{width:70px!important;padding:6px!important;font-size:12px}.item-row{display:flex;align-items:center;gap:8px}.item-row .item-name{flex:1}
.list.compact .entry{padding:9px 12px}
.checkbox-line{display:flex;align-items:center;gap:7px;margin:10px 0 12px;font-weight:500}.checkbox-line input{accent-color:#1e7158}.empty{padding:20px;border:1px dashed #ceded2;background:#f9fbf9;border-radius:9px;color:#7e8d83;text-align:center;font-size:12px}
.sources{background:#f3f8f5;padding:13px;border-radius:9px;margin-top:18px}.sources strong{font-size:12px}.sources div{display:flex;gap:13px;flex-wrap:wrap;margin:9px 0}.sources a{font-size:11px;font-weight:700}.sources p{font-size:11px;color:#80988a;margin:9px 0 0}
.plan-panel{position:sticky;top:14px}.filter{display:block;background:#f7faf7;border:1px solid #e1eae2;border-radius:9px;padding:10px;margin-bottom:15px}.filter select{margin-top:7px}
.result-highlight{border-radius:12px;background:#e9f4eb;padding:16px;margin-bottom:13px}.result-highlight .micro{font-size:11px;color:#598068;font-weight:750}.result-highlight .big{font-size:27px;font-weight:850;color:#235e43;letter-spacing:-.04em;margin:3px 0}.result-highlight .small-detail{font-size:11px;color:#557762}
.warning-box{border:1px solid #f2e1bd;background:#fff8eb;color:#866533;font-size:11px;padding:11px;border-radius:8px;line-height:1.5;margin-bottom:11px}
.plan-store{border:1px solid #e0e9e3;border-radius:9px;margin:10px 0;overflow:hidden}.plan-store h3{margin:0;padding:10px 12px;background:#f5f9f5;font-size:12px;border-bottom:1px solid #e5ece6}.plan-store ul{margin:0;padding:10px 13px 10px 26px}.plan-store li{font-size:12px;padding:3px 0}.plan-store li small{display:block;color:#849588;font-size:10px}
.cost-row{display:flex;justify-content:space-between;gap:8px;font-size:12px;padding:5px 0}.cost-row.total{font-weight:850;border-top:1px solid #e4eae4;margin-top:10px;padding-top:12px}
.scenarios{display:grid;gap:7px;margin:14px 0}.scenario{display:flex;gap:8px;justify-content:space-between;align-items:center;border:1px solid #e3e9e2;border-radius:9px;padding:9px 10px;font-size:11px}.scenario.best{border-color:#a6cfb5;background:#f1faf4}.scenario strong{font-size:12px}
.calc-info{font-size:11px;color:#77857b;line-height:1.6;border-top:1px solid #e6ece5;padding-top:13px;margin-top:17px}.calc-info strong{color:#557262}.calc-info p{margin:5px 0}
.full{width:100%;display:block;margin:8px 0}.text-danger{display:block;border:0;background:transparent;font-size:11px;color:#ba5e51;margin:16px 0 0;padding:0}
footer{margin:20px 0;color:#9aa9a0;font-size:11px}footer a{color:#678676}
@media(max-width:1140px){.item-fields{grid-template-columns:2fr 1fr}.offer-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.fields .wide{grid-column:span 2}}
@media(max-width:840px){.layout{grid-template-columns:1fr}.plan-panel{position:static}.stats{grid-template-columns:repeat(2,1fr)}.intro{flex-direction:column;align-items:start}.local-badge{min-width:0}.topbar{flex-wrap:wrap}}
@media(max-width:520px){.container{padding:14px 10px 26px}.panel{padding:14px}.stats{gap:8px}.stat{padding:12px;min-height:85px}.stat strong{font-size:22px}.item-fields,.offer-fields,.store-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.fields .wide{grid-column:span 2}.entry{flex-wrap:wrap}.row{align-items:start;flex-direction:column}.topbar nav{flex-wrap:wrap}.light-link{font-size:11px}}

/* Copertura della lista in un singolo negozio */
.coverage-explain{font-size:11px;color:#778a80;line-height:1.5;margin:0 0 12px}
.coverage-card{border:1px solid #e1e9e1;background:#fff;border-radius:11px;padding:12px;margin:10px 0}
.coverage-best{border-color:#86c1a0;background:#f5fcf7}
.coverage-head{display:flex;gap:8px;align-items:center;justify-content:space-between}
.coverage-head strong{font-size:13px;display:inline-block;margin-right:7px}
.coverage-head b{white-space:nowrap;font-size:15px}
.coverage-head .pill{font-size:9px}
.coverage-bar{height:7px;background:#e9efea;border-radius:100px;margin:11px 0;overflow:hidden}
.coverage-bar span{display:block;height:100%;background:linear-gradient(90deg,#2b916c,#8fc76b);border-radius:100px}
.coverage-metrics{font-size:11px;color:#63796b;display:grid;gap:5px}
.coverage-metrics strong{color:#244d3b}
.coverage-total{margin-top:11px;font-size:12px;color:#225c42;background:#e8f7ee;padding:8px;border-radius:6px}
.coverage-estimate{margin-top:11px;font-size:11px;line-height:1.5;color:#846d49;background:#fff7e9;padding:8px;border-radius:6px}
.coverage-missing{font-size:11px;color:#697d71;margin-top:10px}
.coverage-missing summary{cursor:pointer}
.coverage-missing p{line-height:1.55;color:#819389}
/* Catalogo volantini */
.catalogue-hero{display:flex;align-items:start;justify-content:space-between;gap:14px;margin:24px 0}
.catalogue-hero h1{font-size:clamp(25px,3vw,35px);letter-spacing:-.04em;margin:6px 0}
.catalogue-hero p{color:#7b8f82;font-size:13px;max-width:690px}
.catalogue-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start}
.catalogue-toolbar{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:9px;margin:12px 0 14px}
.catalogue-toolbar label{font-size:11px}
.catalogue-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:11px}
.deal{border:1px solid #e1e9e1;border-radius:12px;padding:14px;background:white;display:flex;flex-direction:column;min-height:185px}
.deal header{display:flex;justify-content:space-between;gap:8px;align-items:start}
.deal-category{font-size:10px;color:#5d9676;text-transform:uppercase;letter-spacing:.07em;font-weight:800}
.deal h3{font-size:14px;line-height:1.3;margin:7px 0;min-height:35px}
.deal-price{font-size:25px;letter-spacing:-.03em;font-weight:850;color:#236247}
.deal .metadata{font-size:11px;color:#869889;margin-top:3px;line-height:1.5}
.deal footer{margin-top:auto;padding-top:12px;display:flex;flex-wrap:wrap;gap:6px}
.deal button{font-size:11px}
.deal.pending{border-style:dashed;background:#fffcf5}
.catalogue-toolbar input,.catalogue-toolbar select{margin-top:5px}
.catalogue-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.catalogue-form .wide{grid-column:span 2}
.catalogue-form button{grid-column:span 2}
.catalogue-note{border:1px solid #e9e1c8;background:#fffbf0;color:#896b31;padding:12px;font-size:11px;line-height:1.6;border-radius:9px;margin-top:12px}
.catalogue-link{display:inline-block;text-decoration:none;background:#e9f4eb;color:#1c7151;border-radius:8px;font-size:12px;font-weight:750;padding:11px 13px}
@media(max-width:960px){.catalogue-layout{grid-template-columns:1fr}.catalogue-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.catalogue-toolbar,.catalogue-form{grid-template-columns:1fr}.catalogue-form .wide,.catalogue-form button{grid-column:span 1}.catalogue-hero{flex-direction:column}}

/* Browser-first search: barcode, geolocation and offer cards */
.barcode-actions{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;margin-top:13px}
.barcode-actions label{min-width:200px;max-width:280px;flex:1}
#cameraArea{max-width:520px;margin:14px 0;padding:12px;background:#f7faf8;border:1px solid #dbe7dd;border-radius:10px}
#barcode-reader{overflow:hidden;border-radius:8px}
#barcodeResult{display:grid;gap:8px;margin-top:13px;max-width:780px}
#barcodeResult:empty{display:none}
.barcode-result-head{display:flex;flex-wrap:wrap;gap:10px;align-items:center;background:#eef7f0;padding:12px;border-radius:9px}
.barcode-result-head span{font-size:12px;color:#536c5e}
#barcodeResult h3{font-size:13px;margin:10px 0 0}
.barcode-hit{border:1px solid #dae7dc;background:white;border-radius:9px;padding:10px;display:grid;gap:4px;font-size:12px}
.barcode-hit .pill{width:max-content}
.barcode-hit small{font-size:11px;color:#748679}
.near-panel{margin-bottom:17px}
.near-controls{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-end;margin-bottom:10px}
.near-controls label{font-size:11px;max-width:260px;min-width:100px}
.near-controls .checkbox-line{max-width:none;min-width:175px;flex:1}
.near-controls .road-switch{color:#1b7155}
.near-controls input[type=number]{max-width:115px}
.nearby-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px;margin-top:12px}
.nearby-card{border:1px solid #e0e9e2;background:#fafcfa;padding:11px;border-radius:9px;display:flex;flex-direction:column;gap:10px}
.nearby-card strong{font-size:12px;display:block}
.nearby-card small{font-size:11px;color:#75867c;display:block;margin-top:4px;line-height:1.4}
.nearby-action{display:flex;flex-direction:column;align-items:start;gap:7px}
.route-detail{font-size:11px;color:#466a55}
.deal footer select{width:auto;min-width:90px;max-width:100%;padding:7px 6px;margin:0;font-size:11px}
.deal footer{align-items:center}
@media(max-width:520px){.near-controls{flex-direction:column;align-items:stretch}.near-controls label{max-width:none}.barcode-actions{align-items:stretch;flex-direction:column}.barcode-actions label{max-width:none}}

.near-summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:13px;font-weight:800;color:#315f45}
.near-summary::-webkit-details-marker{display:none}
.near-summary span{font-size:11px;font-weight:500;color:#7e9284}
.near-summary:before{content:"▸";margin-right:6px;color:#2f9662}
details[open]>.near-summary:before{content:"▾"}
.near-inner{margin-top:17px;border-top:1px solid #e5ede5;padding-top:16px}
.near-panel{margin-bottom:17px}
