/* CasaSmart 2.0 layout: iPhone-first */
.cs-new {padding-bottom:5px}.cs-page-title{margin:6px 0 23px}.cs-page-title h1{font-size:clamp(30px,6vw,41px);line-height:1.12;margin:11px 0;color:#17352c}.cs-page-title p{font-size:13px;line-height:1.6;color:#758879;margin:0}.cs-panel{padding:18px;background:white;border:1px solid #e7ede6;border-radius:17px;margin:12px 0;box-shadow:0 3px 10px #244b3108}.cs-panel h3{display:flex;align-items:center;gap:8px;font-size:16px;color:#1d382d;margin:0 0 13px}.cs-panel h3 small{font-size:11px;color:#6b9c7e}.cs-note{font-size:12px;line-height:1.55;color:#718779;margin:10px 0}.cs-panel .primary-btn{margin-top:11px}.cs-mt{margin-top:16px}.cs-mt-small{margin-top:12px}.cs-photo{position:relative;border:1.5px dashed #b4d4c0;background:#f7fbf7;padding:24px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;color:#258265;font-size:14px}.cs-photo small{color:#879e8c;font-size:11px}.cs-photo input{position:absolute;inset:0;opacity:0;cursor:pointer}.cs-preview{width:100%;max-height:235px;object-fit:contain;border-radius:10px;margin-top:9px}.cs-chip-wrap{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.cs-chip{display:flex;align-items:center;gap:7px;border:0;border-radius:30px;background:#e7f4e7;color:#287355;padding:9px 11px;font-size:12px;font-weight:700}.cs-add-line{display:flex;gap:8px;align-items:stretch}.cs-add-line input{min-width:0}.cs-plus{background:#238464;color:white;border:0;border-radius:11px;width:48px;min-width:48px;display:grid;place-items:center}.cs-condiments{display:flex;flex-direction:column;gap:6px;margin-top:18px;border:1px solid #dbead6;background:#f2f9ee;border-radius:12px;padding:14px;font-size:12px;color:#4d6d56}.cs-condiments b{color:#2d714f}.cs-condiments span{line-height:1.65}.cs-condiments small{line-height:1.4;color:#819180}.cs-recipe-list{padding-top:14px}.cs-recipe-list h2{font-size:19px}.cs-recipe-card{display:flex;text-align:left;flex-direction:column;gap:7px;width:100%;border:1px solid #e5efe3;border-radius:14px;padding:17px;margin-bottom:10px;background:white}.cs-recipe-card b{font-size:15px;color:#194a37}.cs-recipe-card small{font-size:12px;line-height:1.5;color:#728777}.cs-recipe-card span{display:flex;align-items:center;gap:8px;font-size:11px;color:#268261;font-weight:800}.cs-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin:2px 0 19px}.cs-weekdays button{padding:10px 0;border:1px solid #e3ebe0;background:#fff;border-radius:11px;display:flex;flex-direction:column;gap:4px;align-items:center;color:#849587}.cs-weekdays button.current{background:#287f60;border-color:#287f60;color:white;box-shadow:0 4px 10px #287f6026}.cs-weekdays small{font-size:10px}.cs-weekdays b{font-size:13px}.cs-day-title{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:20px 0 11px}.cs-day-title h2{font-size:21px;margin:0}.cs-day-title span{font-size:11px;color:#849788}.cs-meal-card h3{display:flex;justify-content:space-between;border-bottom:1px solid #edf2eb;padding-bottom:11px}.cs-counter{font-size:12px;color:#569174;background:#ebf5ee;padding:4px 9px;border-radius:16px}.cs-food-meal{padding:12px 0;border-bottom:1px solid #eef2ed}.cs-food-meal-title,.cs-stock-title{display:flex;align-items:center;justify-content:space-between;gap:6px}.cs-food-meal-title b,.cs-stock-title b{font-size:13px;color:#203d32;min-width:0;overflow-wrap:anywhere}.cs-food-meal-actions,.cs-stock-actions,.cs-shopping-actions{display:flex;align-items:center;gap:7px;margin-top:10px}.cs-quantity{display:flex;align-items:stretch;gap:5px;min-width:0;flex:1}.cs-quantity input{padding:9px 7px;width:100%;min-width:0;max-width:115px;font-size:14px}.cs-quantity select{padding:8px 2px;width:93px;max-width:100%;background:#f6f9f6;border:1px solid #e5ede5;border-radius:9px;font-size:12px;color:#4e7059}.cs-delete{border:0;border-radius:10px;padding:10px;background:#fceeee;color:#c26862}.cs-meal-add{margin-top:14px}.cs-meal-add input{font-size:14px}.cs-meal-add-bottom{display:flex;gap:7px;margin-top:8px}.cs-meal-add-bottom>input{flex:1;min-width:0}.cs-meal-add-bottom select{flex:0 1 113px;border:1px solid #e3e9e3;background:#f6faf6;border-radius:11px;padding:6px;min-width:65px;color:#4e7059}.cs-status{display:inline-flex;align-items:center;gap:5px;font-size:10px;border-radius:22px;padding:7px 8px;white-space:nowrap;flex-shrink:0;font-weight:750}.cs-status.available{color:#24845f;background:#e7f7ec}.cs-status.low{color:#bc8336;background:#fff3df}.cs-status.out{color:#c4625a;background:#feefea}.cs-hint{display:flex;gap:12px;background:#edf6ed;color:#598260}.cs-hint p{margin:0;font-size:12px;line-height:1.55}.cs-hint svg{flex-shrink:0}.cs-stock-list{margin-top:10px}.cs-stock-card{margin:8px 0}.cs-stock-actions{flex-wrap:wrap}.cs-stock-pick{padding:10px 4px;flex:0 1 135px;border:1px solid #e6ece6;border-radius:10px;max-width:140px;background:#f8fbf7;font-size:11px}.cs-stock-pick.out{color:#b85d55}.cs-stock-pick.low{color:#a47c3d}.cs-stock-pick.available{color:#268261}.cs-answer{margin-top:13px;padding:16px;background:#eaf7ec;color:#286948;border-radius:12px;font-weight:700;font-size:13px;line-height:1.5}.cs-text-link{border:0;background:transparent;color:#298568;font-size:12px;text-decoration:underline;font-weight:750;padding:11px 4px}.cs-voice-small{min-width:40px;border-radius:10px;border:1px solid #dcebdd;background:#ecf6ed;color:#28795d;display:grid;place-items:center}.cs-shopping-card{margin:10px 0}.cs-bought{border:0;padding:11px 9px;display:flex;align-items:center;gap:5px;background:#e4f6e6;color:#287e59;border-radius:10px;font-size:11px;font-weight:800;white-space:nowrap}.cs-market-panel{margin-top:25px}.cs-market-item{border-top:1px solid #edf0ed;padding:15px 0}.cs-market-item>div:first-child{display:flex;flex-direction:column;gap:7px}.cs-market-item b{color:#254737;font-size:14px}.cs-market-item small{color:#75897b;font-size:11px;line-height:1.5}.cs-market-item strong{color:#1c7b55;font-size:13px}.cs-market-item span{font-size:11px;color:#ac854e}.cs-market-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.cs-market-actions>a,.cs-market-actions>button{border:1px solid #dce7dc;border-radius:8px;background:#f5faf5;color:#317c5e;text-decoration:none;padding:9px 10px;font-size:11px;font-weight:800}.cs-cheapest{background:#e7f6e7;border-radius:13px;padding:16px;display:flex;flex-direction:column;gap:6px;margin:13px 0}.cs-cheapest b{font-size:11px;color:#5d8264}.cs-cheapest strong{font-size:16px;color:#197b56}.cs-cheapest small{font-size:10px;color:#699476;line-height:1.4}.cs-price-list{display:flex;flex-direction:column;gap:15px}.cs-price-list label{display:block}.cs-price-list small{font-weight:400}.cs-price-entry{display:flex;align-items:center;gap:10px;margin-top:6px}.cs-price-entry span{white-space:nowrap;color:#719480;font-size:13px}.cs-price-entry input{max-width:160px}.cs-quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:21px 0}.cs-quick-grid button{border:0;border-radius:16px;padding:20px;text-align:left;display:flex;flex-direction:column;gap:12px;background:#e4f2db;color:#2e7a50}.cs-quick-grid button:nth-child(2){background:#e7ecfa;color:#5868a6}.cs-quick-grid b{font-size:14px}.cs-quick-grid span{font-size:11px}.cs-home-stats .mini-stat{min-width:0}.cs-legacy{background:#fff9ed;border-color:#e8ddc3}.cs-legacy p{font-size:12px;line-height:1.45;color:#887f69}.cs-legacy-add{display:block;width:100%;margin-top:8px;padding:10px;border:1px solid #e1cfa5;background:#fff;text-align:left;border-radius:8px;color:#796439}.cs-legacy select{padding:10px;border:1px solid #e1cfa5;border-radius:8px;max-width:100%;background:white}.cs-all-good{display:flex;align-items:center;gap:12px;color:#287d56;font-size:13px}.cs-five-nav{grid-template-columns:repeat(5,1fr)}
@media(max-width:420px){.cs-panel{padding:15px}.cs-status{font-size:9px;padding:6px}.cs-stock-pick{max-width:118px;font-size:10px}.cs-quantity select{max-width:83px}.cs-page-title h1{font-size:30px}.cs-weekdays{gap:3px}.cs-shopping-actions{flex-wrap:wrap}.cs-bought{margin-left:auto}}

/* CasaSmart 3.0 — pasti compatti, immagini, categorie, dettatura */
.cs-compact-meal { padding: 17px 18px !important; margin-bottom: 12px; }
.cs-meal-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.cs-meal-head h3 { margin: 0 !important; border-bottom: 0 !important; padding-bottom: 0 !important; justify-content: flex-start !important; font-size: 18px; display: flex; align-items: center; gap: 9px; }
.cs-meal-expand { display: inline-flex; align-items: center; gap: 5px; border: 1px solid #dbe5db; border-radius: 12px; background: #f4f8f3; color: #26584b; padding: 8px 9px; font-size: 12px; font-weight: 650; cursor: pointer; flex-shrink: 0; }
.cs-meal-expand svg { transition: transform .2s; }
.cs-meal-expand.open svg { transform: rotate(180deg); }
.cs-meal-names { display: flex; flex-wrap: wrap; align-items: center; column-gap: 7px; row-gap: 9px; font-size: 15px; line-height: 1.7; color: #244337; margin-top: 9px; overflow-wrap: anywhere; }
.cs-meal-inline-food { display: inline-flex; align-items: center; gap: 5px; font-size: 14px; }
.cs-meal-inline-food .cs-food-photo { width: 25px; height: 25px; border-radius: 6px; }
.cs-empty-meal { color: #869188; font-size: 13px; }
.cs-open-add { margin-top: 7px; display: inline-flex; align-items: center; gap: 4px; }
.cs-meal-details { border-top: 1px solid #e2ebe2; margin-top: 13px; padding-top: 13px; }
.cs-meal-details .cs-food-meal { padding: 12px 0; }
.cs-food-meal-title { display: flex; align-items: center; gap: 10px; min-width: 0; }
.cs-food-meal-info { display: flex; flex-direction: column; align-items: flex-start; gap: 5px; min-width: 0; }
.cs-food-meal-info b { line-height: 1.3; }
.cs-meal-voice { margin: 14px 0 12px; display: flex; align-items: flex-start; flex-direction: column; gap: 7px; }
.cs-meal-voice .secondary-btn { display: inline-flex; gap: 7px; align-items: center; }
.cs-meal-voice small { color: #62786d; line-height: 1.4; }
.cs-food-photo { width: 52px; height: 52px; display: inline-flex; flex-shrink: 0; border-radius: 12px; overflow: hidden; background: #eef4ed; border: 1px solid #e2ebe0; vertical-align: middle; }
.cs-food-photo.small { width: 28px; height: 28px; border-radius: 7px; }
.cs-food-photo a { display: block; width: 100%; height: 100%; }
.cs-food-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cs-photo-placeholder { width: 100%; height: 100%; color: #849b8c; display: flex; align-items: center; justify-content: center; }
.cs-chip .cs-food-photo { margin: -4px 5px -4px -8px; }
.cs-stock-title { display: flex; gap: 9px; align-items: center; }
.cs-stock-title > b { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.cs-stock-title > span.cs-status, .cs-stock-title > span:last-child:not(.cs-food-photo) { margin-left: auto; }
.cs-shop-group { margin: 12px 0 20px; }
.cs-shop-group-title { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: 17px; margin: 15px 2px 12px; color: #183b32; }
.cs-shop-group-title small { color: #5a836e; border-radius: 20px; background: #e5f3e6; min-width: 25px; text-align: center; padding: 3px 8px; }
.cs-shop-group .cs-shopping-card { margin-bottom: 9px; }
.cs-external-recipes { margin-top: 18px; }
.cs-external-recipes h3 { font-size: 17px; margin-bottom: 6px; }
.cs-external-recipes p, .cs-external-recipes small { color: #617368; line-height: 1.5; }
.cs-external-links { display: flex; gap: 9px; flex-wrap: wrap; margin: 14px 0; }
.cs-recipe-external { display: inline-flex; align-items: center; border: 1px solid #bfd6c1; border-radius: 10px; padding: 11px 13px; color: #18644c; background: #f0f7ed; font-size: 13px; font-weight: 700; text-decoration: none; }
.cs-recipe-external:focus-visible,.cs-meal-expand:focus-visible { outline: 2px solid #2c8b6a; outline-offset: 2px; }
@media (max-width:430px) {
 .cs-compact-meal { padding: 14px 13px !important; }
 .cs-meal-expand { padding: 7px; }
 .cs-food-photo { width: 44px; height: 44px; }
 .cs-food-photo.small { width: 27px; height: 27px; }
 .cs-stock-title { flex-wrap: wrap; }
 .cs-stock-title > span.cs-status { margin-left: auto; }
}

/* CasaSmart 4.0 — schede compatte, quantità su una riga e indicatori a punti */
.cs-food-lines{display:flex;flex-direction:column;gap:6px;margin-top:12px}
.cs-food-line{display:flex;align-items:center;gap:9px;min-width:0;min-height:44px;width:100%}
.cs-food-line .cs-food-photo{width:34px;height:34px;min-width:34px;flex-shrink:0;border-radius:10px;overflow:hidden}
.cs-food-line .cs-food-photo img{width:100%;height:100%;object-fit:cover}
.cs-food-name{font-size:13px;font-weight:750;color:#203b30;flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cs-line-qty{font-size:13px;line-height:1.2;color:#607268;white-space:nowrap;flex:0 0 auto;margin-left:auto;font-variant-numeric:tabular-nums}
.cs-dot{display:inline-block!important;width:13px!important;height:13px!important;min-width:13px;flex:0 0 13px;border-radius:50%;box-shadow:0 0 0 3px rgba(255,255,255,.75);vertical-align:middle}
.cs-dot-out{background:#ed6864}.cs-dot-low{background:#f3aa40}.cs-dot-available{background:#37b27c}
.cs-line-details{border-top:1px solid #edf1e9;margin-top:9px;padding-top:2px}
.cs-line-details summary{cursor:pointer;list-style:none;display:block;font-size:11px;font-weight:750;padding:8px 0;color:#417f67;user-select:none}
.cs-line-details summary::after{content:'⌄';display:inline-block;margin-left:7px;color:#719982}
.cs-line-details[open] summary::after{transform:rotate(180deg)}
.cs-line-details summary::-webkit-details-marker{display:none}
.cs-line-details .cs-stock-actions,.cs-line-details .cs-shopping-actions{margin:5px 0 10px;flex-wrap:wrap}
.cs-slim-stock.cs-panel{padding:10px 12px;margin:8px 0;box-shadow:none}
.cs-circle-check{width:31px;min-width:31px;height:31px;border:0;background:transparent;padding:4px;display:flex;align-items:center;justify-content:center;cursor:pointer;margin-left:4px}
.cs-circle-check span{width:23px;height:23px;border:2px solid #a4b5a8;border-radius:50%;background:white;display:block;transition:all .15s}
.cs-circle-check:active span{background:#ccebdc;transform:scale(.89);border-color:#27915e}
.cs-circle-check:focus-visible{outline:2px solid #237f5d;border-radius:50%}
.cs-compact-meal .cs-food-line{border-top:1px solid #f0f2ed;padding:5px 0}
.cs-compact-meal .cs-food-line:first-child{border-top:0}
.cs-meal-details .cs-food-meal{padding:11px 0}
.cs-meal-details .cs-status{background:none;border:0;padding:0}
.cs-recipe-source{font-weight:700;color:#6a856e!important;font-size:10px!important;margin-top:3px}
.cs-rec-missing{color:#a78455!important}.cs-rec-match{color:#258f69!important}
.cs-source-credit{display:flex;flex-direction:column;gap:7px;border-top:1px solid #e6efe7;padding:15px 0;margin-top:15px}
.cs-source-credit small{font-size:11px;line-height:1.4;color:#748a7a}.cs-source-credit a{font-size:13px;color:#1d8964;font-weight:750}
.cs-curated-list h2{margin:8px 0 4px}.cs-curated-list .cs-recipe-card{gap:5px}
.cs-city-form{display:flex;gap:7px;align-items:stretch;margin-top:12px}.cs-city-form input{min-width:0;flex:1 1 auto;font-size:12px}.cs-city-form .secondary-btn{flex:0 0 auto}
.cs-map-backup{display:flex;gap:9px;flex-wrap:wrap;margin:13px 0}
.cs-map-backup a{font-size:12px;border:1px solid #e0ede1;border-radius:9px;padding:8px;text-decoration:none;color:#277d5e}
.cs-price-explain{margin:16px 0;padding:12px;background:#f3f8ed;border:1px solid #dfe9d8;border-radius:12px}
.cs-price-explain b{font-size:13px;color:#356b4c}.cs-price-explain p{font-size:12px;color:#728477;line-height:1.5;margin:8px 0}
.cs-price-explain small{display:block;font-size:11px;color:#7c897e;line-height:1.5;margin-top:8px}
.cs-price-explain a{font-size:12px;color:#268463;text-decoration:underline}
@media(max-width:400px){.cs-food-line{gap:6px}.cs-food-line .cs-food-photo{min-width:28px;width:28px;height:28px}.cs-food-name,.cs-line-qty{font-size:12px}.cs-circle-check{margin-left:0;width:27px;min-width:27px}.cs-circle-check span{width:22px;height:22px}.cs-dot{width:11px!important;height:11px!important;min-width:11px;flex-basis:11px}}

.cs-status-legend{display:flex;align-items:center;flex-wrap:wrap;gap:7px;font-size:10px;color:#657c6d;margin:10px 0 14px}.cs-status-legend .cs-dot{margin-left:6px}.cs-status-legend .cs-dot:first-child{margin-left:0}
/* CasaSmart 4.2: istruzioni per suggerimenti dipendenti dagli ingredienti */
.cs-recipe-hint{background:#edf6ee;border:1px solid #d5e6d8;border-radius:13px;color:#32694e;padding:13px 15px;font-size:13px;line-height:1.5;margin:14px 0}
/* CasaSmart 4.3 – confronto prezzi basato esclusivamente su dati inseriti dagli utenti. */
.cs-inline-price { flex: 0 0 auto; min-width: 56px; max-width: 83px; font-variant-numeric: tabular-nums; text-align: right; font-size: 12px; font-weight: 800; color: #166047; white-space: nowrap; }
.cs-basket-total { margin: 20px 0; display: flex; flex-direction: column; gap: 8px; padding: 22px; background: #e8f3e8; border-color: #c5dec9; }
.cs-basket-total b { color: #2b5548; font-size: 13px; }
.cs-basket-total strong { font-size: 30px; letter-spacing: -.04em; color: #133c2f; }
.cs-basket-total span { font-size: 14px; color: #244e40; }
.cs-basket-total small { font-size: 11px; line-height: 1.5; color: #58786c; }
.cs-no-best { background: #fff6e9; border-radius: 14px; padding: 12px; font-size: 13px; line-height: 1.55; color: #765522; }
.cs-store-choice { display: flex; flex-direction: column; gap: 8px; margin: 12px 0; font-weight: 750; font-size: 13px; color: #214938; }
.cs-store-choice select { width: 100%; min-height: 42px; padding: 8px 11px; border: 1px solid #d7e3da; border-radius: 12px; background: #fff; color: #194136; }
.cs-price-import { display: flex; gap: 8px; flex-wrap: wrap; padding: 14px 0; border-top: 1px solid #dce6df; }
.cs-price-import p { width: 100%; margin: 0; }
.cs-price-import button { font-size: 12px; }
.cs-cheapest button { margin-top: 12px; }
@media (max-width: 450px) {
 .cs-shopping-card .cs-food-line { gap: 5px; }
 .cs-shopping-card .cs-food-name { flex: 1 1 75px; min-width: 54px; overflow-wrap: anywhere; font-size: 12px; }
 .cs-shopping-card .cs-line-qty { font-size: 11px; white-space: nowrap; }
 .cs-shopping-card .cs-inline-price { min-width: 44px; font-size: 11px; }
 .cs-shopping-card .cs-dot { flex-shrink: 0; }
 .cs-shopping-card .cs-circle-check { flex-shrink: 0; }
}

/* CasaSmart 4.4 — stabilizzazione del layout mobile e budget con prezzi medi. */
html,body,#root,.app-shell{max-width:100%;overflow-x:clip}
.app-shell{width:100%;min-width:0}
.app-shell main{min-width:0}
.cs-new{min-width:0}
.cs-panel{min-width:0;max-width:100%}
.cs-panel,.cs-meal-head,.cs-food-line,.cs-meal-add-bottom,.cs-add-line,.cs-stock-actions,.cs-shopping-actions{min-width:0}
.cs-budget-info{background:#f3f8f2;border-color:#d4e5d7}
.cs-budget-info h3{margin-bottom:8px}
.cs-budget-info p{font-size:12px;line-height:1.6;color:#537064;margin:10px 0 0}
.cs-budget-heading{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}
.cs-budget-heading h3{flex:1;min-width:150px}
.cs-budget-badge{font-size:9px;letter-spacing:.055em;line-height:1.3;white-space:nowrap;font-weight:850;color:#236b54;background:#dcece0;padding:6px 8px;border-radius:7px}
.cs-budget-legend{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:11px;color:#5b7364;margin:16px 0}
.cs-budget-legend>span{display:inline-flex;align-items:center;gap:7px}
.cs-circle-legend{border:2px solid #95aaa0;background:white;border-radius:50%;width:17px;height:17px}
.cs-price-row{display:grid!important;grid-template-columns:32px minmax(0,1fr) max-content minmax(54px,max-content) 12px 30px;column-gap:7px;align-items:center;width:100%;}
.cs-price-row .cs-food-photo{width:32px;height:32px;min-width:0}
.cs-price-row .cs-food-name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;width:100%;min-width:0;font-size:12px}
.cs-price-row .cs-line-qty{font-size:11px;white-space:nowrap;margin:0;min-width:0}
.cs-price-row .cs-inline-price{font-size:12px;color:#206f4d;white-space:nowrap;text-align:right;min-width:0;max-width:none}
.cs-price-row .cs-average-generic{color:#927034}
.cs-price-row .cs-dot{margin:0;flex-shrink:0}
.cs-price-row .cs-circle-check{width:29px;min-width:29px;height:34px;padding:3px;margin:0}
.cs-price-row .cs-circle-check span{width:23px;height:23px}
.cs-shopping-card .cs-line-details summary{font-size:11px}
.cs-price-edit-row{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding-bottom:8px}
.cs-price-edit-row>div{display:flex;flex-direction:column;gap:4px}
.cs-price-edit-row b{font-size:12px;color:#215e48}
.cs-price-edit-row small{font-size:10px;color:#77897a;line-height:1.3}
.cs-edit-price-btn{border:1px solid #d7e5d9;border-radius:9px;background:#f3faf3;padding:9px 11px;color:#287456;font-size:11px;font-weight:750}
.cs-avg-total{margin-bottom:16px}
.cs-avg-total .cs-budget-missing{font-size:12px;line-height:1.45;margin:5px 0;color:#77551c}
.cs-market-simple{margin-top:12px}
.cs-market-simple .cs-map-backup a{border-color:#d7e6d9;background:#f3f9f3;color:#226647;font-weight:700}
.bottom-nav.cs-five-nav{grid-template-columns:repeat(5,minmax(0,1fr));padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
.bottom-nav.cs-five-nav button{min-width:0;overflow:hidden}
.bottom-nav.cs-five-nav button>span:last-child{font-size:10px;white-space:nowrap}
.cs-food-line:not(.cs-price-row)>*{min-width:0}
.cs-food-line:not(.cs-price-row) .cs-food-name{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cs-food-line:not(.cs-price-row) .cs-line-qty{margin-left:auto}
@media(max-width:480px){
 .page{padding-left:14px;padding-right:14px}
 .topbar{padding-left:14px;padding-right:14px}
 .brand{font-size:22px;letter-spacing:-1.2px}
 .cs-page-title h1{font-size:30px}
 .cs-panel{padding:15px}
 .cs-price-row{grid-template-columns:28px minmax(0,1fr) max-content minmax(50px,max-content) 11px 27px;column-gap:5px}
 .cs-price-row .cs-food-photo{width:28px;height:28px}
 .cs-price-row .cs-food-name{font-size:11px}
 .cs-price-row .cs-line-qty{font-size:10px}
 .cs-price-row .cs-inline-price{font-size:11px}
}
@media(max-width:360px){
 .page{padding-left:10px;padding-right:10px}
 .cs-panel{padding:12px}
 .cs-price-row{grid-template-columns:24px minmax(0,1fr) max-content minmax(45px,max-content) 10px 25px;column-gap:4px}
 .cs-price-row .cs-food-photo{width:24px;height:24px}
 .cs-price-row .cs-food-name,.cs-price-row .cs-inline-price{font-size:10px}
 .cs-price-row .cs-line-qty{font-size:10px}
 .cs-price-row .cs-dot{width:10px!important;min-width:10px}
 .cs-price-row .cs-circle-check{min-width:25px;width:25px}
 .cs-price-row .cs-circle-check span{width:21px;height:21px}
 .bottom-nav.cs-five-nav button>span:last-child{font-size:9px}
}

/* CasaSmart AI 4.5 — prezzi collaborativi, iPhone-first. */
.cs-community-panel h3{line-height:1.35;margin-bottom:9px}
.cs-community-buttons{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0}
.cs-community-buttons .secondary-btn{padding:9px 11px;font-size:11px;flex:1 1 118px;min-height:42px}
.cs-community-results{display:flex;flex-direction:column;gap:10px;margin-top:15px}
.cs-community-store{background:#fff;border:1px solid #e4ece3;border-radius:13px;padding:13px;display:flex;flex-direction:column;gap:6px;min-width:0}
.cs-community-store.cs-complete{border-color:#9dcfb0;background:#f5fbf4}
.cs-community-store-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.cs-community-store-top b{font-size:13px;color:#214634;overflow-wrap:anywhere}
.cs-community-store-top strong{font-size:12px;color:#1c684f;white-space:normal;text-align:right;max-width:130px}
.cs-community-store small{font-size:11px;line-height:1.45;color:#6a816e}
.cs-community-maps{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}
.cs-community-maps a{font-size:11px;color:#267353;background:#e5f5e9;border-radius:8px;padding:8px;text-decoration:none;font-weight:700}
.cs-consent{display:flex!important;align-items:flex-start;gap:10px;background:#f2f7ef;border:1px solid #d6e9d9;padding:11px;border-radius:11px;margin:13px 0;font-size:12px;line-height:1.5}
.cs-consent input{flex:0 0 18px!important;width:18px!important;height:18px!important;min-height:18px!important;margin:3px 0 0!important}
.modal .cs-note{max-width:100%}
.modal label{max-width:100%;overflow-wrap:anywhere}
.modal input{max-width:100%;min-width:0}
.cs-budget-legend{display:flex;flex-wrap:wrap;gap:8px}
@media(max-width:410px){.cs-community-store-top{flex-wrap:wrap}.cs-community-store-top strong{margin-left:auto}.cs-community-buttons .secondary-btn{flex:1 1 100%}}
