
:root{--bg:#f6f3ef;--surface:#fff;--text:#2f2925;--muted:#756d67;--line:#e5dbd2;--primary:#765541;--primary-dark:#5f4333;--success:#2f9a61;--danger:#ad3e37;--cake:#d9bfdf;--shadow:0 12px 34px rgba(58,42,32,.10)}
*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}.topbar{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:12px 18px}.brand{display:flex;align-items:center;gap:10px}.brand img{width:42px;height:42px;object-fit:contain}.brand strong{display:block}.brand small{color:var(--muted);letter-spacing:.14em}.version-badge{font-size:.72rem;font-weight:800;color:var(--muted);padding:6px 9px;border-radius:999px;background:#f1ece8}.app-shell{max-width:1380px;margin:auto;padding:24px 24px 140px}.section-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:18px}.section-head h1{margin:0;font-size:2rem}.section-head p{margin:4px 0 0;color:var(--muted)}
.calendar-card,.panel,.quick-card,.order-card,.client-card,.list-card,.settings-card,.auth-card,.print-panel{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.calendar-card,.panel,.settings-card,.auth-card,.print-panel{padding:18px}.calendar-toolbar{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;text-align:center;margin-bottom:12px}.week-strip{display:grid;grid-template-columns:repeat(7,minmax(90px,1fr));gap:8px;overflow-x:auto;margin-bottom:14px;padding:5px}.day-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px;text-align:center;display:grid;gap:3px}.day-card.selected{transform:scale(1.07);background:var(--primary);color:#fff;z-index:2}.day-card small{font-size:.72rem}.order-list,.card-list,.stack,.settings-shell,.lists-grid{display:grid;gap:12px}.order-card{padding:16px 18px;display:grid;grid-template-columns:80px minmax(0,1fr) auto;gap:16px;align-items:center;border-left:7px solid var(--cake)}.order-card h3{margin:0}.order-card p{margin:4px 0;color:var(--muted)}.time{font-weight:900;font-size:1.1rem}.status{padding:6px 9px;border-radius:999px;background:#eee;font-weight:800;font-size:.76rem}.status-edit-card{grid-template-columns:minmax(0,1fr) 205px}.order-main{display:grid;grid-template-columns:105px minmax(0,1fr);gap:18px;align-items:center}.status-form{width:205px;margin:0}.status-form select{width:100%;min-height:50px;font-weight:800}.quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}.quick-card{min-height:90px;padding:14px;display:flex;flex-direction:column;justify-content:flex-end}.quick-card small{color:var(--muted)}.admin-card{border-style:dashed}
.primary,.secondary,.danger{border:0;border-radius:12px;min-height:46px;padding:0 15px;font-weight:800;display:inline-flex;align-items:center;justify-content:center}.primary{background:var(--primary);color:#fff}.primary.success{background:var(--success)}.secondary{background:#eee7e1}.danger{background:var(--danger);color:#fff}.small{min-height:34px;padding:0 10px}.icon-btn{min-width:46px;min-height:46px;border:0;background:transparent;display:inline-flex;align-items:center;justify-content:center}
input,select,textarea{width:100%;border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px;min-height:46px}.searchbar{margin-bottom:14px}.searchbar input{min-height:58px;font-size:1.05rem}.form-grid{display:grid;gap:10px}.form-grid.two{grid-template-columns:repeat(2,1fr)}.stack label{font-size:.84rem;color:var(--muted)}.stack input,.stack select{margin-top:5px}.segmented{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.segmented label{border:1px solid var(--line);padding:12px;border-radius:12px;text-align:center;font-weight:800;color:var(--text)}.segmented input{width:auto;min-height:auto}.subpanel{padding:12px;background:#faf7f4;border-radius:14px}.check{display:flex!important;align-items:center;gap:8px;color:var(--text)!important}.check input{width:auto;min-height:auto;margin:0}.checkbox-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.item-row{display:grid;grid-template-columns:2fr .75fr .7fr 1.25fr;gap:6px;margin-bottom:7px}.package-total{text-align:right;font-weight:900}.actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;position:sticky;bottom:72px;background:#fff;padding:12px 0}.camera-button{display:inline-flex!important;background:#eee7e1;color:var(--text)!important;border-radius:12px;padding:13px 18px;font-weight:900}.camera-button input{display:none}.order-photo{max-width:220px;border-radius:14px}.client-card,.list-card{padding:15px}.client-card h3{margin:0}.client-card p{margin:4px 0;color:var(--muted)}
.list-help{color:var(--muted);font-size:.82rem;margin-bottom:12px}.list-edit-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;border-bottom:1px solid var(--line);padding:12px 0}.list-edit-row.inactive{opacity:.5}.list-main-form{display:grid;grid-template-columns:minmax(180px,2fr) 110px 150px minmax(180px,1fr) auto;gap:10px;align-items:end}.list-main-form label,.list-add label{font-size:.78rem;color:var(--muted)}.list-add{display:grid;grid-template-columns:minmax(180px,2fr) 110px minmax(180px,1fr) auto;gap:10px;align-items:end;background:#faf7f4;padding:12px;border-radius:14px;margin-top:10px}
.settings-title{display:flex;align-items:center;gap:12px;margin-bottom:18px}.settings-title>span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:#fff;font-weight:900}.settings-title h2{margin:0}.settings-title p{margin:2px 0 0;color:var(--muted)}.full{grid-column:1/-1}.dashboard-config-grid{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:10px}.dashboard-option{position:relative;border:1px solid var(--line);border-radius:16px;padding:14px;display:grid;gap:4px}.dashboard-option input{position:absolute;top:10px;right:10px;width:auto;min-height:auto}.dashboard-option small{color:var(--muted)}.dashboard-option:has(input:checked){border-color:var(--primary);background:#faf5f1}.print-config-layout{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(340px,1.2fr);gap:22px}.print-toggles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.print-preview{background:#fff;border:1px solid #bbb;box-shadow:0 10px 30px rgba(0,0,0,.08);padding:18px;min-height:470px;position:relative}.preview-head{font-size:1.35rem;font-weight:900;border-bottom:2px solid;padding-bottom:10px}.print-modules{display:grid;gap:8px;margin-top:12px}.print-module{border:1px dashed #a99a90;border-radius:10px;padding:10px;display:flex;align-items:center;gap:8px;background:#faf9f7;cursor:grab}.module-move{margin-left:auto}.module-move button{border:0;border-radius:6px;min-width:30px;min-height:30px}.preview-footer{position:absolute;left:18px;right:18px;bottom:14px;display:flex;justify-content:space-between;font-size:.68rem}.settings-savebar{position:sticky;bottom:76px;background:rgba(246,243,239,.94);padding:12px;border-radius:18px;z-index:10}.settings-savebar button{width:100%}.danger-zone{border-color:#e4bab6;background:#fff9f8}
.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:30;background:#fff;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(5,1fr);padding-bottom:max(6px,env(safe-area-inset-bottom))}.bottom-nav a{min-height:64px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--muted);font-size:1.2rem}.bottom-nav span{font-size:.7rem}.bottom-nav .new-order{background:var(--primary);color:#fff;border-radius:18px 18px 0 0;margin-top:-12px}.auth-body{min-height:100vh;display:grid;place-items:center;padding:18px}.auth-card{width:min(620px,100%)}.alert{padding:12px;border-radius:12px}.alert.error{background:#f7d9d7;color:#7b2420}.alert.success{background:#dcefe3;color:#205f3d}.alert.notice{background:#f1ece8}.remember-device{display:grid!important;grid-template-columns:auto 1fr;gap:10px;padding:13px;border:1px solid var(--line);border-radius:14px}.remember-device input{width:auto;min-height:auto}.remember-device span{display:grid}.remember-device small{color:var(--muted)}
.modal[hidden],.print-panel[hidden]{display:none!important}.modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(35,28,24,.55);backdrop-filter:blur(5px)}.modal-card{width:min(430px,92vw);padding:25px;border-radius:22px;background:#fff;text-align:center}.modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.toast{position:fixed;top:18px;left:50%;transform:translateX(-50%) translateY(-10px);z-index:100000;min-width:min(480px,88vw);padding:16px 22px;border-radius:16px;background:var(--success);color:#fff;font-weight:900;text-align:center;opacity:0;transition:.2s}.toast.error{background:var(--danger)}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.print-panel-head{display:flex;justify-content:space-between}.print-quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:15px 0}.print-quick{border:1px solid var(--line);border-radius:14px;padding:13px;display:grid;background:#faf7f4}.print-quick span{color:var(--muted)}.print-range-form{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end}.empty{padding:20px;text-align:center;color:var(--muted)}
@media(min-width:760px){.bottom-nav{max-width:900px;margin:auto;border:1px solid var(--line);border-radius:18px 18px 0 0}.actions{bottom:0}}
@media(max-width:950px){.list-main-form{grid-template-columns:1fr 100px}.list-main-form>.check,.list-main-form>button{grid-column:1/-1}.list-edit-row{grid-template-columns:1fr}.list-add{grid-template-columns:1fr 100px}.list-add>.check,.list-add>button{grid-column:1/-1}.dashboard-config-grid{grid-template-columns:repeat(2,1fr)}.print-config-layout{grid-template-columns:1fr}}
@media(max-width:699px){.app-shell{padding:16px 16px 138px}.section-head{align-items:flex-start}.section-head h1{font-size:1.72rem}.order-card,.status-edit-card{grid-template-columns:1fr}.order-main{grid-template-columns:84px minmax(0,1fr)}.status-form{width:100%}.quick-grid,.dashboard-config-grid,.print-quick-grid{grid-template-columns:1fr}.form-grid.two,.checkbox-grid,.print-toggles,.print-range-form{grid-template-columns:1fr}.item-row{grid-template-columns:1.5fr .7fr .7fr}.item-row input:last-child{grid-column:1/-1}}


/* V2.0.1 */
.smart-client-search{position:relative;z-index:40}
.client-suggestions{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:200;background:#fff;color:var(--text);border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 45px rgba(58,42,32,.18);overflow:hidden;max-height:320px;overflow-y:auto}
.client-suggestions[hidden]{display:none!important}
.client-suggestion{width:100%;border:0;border-bottom:1px solid var(--line);background:#fff;color:var(--text);min-height:58px;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left}
.client-suggestion:hover,.client-suggestion:focus{background:#f5eee8}
.client-suggestion strong{color:var(--text)}
.client-suggestion span{color:var(--muted);white-space:nowrap}
#clientLookup.matched{border-color:var(--success);box-shadow:0 0 0 3px rgba(47,154,97,.12)}
.recipient-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
#recipientAge{background:#f4f0ec;font-weight:900;color:var(--primary)}
.cake-field{display:grid;gap:8px}
.cake-field h3{margin-bottom:0}
.cake-meta{align-items:end}
.quick-card.accent{border-color:var(--primary);background:#faf5f1}
.actions{bottom:calc(76px + env(safe-area-inset-bottom))!important;z-index:25;border-top:1px solid var(--line);box-shadow:0 -10px 24px rgba(58,42,32,.06)}
.panel{padding-bottom:105px}
.bottom-nav{z-index:80}
@media(max-width:900px){.recipient-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:699px){.recipient-grid{grid-template-columns:1fr}.client-suggestion{align-items:flex-start;flex-direction:column;gap:2px}.client-suggestion span{white-space:normal}.actions{position:sticky;bottom:calc(72px + env(safe-area-inset-bottom))!important;padding:12px 0 14px}.panel{padding-bottom:130px}}


/* V2.0.2 */
.location-picker-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;margin-bottom:10px}
.new-location-inline{white-space:nowrap}
.item-head{display:grid;grid-template-columns:2fr .75fr .7fr 1.25fr;gap:6px;padding:0 6px 6px;color:var(--muted);font-size:.72rem}
.quantity-with-unit{position:relative}
.quantity-with-unit input[type="number"]{padding-right:48px}
.quantity-with-unit .unit-label{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-weight:900;color:var(--primary);pointer-events:none}
.quantity-with-unit input[type="hidden"]{display:none}
.pickup-grid{margin-bottom:8px}
.client-card.inactive{opacity:.55}
.client-card form{margin-left:auto}
#recipientSection[hidden]{display:none!important}
@media(max-width:699px){
  .location-picker-row{grid-template-columns:1fr}
  .item-head{display:none}
}


/* V2.0.3 — Dashboard uniforme e riparazione strutturale */
.quick-grid{
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;
}
.quick-card,
.quick-card.accent,
.quick-card.admin-card{
  background:#fff!important;
  border:1px solid var(--line)!important;
  border-style:solid!important;
  color:var(--text)!important;
  box-shadow:var(--shadow)!important;
  min-height:116px;
  padding:18px 20px;
  border-radius:20px;
}
.quick-card:hover{
  border-color:var(--primary)!important;
  transform:translateY(-2px);
}
.quick-card strong{
  font-size:1.05rem;
}
.quick-card small{
  color:var(--muted)!important;
}


/* V2.0.4 — Anagrafica Location */
.location-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:14px;
}
.location-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:20px;
  box-shadow:var(--shadow);
  padding:16px;
  display:grid;
  gap:12px;
}
.location-card.inactive{opacity:.55}
.location-card-main{display:grid;gap:7px}
.location-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.location-card-head h3{margin:0;font-size:1.15rem}
.location-card-head span{color:var(--muted);font-size:.8rem}
.location-card-head>strong{font-size:.76rem;background:#f2ede9;padding:6px 8px;border-radius:999px;white-space:nowrap}
.location-card p{margin:0;color:var(--muted)}
.location-meta{display:flex;justify-content:space-between;gap:10px;font-size:.76rem;color:var(--muted);border-top:1px solid var(--line);padding-top:10px}
.location-actions{display:flex;gap:8px;flex-wrap:wrap}
.location-actions form{margin-left:auto}
@media(max-width:699px){
  .location-grid{grid-template-columns:1fr}
  .location-card-head{flex-direction:column}
  .location-actions form{margin-left:0;width:100%}
  .location-actions form button{width:100%}
}

/* V2.0.5 — navigazione essenziale sempre disponibile */
.bottom-nav.bottom-nav-six{grid-template-columns:repeat(6,1fr)}
@media(max-width:699px){
  .bottom-nav.bottom-nav-six a{font-size:1rem;min-width:0}
  .bottom-nav.bottom-nav-six span{font-size:.61rem;white-space:nowrap}
}


/* V2.0.6 — Stampa rapida dall'archivio ordini */
.status-edit-card{
  grid-template-columns:minmax(0,1fr) auto!important;
}
.order-row-actions{
  display:grid;
  grid-template-columns:auto 205px;
  gap:10px;
  align-items:center;
}
.quick-print-order{
  min-height:50px;
  white-space:nowrap;
  padding-inline:16px;
}
.order-row-actions .status-form{
  width:205px;
}
@media(max-width:760px){
  .status-edit-card{
    grid-template-columns:1fr!important;
  }
  .order-row-actions{
    grid-template-columns:1fr;
    width:100%;
  }
  .quick-print-order,
  .order-row-actions .status-form{
    width:100%;
  }
}


/* V2.0.8 — Stampa rapida e stato direttamente dalla Dashboard */
.dashboard-order-card{
  grid-template-columns:minmax(0,1fr) auto!important;
}
.dashboard-order-main{
  min-width:0;
  display:grid;
  grid-template-columns:110px minmax(0,1fr);
  gap:18px;
  align-items:center;
}
.dashboard-order-actions{
  display:grid;
  grid-template-columns:auto 205px;
  gap:10px;
  align-items:center;
}
.dashboard-order-actions .quick-print-order{
  min-height:50px;
  white-space:nowrap;
  padding-inline:16px;
}
.dashboard-order-actions .status-form{
  width:205px;
}
.dashboard-order-actions .status-form select{
  width:100%;
  min-height:50px;
  font-weight:800;
}
@media(max-width:760px){
  .dashboard-order-card{
    grid-template-columns:1fr!important;
  }
  .dashboard-order-main{
    grid-template-columns:84px minmax(0,1fr);
  }
  .dashboard-order-actions{
    grid-template-columns:1fr;
    width:100%;
  }
  .dashboard-order-actions .quick-print-order,
  .dashboard-order-actions .status-form{
    width:100%;
  }
}


/* V2.0.9 — Salvataggio unico Elenchi e tre farciture */
.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.filling-grid label{font-size:.8rem;color:var(--muted)}
.filling-grid select{margin-top:5px}

.list-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}
.list-card-heading h3{margin:0}
.save-list-top,.save-list-bottom{white-space:nowrap}
.save-list-bottom{width:100%;margin-top:14px}
.bulk-list-head{display:grid;grid-template-columns:minmax(220px,2fr) 105px 105px 135px;gap:10px;padding:8px 10px;color:var(--muted);font-size:.7rem}
.bulk-list-row{display:grid;grid-template-columns:minmax(220px,2fr) 105px 105px 135px;gap:10px;align-items:end;padding:10px;border-top:1px solid var(--line)}
.bulk-list-row.inactive{background:#faf8f6;opacity:.68}
.bulk-list-row label,.bulk-new-fields label{font-size:.76rem;color:var(--muted)}
.compact-check{min-height:46px;align-self:end}
.bulk-new-row{margin-top:16px;padding:14px;border-radius:14px;background:#faf7f4}
.bulk-new-row h4{margin:0 0 10px}
.bulk-new-fields{display:grid;grid-template-columns:minmax(220px,2fr) 105px 105px;gap:10px;align-items:end}
.list-card:has(input[name="requires_ids[]"]) .bulk-list-head,
.list-card:has(input[name="requires_ids[]"]) .bulk-list-row{
  grid-template-columns:minmax(220px,2fr) 105px 105px 135px 180px;
}
.list-card:has(input[name^="units["]) .bulk-list-head,
.list-card:has(input[name^="units["]) .bulk-list-row{
  grid-template-columns:minmax(220px,2fr) 105px 105px 135px 130px;
}
.list-card:has(input[name="new_requires_delivery_form"]) .bulk-new-fields{
  grid-template-columns:minmax(220px,2fr) 105px 105px 180px;
}
.list-card:has(input[name="new_unit_label"]) .bulk-new-fields{
  grid-template-columns:minmax(220px,2fr) 105px 105px 130px;
}
@media(max-width:900px){
  .form-grid.three{grid-template-columns:1fr}
  .bulk-list-head{display:none}
  .bulk-list-row,
  .list-card:has(input[name="requires_ids[]"]) .bulk-list-row,
  .list-card:has(input[name^="units["]) .bulk-list-row{
    grid-template-columns:1fr 110px;
  }
  .bulk-list-row .compact-check{grid-column:auto}
  .bulk-new-fields,
  .list-card:has(input[name="new_requires_delivery_form"]) .bulk-new-fields,
  .list-card:has(input[name="new_unit_label"]) .bulk-new-fields{
    grid-template-columns:1fr 110px;
  }
}
@media(max-width:560px){
  .list-card-heading{display:grid}
  .save-list-top{width:100%}
  .bulk-list-row,
  .list-card:has(input[name="requires_ids[]"]) .bulk-list-row,
  .list-card:has(input[name^="units["]) .bulk-list-row,
  .bulk-new-fields,
  .list-card:has(input[name="new_requires_delivery_form"]) .bulk-new-fields,
  .list-card:has(input[name="new_unit_label"]) .bulk-new-fields{
    grid-template-columns:1fr;
  }
}


/* V2.0.10 — Eliminazione opzioni dagli Elenchi */
.bulk-list-head{
  grid-template-columns:minmax(220px,2fr) 105px 105px 135px 72px;
}
.bulk-list-row{
  grid-template-columns:minmax(220px,2fr) 105px 105px 135px 72px;
}
.list-card:has(input[name="requires_ids[]"]) .bulk-list-head,
.list-card:has(input[name="requires_ids[]"]) .bulk-list-row{
  grid-template-columns:minmax(220px,2fr) 105px 105px 135px 180px 72px;
}
.list-card:has(input[name^="units["]) .bulk-list-head,
.list-card:has(input[name^="units["]) .bulk-list-row{
  grid-template-columns:minmax(220px,2fr) 105px 105px 135px 130px 72px;
}
.actions-column-title{text-align:center}
.trash-list-item{
  width:42px;
  height:42px;
  min-height:42px;
  padding:0;
  margin:auto;
  border:1px solid #d7b5ae;
  border-radius:11px;
  background:#fff5f3;
  color:#a6382f;
  display:grid;
  place-items:center;
  font-size:1.05rem;
  cursor:pointer;
}
.trash-list-item:hover,
.trash-list-item:focus{
  background:#b64036;
  color:#fff;
  border-color:#b64036;
}
.delete-list-modal-card{
  max-width:470px;
  text-align:center;
}
.delete-list-icon{
  width:58px;
  height:58px;
  margin:0 auto 12px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#fff0ed;
  font-size:1.45rem;
}
.delete-list-modal-card p{
  color:var(--muted);
}
@media(max-width:900px){
  .bulk-list-row,
  .list-card:has(input[name="requires_ids[]"]) .bulk-list-row,
  .list-card:has(input[name^="units["]) .bulk-list-row{
    grid-template-columns:1fr 110px 56px;
  }
  .trash-list-item{
    grid-column:3;
    grid-row:1;
  }
}
@media(max-width:560px){
  .bulk-list-row,
  .list-card:has(input[name="requires_ids[]"]) .bulk-list-row,
  .list-card:has(input[name^="units["]) .bulk-list-row{
    grid-template-columns:1fr 52px;
  }
  .trash-list-item{
    grid-column:2;
    grid-row:1;
  }
}


/* V2.0.11 — Stile torta */
.cake-style-row{
  display:grid;
  grid-template-columns:minmax(0,2fr) minmax(150px,.7fr);
  gap:12px;
  align-items:end;
}
#cakeTiersField[hidden]{display:none!important}
@media(max-width:699px){
  .cake-style-row{grid-template-columns:1fr}
}


/* V2.0.12 — Titoli personalizzabili degli Elenchi */
.list-heading-content{
  min-width:0;
  flex:1;
}
.list-title-editor{
  display:grid;
  gap:5px;
  max-width:640px;
  font-size:.78rem;
  color:var(--muted);
}
.list-title-editor input{
  font-size:1.35rem;
  font-weight:900;
  color:var(--text);
  background:#fff;
}
@media(max-width:560px){
  .list-title-editor{max-width:none}
}


/* V2.0.13 — Gestione completa Elenchi */
.create-list-panel{margin-bottom:16px}
.create-list-form{display:grid;grid-template-columns:minmax(220px,2fr) 110px 190px 190px auto;gap:10px;align-items:end}
.list-accordion{padding:0!important;overflow:hidden}
.list-accordion>summary{list-style:none;cursor:pointer}
.list-accordion>summary::-webkit-details-marker{display:none}
.list-summary{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:17px 19px;background:#fff}
.list-summary:after{content:'＋';font-size:1.3rem;font-weight:900}
.list-accordion[open]>.list-summary:after{content:'−'}
.list-summary>div:first-child{display:grid;gap:3px}
.list-summary small{color:var(--muted)}
.list-summary-badges{display:flex;gap:6px;margin-left:auto}
.badge-on,.badge-off{font-size:.68rem;font-weight:900;padding:5px 7px;border-radius:999px}
.badge-on{background:#dcf0e3;color:#25633f}
.badge-off{background:#eee7e1;color:#74675e}
.list-disabled>.list-summary{opacity:.62}
.list-bulk-form{padding:18px;border-top:1px solid var(--line)}
.list-settings-grid{display:grid;grid-template-columns:minmax(220px,2fr) 120px 190px 190px;gap:10px;align-items:end;padding:13px;background:#faf7f4;border-radius:14px;margin-bottom:14px}
.list-footer-actions{display:flex;gap:10px;align-items:center;margin-top:14px}
.system-list-note{color:var(--muted);font-size:.78rem}
.custom-order-lists{display:grid;gap:14px}
.custom-order-list{display:grid;gap:7px}
.custom-order-list h3{margin-bottom:0}
@media(max-width:1000px){
 .create-list-form,.list-settings-grid{grid-template-columns:1fr 110px}
 .create-list-form>.check,.create-list-form>button,.list-settings-grid>.check{grid-column:1/-1}
}
@media(max-width:650px){
 .list-summary{align-items:flex-start;flex-wrap:wrap}
 .list-summary-badges{order:3;margin-left:0;width:100%}
 .create-list-form,.list-settings-grid{grid-template-columns:1fr}
 .list-footer-actions{display:grid}
}


/* V2.0.14 — Schede protette, indirizzi separati e condivisione */
.record-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.record-form fieldset{border:0;padding:0;margin:0;min-width:0}
.record-readonly input:disabled,
.record-readonly select:disabled,
.record-readonly textarea:disabled{
  opacity:1;
  color:var(--text);
  -webkit-text-fill-color:var(--text);
  background:#f6f3ef;
  border-color:#e5ddd6;
}
.record-readonly input[type="checkbox"]:disabled,
.record-readonly input[type="radio"]:disabled{opacity:.8}
.share-options{display:grid;gap:10px;margin:18px 0}
.share-options button{width:100%}
@media(max-width:699px){
  .record-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .record-actions>*{width:100%}
}

#locationDeliverySection[hidden],#domicileDeliverySection[hidden]{display:none!important}.weekly-schedule{display:grid;gap:12px}.schedule-day{display:grid;grid-template-columns:210px minmax(0,1fr) auto;gap:14px;padding:14px;border:1px solid var(--line);border-radius:16px}.schedule-day-name{display:grid;gap:8px}.schedule-slots{display:grid;gap:8px}.schedule-slot{display:grid;grid-template-columns:1fr 1fr 46px;gap:8px;align-items:end}.schedule-slot .remove-slot{height:46px;padding:0;background:#fff5f3;color:#a6382f;border:1px solid #d7b5ae;border-radius:10px}.holiday-fields{margin-top:16px}.warning-card{border-top:8px solid #c78b1c}.allergen-association select{min-height:92px}.list-settings-grid{grid-template-columns:minmax(220px,2fr) 120px 170px 170px 170px 170px!important}@media(max-width:900px){.schedule-day,.list-settings-grid{grid-template-columns:1fr!important}}


/* V2.1.1 — Anteprima stampa fedele, trascinamento e moduli affiancabili */
.print-help{color:var(--muted);font-size:.78rem;line-height:1.4;margin-top:14px}
.preview-company{display:flex;gap:9px;align-items:center;margin-bottom:10px;font-size:.72rem}
.preview-company>div:last-child{display:grid}.preview-company small{display:block}
.preview-logo{width:42px;height:42px;border:1px solid var(--line);display:grid;place-items:center;font-size:.65rem}
.print-modules{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.print-module{position:relative;min-width:0;align-items:flex-start}
.print-module.module-width-1{grid-column:span 1}
.print-module.module-width-2{grid-column:1/-1}
.print-module.is-dragging{opacity:.42;outline:2px solid var(--primary)}
.drag-handle{font-size:1.2rem;cursor:grab;touch-action:none;user-select:none}
.preview-module-content{display:grid;gap:3px;min-width:0}
.preview-module-content small{color:var(--muted);font-size:.68rem;overflow-wrap:anywhere}
.module-width-toggle{margin-left:auto;border:0;border-radius:8px;background:#eee7e1;color:var(--text);min-height:32px;padding:4px 8px;font-size:.7rem;font-weight:900}
[data-preview-option][hidden]{display:none!important}
@media(max-width:560px){
  .print-modules{grid-template-columns:repeat(2,minmax(0,1fr))}
  .print-module{padding:8px}
  .print-module strong{font-size:.78rem}
}


/* V2.1.2 — impostazioni complete */
.allergen-association{grid-column:1/-1;border:1px solid var(--line);border-radius:12px;padding:10px;background:#fff}
.allergen-checkboxes{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px;margin-top:8px}
.schedule-day{grid-template-columns:190px minmax(0,1fr) 210px!important}
.schedule-add-wrap{align-self:start}
.schedule-add-wrap .add-slot{width:auto!important;max-width:210px;white-space:nowrap}
.section-save-row{display:flex;justify-content:flex-end;margin-top:16px}
.section-save-row .primary{min-width:240px}
.required-field-groups h3,.print-field-groups h3{margin:14px 0 8px}
.field-auto-note{color:var(--muted);font-size:.8rem;line-height:1.4}
.print-toggles{max-height:440px;overflow:auto;padding-right:8px}
@media(max-width:900px){
 .schedule-day{grid-template-columns:1fr!important}
 .schedule-add-wrap .add-slot{max-width:none}
}
@media(max-width:560px){
 .section-save-row .primary{width:100%;min-width:0}
}


/* V2.1.3 — riordinamento elenchi */
.list-summary{grid-template-columns:auto minmax(0,1fr) auto!important}
.list-drag-handle{font-size:1.35rem;cursor:grab;touch-action:none;user-select:none;padding:8px;color:var(--primary)}
.list-card.is-dragging{opacity:.45;outline:3px solid var(--primary);outline-offset:3px}
@media(max-width:700px){
 .list-summary{grid-template-columns:auto minmax(0,1fr)!important}
 .list-summary-badges{grid-column:2}
}


/* V2.2.0 — famiglie, allergeni, calendario e sicurezza moduli */
.week-navigation{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;gap:8px;align-items:stretch}
.week-arrow{display:grid;place-items:center;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--primary);font-size:2rem;font-weight:900;text-decoration:none}
.week-strip{overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}
.day-card{scroll-snap-align:center}
.day-card small.has-orders{color:#c62828;font-weight:900}
.day-card.selected small.has-orders{color:#fff;text-decoration:underline}
.allergen-tag-editor{display:grid;gap:12px}
.allergen-tags,.allergen-readonly{display:flex;flex-wrap:wrap;gap:8px}
.allergen-tag{display:inline-flex;align-items:center;gap:8px;background:#dcf0e3;color:#25633f;border-radius:999px;padding:7px 10px;font-weight:800}
.allergen-tag.static{padding-right:12px}
.remove-allergen-tag{border:0;background:transparent;color:inherit;font-size:1.15rem;font-weight:900;line-height:1;padding:0;cursor:pointer}
.family-relations{display:grid;gap:9px}
.family-relation-row{display:flex;justify-content:space-between;gap:15px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:12px;background:#fff}
.family-relation-row>div:first-child{display:grid;gap:3px}
.family-relation-row small{color:var(--muted)}
.family-actions{display:flex;gap:8px;flex-wrap:wrap}
.list-summary-badges .badge-on{background:#dcf0e3;color:#25633f}
.list-summary-badges .badge-off{background:#e6e6e6;color:#686868}
.print-module[hidden]{display:none!important}
.muted{color:var(--muted)}
@media(max-width:700px){
 .week-navigation{grid-template-columns:38px minmax(0,1fr) 38px}
 .week-strip{grid-auto-columns:minmax(122px,42vw)}
 .family-relation-row{align-items:flex-start;flex-direction:column}
 .family-actions{width:100%}
 .family-actions>*{flex:1;text-align:center}
}


/* V2.2.1 — archivio temporale e nucleo familiare */
.order-filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}
.order-filters a{padding:9px 14px;border-radius:999px;background:#eee7e1;font-weight:900;font-size:.78rem}
.order-filters a.active{background:var(--primary);color:#fff}
.order-past-completed{opacity:.56;filter:saturate(.55)}
.order-past-completed:hover{opacity:.82}
.order-past-open{border-left-color:#c74735!important;box-shadow:0 0 0 2px rgba(199,71,53,.12),var(--shadow)}
.overdue-warning{display:inline-block;margin-top:5px;color:#b73727;font-weight:900;font-size:.7rem}
.household-propagation{margin-top:10px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#faf7f4}
@media(max-width:650px){
 .order-filters{display:grid;grid-template-columns:repeat(2,1fr)}
 .order-filters a{text-align:center}
}

/* V3.0 — moduli, calcolo torte e riepilogo economico */
.module-selector{display:grid;gap:.65rem}.modules-segmented{grid-template-columns:repeat(4,minmax(0,1fr))}.cake-style-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem}.cake-price-box,.economic-summary{border:2px solid var(--brown,#795548);border-radius:16px;padding:1rem;margin-top:1rem}.cake-rules-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.cake-calc-summary,.economic-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-top:1rem}.cake-calc-summary span,.economic-grid span{background:#f6f1ed;padding:.75rem;border-radius:10px}.economic-grid .grand{font-size:1.15rem}.item-head.v3,.item-row.v3{grid-template-columns:110px minmax(220px,2fr) minmax(120px,1fr) 100px 110px 80px minmax(240px,1.6fr)}.item-total{display:flex;align-items:center;font-weight:700}.price-rule-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;gap:.6rem;align-items:center;padding:.55rem;border-bottom:1px solid #ddd}.danger.mini{padding:.35rem .55rem;font-size:.75rem}@media(max-width:900px){.modules-segmented,.cake-style-grid,.cake-rules-grid,.cake-calc-summary,.economic-grid{grid-template-columns:1fr 1fr}.item-head.v3{display:none}.item-row.v3{grid-template-columns:1fr 1fr}.price-rule-row{grid-template-columns:1fr 1fr}}
@media print{body{font-size:12pt!important}.print-sheet{break-after:page;page-break-after:always}.print-sheet:last-child{break-after:auto;page-break-after:auto}}

/* V3.0.2 - Gestione regole torta */
.price-rule-edit-row{display:grid;grid-template-columns:minmax(180px,2fr) minmax(150px,1.3fr) minmax(110px,.8fr) 90px auto;gap:.65rem;align-items:end;padding:.8rem 0;border-bottom:1px solid #ddd}.price-rule-edit-row label{margin:0}.rule-status{align-self:center;text-align:center}.rule-actions{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}.new-price-rule-box{margin-top:1rem;padding:1rem;border:1px solid #dfd2c8;border-radius:14px;background:#faf7f4}.new-price-rule-box h4{margin:0 0 .75rem}.muted{color:#777}@media(max-width:1000px){.price-rule-edit-row{grid-template-columns:1fr 1fr}.rule-actions{grid-column:1/-1}.rule-status{text-align:left}}@media(max-width:650px){.price-rule-edit-row{grid-template-columns:1fr}.rule-actions,.rule-status{grid-column:auto}}

/* Modulo Torte 1.0.0 */
.cake-module{position:relative}.cake-module-version{position:absolute;right:1rem;top:1rem;font-size:.72rem;font-weight:800;color:#806b5f;background:#f4eee9;padding:.3rem .55rem;border-radius:999px}.cake-rules-header{display:flex;justify-content:space-between;align-items:end;margin-top:1.25rem}.cake-rules-header h3{margin-bottom:.2rem}.cake-rules-header p{margin:0;color:#746a64}.cake-rule-cards{display:grid;gap:.8rem;margin-top:.8rem}.cake-rule-card{border:1px solid #ded1c7;border-radius:14px;padding:1rem;background:#fff}.cake-rule-card.is-inactive{opacity:.68;background:#f5f2ef}.cake-rule-state{display:flex;justify-content:flex-end;margin-bottom:.45rem}.cake-rule-state span{font-size:.7rem;font-weight:900;border-radius:999px;padding:.25rem .55rem;background:#e9f4e9;color:#276431}.cake-rule-card.is-inactive .cake-rule-state span{background:#eee;color:#666}.cake-rule-fields{display:grid;grid-template-columns:2fr 1.25fr .8fr;gap:.7rem}.cake-rule-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.8rem;flex-wrap:wrap}.cake-rule-actions button{min-width:110px}@media(max-width:800px){.cake-rule-fields{grid-template-columns:1fr}.cake-module-version{position:static;display:inline-block;margin-bottom:.75rem}.cake-rule-actions{justify-content:stretch}.cake-rule-actions button{flex:1}}


/* V3.0.4 - validazione ordine senza perdita dati */
.order-error-summary{margin:0 0 18px;padding:16px 18px;border:2px solid #b94136;border-radius:16px;background:#fff3f1;color:#69231e;box-shadow:0 8px 22px rgba(120,45,37,.08)}
.order-error-summary h2{margin:0 0 5px;font-size:1.08rem}.order-error-summary p{margin:0 0 8px}.order-error-summary ul{margin:0;padding-left:20px}.order-error-summary a{color:#8f2f27;font-weight:700;text-decoration:underline}
.field-invalid{border-radius:10px;background:#fff2f0!important;box-shadow:0 0 0 2px rgba(185,65,54,.18)}
.field-invalid input,.field-invalid select,.field-invalid textarea,input[aria-invalid="true"],select[aria-invalid="true"],textarea[aria-invalid="true"]{border-color:#b94136!important;box-shadow:0 0 0 3px rgba(185,65,54,.16)!important}
.field-error-message{display:block;margin-top:5px;color:#a83229;font-weight:700;font-size:.82rem}
@media(max-width:700px){.order-error-summary{position:relative;margin:0 0 12px}}

/* V3.0.5 — selettori moduli e creazione rapida cliente */
.modules-segmented label{transition:background-color .15s ease,color .15s ease,border-color .15s ease}
.modules-segmented label:has(input:checked){background:var(--brown,#795548);border-color:var(--brown,#795548);color:#fff}
.modules-segmented label:has(input:checked) input{accent-color:#fff}
.smart-client-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;align-items:end;position:relative}
.smart-client-search .client-suggestions{grid-column:1/-1}
.quick-client-open{white-space:nowrap}
.quick-client-modal[hidden]{display:none!important}
.quick-client-modal{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:1rem}
.quick-client-backdrop{position:absolute;inset:0;background:rgba(28,18,14,.58)}
.quick-client-dialog{position:relative;width:min(620px,100%);max-height:calc(100vh - 2rem);overflow:auto;background:#fff;border-radius:18px;box-shadow:0 24px 80px rgba(0,0,0,.28);padding:1.2rem}
.quick-client-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1rem}
.quick-client-head h3,.quick-client-head p{margin:0}.quick-client-head p{margin-top:.25rem;color:#6d625d}
.icon-button{border:0;background:transparent;font-size:2rem;line-height:1;cursor:pointer;color:#5f514b}
.quick-client-error{color:#a52222;font-weight:700;margin:.75rem 0 0}
body.modal-open{overflow:hidden}
.create-client-suggestion{border-top:1px solid #eadfd9}
@media(max-width:700px){.smart-client-search{grid-template-columns:1fr}.quick-client-open{width:100%}}

.cake-calculate-button{width:100%;min-height:48px;align-self:stretch;display:flex;align-items:center;justify-content:center;font-weight:800;letter-spacing:.02em}
@media(max-width:900px){.cake-calculate-button{grid-column:1/-1}}


/* V3.0.8 - Sconto nel calcolo economico */
.economic-grid-discount{grid-template-columns:repeat(6,minmax(0,1fr));align-items:end}
.economic-grid-discount label{display:flex;flex-direction:column;gap:.35rem;margin:0;font-weight:700}
.economic-grid-discount select,.economic-grid-discount input{width:100%;min-height:48px;font:inherit;background:#fff;border:1px solid #dfd3cb;border-radius:12px;padding:.65rem .75rem}
.economic-grid-discount .discount-result{background:#f4efeb}
.economic-note{margin:.7rem 0 0;color:#766b65;font-size:.92rem}
@media(max-width:900px){.economic-grid-discount{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.economic-grid-discount{grid-template-columns:1fr}.economic-grid-discount .grand{font-size:1.15rem}}


/* V3.0.17 - Dettagli torta semplificati e avviso nucleo familiare */
.family-allergen-notice{margin:1rem 0;padding:1rem 1.1rem;border:2px solid #b43f36;border-radius:16px;background:#fff4f2;color:#3a2d28}
.family-allergen-notice strong{display:block;color:#9f3029;margin-bottom:.45rem}
.family-allergen-notice div+div{margin-top:.35rem}
.cake-details-simple{margin-top:1.2rem}
.cake-details-simple textarea{width:100%;resize:vertical}

/* V3.0.19 — pannello Impostazioni a caselle-icona trascinabili */
.settings-icon-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start;margin-bottom:18px}
.settings-icon-grid .settings-card{margin:0;min-width:0;overflow:hidden;border:1px solid var(--line);box-shadow:0 8px 22px rgba(72,48,34,.06);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.settings-icon-grid .settings-card.is-dragging{opacity:.48;transform:scale(.985);border-color:var(--primary)}
.settings-icon-grid .settings-title{margin:0;padding:18px;cursor:pointer;user-select:none;display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:13px;align-items:center}
.settings-icon-grid .settings-title>span{width:52px;height:52px;border-radius:16px;font-size:1.45rem;background:#f3ebe5;color:var(--primary)}
.settings-icon-grid .settings-title h2{font-size:1.05rem;text-transform:uppercase;letter-spacing:.02em}
.settings-icon-grid .settings-title p{font-size:.8rem}
.settings-card-drag{border:0;background:transparent;color:var(--muted);font-size:1.25rem;cursor:grab;padding:8px;line-height:1}
.settings-card-drag:active{cursor:grabbing}
.settings-card-content{display:none;padding:0 18px 18px;border-top:1px solid var(--line)}
.settings-card.is-open .settings-card-content{display:block;padding-top:18px}
.settings-card.is-open{grid-column:1/-1;box-shadow:0 12px 30px rgba(72,48,34,.1)}
.settings-subpanel{border:1px dashed var(--line);border-radius:16px;padding:16px;margin-top:18px;background:#fcfaf8}
.settings-subpanel h3{margin:0 0 5px;text-transform:uppercase;color:var(--primary)}
.settings-subpanel p{margin:0 0 12px;color:var(--muted)}
.settings-reset-row{display:flex;justify-content:flex-end;margin:-2px 0 14px}
@media(max-width:760px){.settings-icon-grid{grid-template-columns:1fr}.settings-card.is-open{grid-column:auto}.settings-icon-grid .settings-title{grid-template-columns:46px minmax(0,1fr) auto;padding:15px}.settings-icon-grid .settings-title>span{width:46px;height:46px}}

/* V3.0.20 */
.panel-card-grid .quick-card,.panel-card-grid .quick-card-button{min-height:130px;position:relative;text-align:left}.quick-card-button{border:0;width:100%;cursor:pointer;font:inherit}.card-icon{display:block;font-size:1.8rem;margin-bottom:.5rem}.new-menu-card{max-width:560px}.new-menu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.nav-new-button{border:0;background:none;font:inherit;color:inherit}.quote-card{border-left:5px solid #8d6e63}.today-marker{box-shadow:inset 0 0 0 2px #8d6e63}.sortable-ghost{opacity:.45}.panel-card-grid>[draggable="true"]{cursor:grab}
/* V3.0.21 — navigazione snella e centro database */
.database-actions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:20px}.database-actions-grid form{border:1px solid var(--line);border-radius:16px;padding:14px;display:grid;gap:10px}.backup-list{display:grid;gap:10px}.backup-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:12px}.backup-row>div:first-child{display:grid;gap:4px;min-width:0}.backup-row strong{overflow-wrap:anywhere}.backup-row small{color:var(--muted)}.backup-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.backup-actions form{margin:0}.bottom-nav .nav-new-button{border:0;font:inherit;min-height:64px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.bottom-nav .nav-new-button span{font-size:.7rem}@media(max-width:760px){.database-actions-grid{grid-template-columns:1fr}.backup-row{grid-template-columns:1fr}.backup-actions{display:grid;grid-template-columns:1fr 1fr}.backup-actions>*{width:100%}.backup-actions button,.backup-actions a{width:100%;text-align:center}}

/* V3.0.22 — clienti a caselle e collocazione elenchi */
.client-icon-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.client-icon-card{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:16px;display:grid;grid-template-columns:54px minmax(0,1fr) 24px;gap:14px;align-items:center;transition:.18s ease}.client-icon-card:hover{transform:translateY(-2px);border-color:var(--primary)}.client-avatar{width:54px;height:54px;border-radius:16px;background:#f1e8e1;color:var(--primary);display:grid;place-items:center;font-weight:900;font-size:1.05rem}.client-icon-card h3{margin:0 0 4px}.client-icon-card p,.client-icon-card small{margin:0;color:var(--muted);display:block}.client-card-arrow{font-size:2rem;color:var(--primary)}.custom-order-list{border:1px solid var(--line);border-radius:14px;padding:12px;margin-top:10px;background:#fff}.custom-order-list h3{margin-top:0}.list-card.list-disabled{opacity:.72}

/* V3.0.23 — consolidamento Impostazioni */
.topbar-actions{display:flex;align-items:center;gap:10px}.fixed-settings-button{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:#fff;color:var(--primary);border:1px solid var(--line);box-shadow:0 6px 16px rgba(72,48,34,.09);font-size:1.25rem;text-decoration:none}.fixed-settings-button:hover,.fixed-settings-button:focus{transform:translateY(-1px);border-color:var(--primary)}.database-center{scroll-margin-top:18px}.panel-heading{display:grid;grid-template-columns:52px minmax(0,1fr);gap:13px;align-items:center;margin-bottom:18px}.panel-heading-icon{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:#f3ebe5;color:var(--primary);font-size:1.45rem}.panel-heading h2,.panel-heading p{margin:0}.panel-heading p{color:var(--muted);font-size:.84rem}.delete-list-category-disabled{opacity:.55;cursor:not-allowed}.settings-card-content .section-save-row{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}

/* V3.0.25 — unico accesso Impostazioni accanto alla versione */
.topbar-actions{display:flex;align-items:center;gap:10px}
.fixed-settings-button{flex:0 0 auto}
@media(max-width:699px){.fixed-settings-button{width:42px;height:42px;border-radius:14px;font-size:1.2rem}}


/* V3.0.27 — Preventivi: prezzo lordo, azioni ordinate e conversione accessibile */
.item-head.v3.quote-pricing,.item-row.v3.quote-pricing{grid-template-columns:minmax(82px,.55fr) minmax(220px,1.7fr) minmax(125px,.85fr) minmax(100px,.7fr) minmax(95px,.65fr) minmax(75px,.5fr) minmax(130px,1fr)}
.quote-card{grid-template-columns:minmax(0,1fr) auto!important;align-items:center;gap:18px}
.quote-main{min-width:0}
.quote-summary{display:grid;gap:4px;min-width:0}
.quote-summary h3,.quote-summary p{margin:0}
.quote-code{overflow-wrap:anywhere;color:var(--muted)}
.quote-total{font-size:1.05rem}
.quote-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;align-items:center}
.quote-actions form{margin:0}
.quote-actions button,.quote-actions a{white-space:nowrap}
.inline-action-form{margin:0}
.inline-action-form button{height:100%}
@media(max-width:900px){
 .quote-card{grid-template-columns:1fr!important}
 .quote-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
 .quote-actions>*{width:100%}
 .quote-actions button,.quote-actions a{width:100%}
 .item-head.v3.quote-pricing{display:none}
 .item-row.v3.quote-pricing{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){.quote-actions{grid-template-columns:1fr}}

.location-selection-summary{display:grid;gap:4px;margin-top:12px;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:#fff}.location-selection-summary strong{font-size:1rem}.location-selection-summary span{color:var(--muted)}.quick-location-charge{align-self:end;min-height:48px}.quick-client-dialog{max-height:90vh;overflow:auto}


/* V3.0.36 — dati consegna cliente e calcolo economico uniforme */
.economic-grid-discount{align-items:stretch}
.economic-grid-discount>span,.economic-grid-discount>label{min-width:0;min-height:72px;box-sizing:border-box}
.economic-grid-discount>span{display:flex;align-items:center;justify-content:flex-start;gap:.35rem;padding:.75rem 1rem;font-size:1rem;font-weight:500}
.economic-grid-discount>span strong{font-size:1rem;line-height:1.2}
.economic-grid-discount>label{justify-content:flex-end;font-size:.82rem;line-height:1.2}
.economic-grid-discount select,.economic-grid-discount input{height:48px;min-height:48px;font-size:1rem;font-weight:700}
.economic-grid-discount .grand{font-size:1rem}
.economic-grid-discount .grand strong{font-size:1rem}
@media(max-width:900px){.economic-grid-discount>span,.economic-grid-discount>label{min-height:72px}}

/* V3.0.38 — allineamento colonne righe prodotto */
.item-head.v3>strong,.item-row.v3>*{min-width:0}
.item-row.v3 input[name="item_note[]"]{width:100%}

.client-search-filters{display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr auto;gap:12px;align-items:end;background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px}.client-search-filters label,.client-distance-filter{display:grid;gap:6px}.client-search-filters label>span,.client-distance-filter>span{font-size:.82rem;font-weight:800;color:var(--muted)}.client-search-filters input,.client-search-filters select{min-height:48px}.client-distance-filter>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.client-filter-actions{display:flex;gap:8px;align-items:center}.client-filter-actions .primary,.client-filter-actions .secondary{min-height:48px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}@media(max-width:1050px){.client-search-filters{grid-template-columns:1fr 1fr}.client-search-main,.client-filter-actions{grid-column:1/-1}}@media(max-width:620px){.client-search-filters{grid-template-columns:1fr}.client-search-main,.client-filter-actions{grid-column:auto}.client-filter-actions>*{flex:1}}

/* V3.1.0 — catalogo prodotti e ricerca */
.item-head.v3,.item-row.v3{grid-template-columns:minmax(82px,.55fr) minmax(220px,1.7fr) minmax(125px,.85fr) minmax(100px,.7fr) minmax(95px,.65fr) minmax(75px,.5fr) minmax(130px,1fr)}
.catalog-product-wrap{position:relative;min-width:0}.catalog-product-wrap>input{width:100%}.catalog-suggestions{position:absolute;z-index:80;left:0;right:0;top:calc(100% + 4px);background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 30px rgba(50,35,25,.18);max-height:310px;overflow:auto;padding:5px}.catalog-suggestions button{width:100%;display:grid;grid-template-columns:62px minmax(0,1fr);gap:3px 9px;text-align:left;background:transparent;border:0;border-radius:10px;padding:9px;cursor:pointer}.catalog-suggestions button:hover,.catalog-suggestions button:focus{background:#f5eee9}.catalog-suggestions button strong{grid-row:1/3;color:var(--primary)}.catalog-suggestions button span{font-weight:700}.catalog-suggestions button small{color:var(--muted)}.catalog-no-result{padding:12px;color:var(--muted)}
.catalog-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:end}.catalog-form .catalog-allergens,.catalog-form .record-actions,.catalog-form>p{grid-column:1/-1}.catalog-export-box{border:1px solid var(--line);border-radius:16px;padding:14px;display:grid;gap:10px;align-content:center}.catalog-export-box p{margin:0}.catalog-table{display:grid;gap:6px;overflow-x:auto}.catalog-table-head,.catalog-table-row{display:grid;grid-template-columns:90px minmax(180px,1.3fr) 110px 65px 115px minmax(150px,1fr) 80px minmax(180px,auto);gap:10px;align-items:center;min-width:1050px;padding:10px 12px}.catalog-table-head{font-size:.76rem;color:var(--muted);border-bottom:1px solid var(--line)}.catalog-table-row{border:1px solid var(--line);border-radius:12px}.catalog-table-row form{margin:0}
@media(max-width:900px){.item-head.v3{display:none}.item-row.v3{grid-template-columns:1fr 1fr}.item-row.v3>select,.item-row.v3>.catalog-product-wrap,.item-row.v3>[name="item_note[]"]{grid-column:1/-1}.catalog-form{grid-template-columns:1fr}.catalog-form>*{grid-column:1!important}}

/* V3.1.0a-r9 — calendario Dashboard: selezione mobile, indicatore OGGI e movimento percepibile */
.week-navigation{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr) 48px;gap:8px;align-items:stretch}
.week-strip{position:relative;overflow:visible}
.day-card{position:relative;transition:transform .18s ease,background-color .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease}
.day-card.selected{transform:scale(1.08);box-shadow:0 10px 22px rgba(82,56,41,.22)}
.day-card.selected::before{content:"▼";position:absolute;top:-24px;left:50%;transform:translateX(-50%);color:var(--primary);font-size:15px;line-height:1;filter:drop-shadow(0 2px 2px rgba(0,0,0,.12))}
.day-card.today:not(.selected){border:2px solid var(--primary);box-shadow:inset 0 0 0 1px rgba(118,85,65,.08)}
.today-badge{position:absolute;top:-9px;right:8px;background:#eee7e1;color:var(--primary);border:1px solid var(--line);border-radius:999px;padding:2px 6px;font-style:normal;font-size:.58rem;font-weight:900;letter-spacing:.04em}
.day-card.selected .today-badge{background:#fff;color:var(--primary);border-color:#fff}
.week-strip.dashboard-slide-left{animation:dashboardSlideLeft .2s ease-out}
.week-strip.dashboard-slide-right{animation:dashboardSlideRight .2s ease-out}
@keyframes dashboardSlideLeft{from{opacity:.55;transform:translateX(24px)}to{opacity:1;transform:translateX(0)}}
@keyframes dashboardSlideRight{from{opacity:.55;transform:translateX(-24px)}to{opacity:1;transform:translateX(0)}}
@media(max-width:699px){.week-navigation{grid-template-columns:42px minmax(0,1fr) 42px}.day-card.selected::before{top:-21px}.today-badge{right:4px}}

/* V3.1.0a-r10 — ottimizzazione calendario Dashboard esclusivamente smartphone */
@media(max-width:600px){
 .week-navigation{grid-template-columns:38px minmax(0,1fr) 38px;gap:6px;overflow:visible}
 .week-arrow{border-radius:14px;font-size:1.65rem;position:relative;z-index:4}
 .week-strip{
  display:grid;
  grid-template-columns:none;
  grid-auto-flow:column;
  grid-auto-columns:calc((100% - 14px)/3);
  gap:7px;
  overflow-x:auto;
  overflow-y:visible;
  scroll-snap-type:x mandatory;
  scroll-padding-inline:calc((100% - ((100% - 14px)/3))/2);
  overscroll-behavior-inline:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  padding:24px 4px 9px;
  margin:-19px 0 7px;
 }
 .week-strip::-webkit-scrollbar{display:none}
 .day-card{min-width:0;padding:8px 4px;border-radius:13px;gap:2px;scroll-snap-align:center}
 .day-card span{font-size:.78rem}
 .day-card strong{font-size:1rem}
 .day-card small{font-size:.68rem;white-space:nowrap}
 .day-card.selected{transform:scale(1.04)}
 .day-card.selected::before{top:-17px;font-size:12px}
 .today-badge{top:-7px;right:3px;padding:1px 4px;font-size:.5rem}
}

/* V3.1.0a-r13 — gestione foto Ordini e Preventivi */
.order-photo-section{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px;margin-top:18px}
.order-photo-section h3{flex-basis:100%;margin:0}
.order-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,220px));gap:12px;width:100%}.order-photo-preview{position:relative;width:100%}
.order-photo-preview[hidden]{display:none!important}
.order-photo{display:block;width:100%;max-width:320px;max-height:320px;object-fit:cover;border-radius:16px;border:1px solid var(--line)}
.order-photo-remove{position:absolute;top:8px;right:8px;width:38px;height:38px;min-height:0;padding:0;border:2px solid #fff;border-radius:50%;background:rgba(35,28,24,.82);color:#fff;font-size:1.55rem;line-height:1;font-weight:900;box-shadow:0 3px 10px rgba(0,0,0,.25)}
.photo-source-card p{color:var(--muted)}
.photo-source-actions{display:grid;gap:10px;margin-top:18px}
@media(max-width:600px){.order-photo-section{display:block}.order-photo-section .camera-button{width:100%;justify-content:center;margin:8px 0 12px}.order-photo-grid{grid-template-columns:1fr}.order-photo-preview{width:100%}.order-photo{max-width:none;max-height:420px}}


/* V3.1.0a-r15 — correzione dimensioni anteprima foto */
.order-photo{cursor:zoom-in}
.order-photo-lightbox{position:fixed;inset:0;z-index:10000;display:grid;grid-template-columns:minmax(48px,8vw) minmax(0,1fr) minmax(48px,8vw);align-items:center;background:rgba(10,8,7,.94);padding:20px;overscroll-behavior:contain}
.order-photo-lightbox[hidden]{display:none!important}
.order-photo-lightbox figure{margin:0;min-width:0;width:100%;height:calc(100dvh - 80px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.order-photo-lightbox img{display:block;width:100%;height:calc(100% - 34px);max-width:1200px;max-height:calc(100dvh - 110px);margin:auto;object-fit:contain;border-radius:12px;box-shadow:0 12px 45px rgba(0,0,0,.45)}
.order-photo-lightbox figcaption{flex:0 0 24px;min-height:24px;margin-top:10px;color:#fff;font-weight:800}
.order-photo-lightbox button{position:relative;z-index:2;width:52px;height:52px;min-height:0;padding:0;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:rgba(30,25,22,.72);color:#fff;font-size:2.2rem;line-height:1;justify-self:center}
.order-photo-lightbox-close{position:absolute!important;top:max(14px,env(safe-area-inset-top));right:max(14px,env(safe-area-inset-right));font-size:2rem!important}
.order-photo-lightbox button[hidden]{display:none!important}
body.photo-lightbox-open{overflow:hidden}
@media(max-width:600px){.order-photo-lightbox{grid-template-columns:42px minmax(0,1fr) 42px;padding:64px 4px max(10px,env(safe-area-inset-bottom))}.order-photo-lightbox figure{height:calc(100dvh - 82px)}.order-photo-lightbox button{width:40px;height:40px;font-size:1.8rem}.order-photo-lightbox img{width:100%;height:calc(100% - 30px);max-width:none;max-height:calc(100dvh - 112px);border-radius:8px}}


/* V3.1.0a-r16 — visualizzazione foto a pieno schermo, override definitivo */
.order-photo-lightbox{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:max(72px,env(safe-area-inset-top)) 12px max(24px,env(safe-area-inset-bottom));
}
.order-photo-lightbox figure{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  width:calc(100vw - 24px);
  height:calc(100dvh - 112px);
  max-width:none;
  min-width:0;
  margin:0;
}
.order-photo-lightbox .order-photo-lightbox-image{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:center center!important;
  border:0!important;
  border-radius:10px;
  transform:none!important;
}
.order-photo-lightbox figcaption{
  position:absolute;
  left:50%;
  bottom:2px;
  z-index:3;
  transform:translateX(-50%);
  min-height:0;
  margin:0;
  padding:5px 10px;
  border-radius:999px;
  background:rgba(0,0,0,.55);
  white-space:nowrap;
}
.order-photo-lightbox-prev,.order-photo-lightbox-next{
  position:fixed!important;
  top:50%;
  transform:translateY(-50%);
}
.order-photo-lightbox-prev{left:max(8px,env(safe-area-inset-left))}
.order-photo-lightbox-next{right:max(8px,env(safe-area-inset-right))}
@media(max-width:600px){
  .order-photo-lightbox{padding:max(72px,env(safe-area-inset-top)) 6px max(18px,env(safe-area-inset-bottom))}
  .order-photo-lightbox figure{width:calc(100vw - 12px);height:calc(100dvh - 102px)}
}


/* V3.2.0a-r2 — sedi aziendali integrate nella scheda Azienda */
.company-card .office-divider{border:0;border-top:1px solid var(--line,#ddd);margin:24px 0}
.company-legal-extra{margin-top:22px;padding-top:20px;border-top:1px solid var(--line,#ddd)}
.legal-heading,.office-list-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.legal-heading h3,.legal-heading p,.office-list-heading h3,.office-list-heading p{margin:0}
.field-help{color:var(--muted,#746c67);font-size:.92rem;margin-top:4px!important}
.activity-picker{margin-top:14px}.activity-picker label{display:block}.activity-chips,.office-activity-summary{display:flex;flex-wrap:wrap;gap:8px;margin-top:9px;min-height:1px}
.activity-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line,#ddd);border-radius:999px;background:var(--soft,#f5efea);padding:6px 10px;font-size:.88rem;font-weight:700}
.activity-chip-remove{border:0;background:transparent;padding:0;line-height:1;font-size:1.15rem;cursor:pointer;color:inherit}
.activity-chip-static{padding:4px 9px;font-size:.78rem}
.office-list-heading{margin-bottom:14px}.operational-offices{display:grid;gap:12px}.operational-office{border:1px solid var(--line,#ddd);border-radius:16px;background:rgba(255,255,255,.52);overflow:hidden}
.operational-office-summary{display:flex;align-items:center;gap:14px;padding:14px 16px}.office-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--soft,#f5efea);font-size:1.3rem;flex:0 0 auto}
.office-summary-text{min-width:0;flex:1}.office-title{display:block;font-size:1.02rem}.office-address-summary{display:block;color:var(--muted,#746c67);margin-top:3px}.office-summary-actions{display:flex;gap:8px;align-items:center}
.operational-office-form{padding:0 16px 16px;border-top:1px solid var(--line,#ddd)}.operational-office-form .form-grid{padding-top:16px}.office-status-row{display:flex;flex-wrap:wrap;gap:18px;margin-top:16px}.office-form-actions{display:flex;justify-content:flex-end;margin-top:16px}
.operational-office.is-open{box-shadow:0 8px 24px rgba(54,39,28,.08)}
@media(max-width:600px){.legal-heading,.office-list-heading{flex-direction:column;align-items:stretch}.office-list-heading button{width:100%}.operational-office-summary{align-items:flex-start;flex-wrap:wrap}.office-summary-actions{width:100%;justify-content:flex-end}.office-summary-actions button{flex:1}.operational-office-form{padding:0 12px 12px}.office-icon{width:40px;height:40px}}


/* V3.2.0a-r7 — Luoghi previsti fissi */
.place-source-badge{align-self:center;padding:8px 10px;border-radius:999px;background:#edf5ef;color:#2f6845;font-weight:700;font-size:.78rem;text-align:center}.bulk-list-row[data-fixed-place]{grid-template-columns:minmax(220px,2fr) 120px 110px 130px 170px}

/* V3.3.0a-r3 - Modulo Consegne compatto */
.delivery-filters{display:grid;grid-template-columns:auto minmax(240px,.8fr) minmax(330px,1.1fr) auto;gap:14px;align-items:end;background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;margin-bottom:18px;box-shadow:var(--shadow)}
.delivery-period-choice,.delivery-type-filters{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.delivery-period-choice strong,.delivery-type-filters strong{width:100%;font-size:.8rem;color:var(--muted);text-transform:uppercase}.delivery-period-choice .check,.delivery-type-filters .check{margin:0;white-space:nowrap}.delivery-date-range{display:grid;grid-template-columns:1fr 1fr;gap:8px}.delivery-date-range label{display:grid;gap:4px}.delivery-filter-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.delivery-filter-actions button{min-height:44px;white-space:nowrap}
.delivery-summary-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin:8px 0 26px}.delivery-summary-header h1{margin:0;font-size:2rem}.delivery-summary-header p{margin:10px 0 0;font-size:1.05rem}.delivery-summary-header>strong{text-align:right}
.delivery-summary-day{margin-bottom:24px}.delivery-summary-day h2{margin:0;padding:10px 12px;border-left:4px solid var(--accent);background:#eee;font-size:1.05rem}.delivery-table-wrap{overflow-x:auto}.delivery-summary-table{width:100%;border-collapse:collapse;table-layout:fixed}.delivery-summary-table th,.delivery-summary-table td{padding:9px 8px;border-bottom:1px solid #bbb;text-align:left;vertical-align:middle}.delivery-summary-table th{font-size:.9rem}.delivery-summary-table th:nth-child(1),.delivery-summary-table td:nth-child(1){width:8%}.delivery-summary-table th:nth-child(2),.delivery-summary-table td:nth-child(2){width:24%}.delivery-summary-table th:nth-child(3),.delivery-summary-table td:nth-child(3){width:21%}.delivery-summary-table th:nth-child(4),.delivery-summary-table td:nth-child(4){width:31%}.delivery-summary-table th:nth-child(5),.delivery-summary-table td:nth-child(5){width:16%}.delivery-summary-table tbody tr{cursor:pointer}.delivery-summary-table tbody tr:hover{background:rgba(118,85,65,.06)}.delivery-summary-table .hour{font-weight:800}.delivery-summary-table small{display:block;color:var(--muted);margin-top:2px;line-height:1.25}.delivery-share-card{max-width:460px}.delivery-share-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.delivery-share-actions button{min-height:52px}
@media(max-width:1050px){.delivery-filters{grid-template-columns:1fr 1fr}.delivery-filter-actions{grid-column:1/-1}.delivery-filter-actions button{flex:1}}
@media(max-width:699px){.deliveries-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.deliveries-heading .secondary{max-width:180px}.delivery-filters{grid-template-columns:1fr;padding:13px}.delivery-date-range,.delivery-filter-actions{grid-column:auto}.delivery-period-choice,.delivery-type-filters{display:grid;grid-template-columns:1fr 1fr}.delivery-period-choice strong,.delivery-type-filters strong{grid-column:1/-1}.delivery-filter-actions{display:grid;grid-template-columns:1fr 1fr}.delivery-filter-actions .primary{grid-column:1/-1}.delivery-summary-header{margin-bottom:18px}.delivery-summary-header h1{font-size:1.45rem}.delivery-summary-header>strong{font-size:.85rem}.delivery-summary-table{min-width:760px}.delivery-summary-table th,.delivery-summary-table td{padding:8px 7px}.delivery-share-actions{grid-template-columns:1fr}}
@media print{.no-print,.topbar,.bottom-nav,.flash{display:none!important}.app-shell{padding:0!important;max-width:none!important}.delivery-report{font-size:10pt}.delivery-summary-header{margin:0 0 20px}.delivery-summary-header h1{font-size:22pt}.delivery-summary-day{break-inside:avoid-page;margin-bottom:14px}.delivery-summary-day h2{font-size:12pt;background:#eee!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.delivery-table-wrap{overflow:visible}.delivery-summary-table{table-layout:fixed}.delivery-summary-table th,.delivery-summary-table td{padding:6px 5px;font-size:9.5pt}.delivery-summary-table tbody tr{break-inside:avoid}.delivery-summary-table small{font-size:8.5pt}.delivery-summary-table th:nth-child(1),.delivery-summary-table td:nth-child(1){width:9%}.delivery-summary-table th:nth-child(2),.delivery-summary-table td:nth-child(2){width:25%}.delivery-summary-table th:nth-child(3),.delivery-summary-table td:nth-child(3){width:21%}.delivery-summary-table th:nth-child(4),.delivery-summary-table td:nth-child(4){width:30%}.delivery-summary-table th:nth-child(5),.delivery-summary-table td:nth-child(5){width:15%}}


/* V3.3.0a-r3.1 - Correttivo finestra Condividi nel modulo Consegne */
.modal-backdrop[hidden]{display:none!important}
.modal-backdrop{
  position:fixed;
  inset:0;
  z-index:100000;
  display:flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  padding:calc(16px + env(safe-area-inset-top)) calc(16px + env(safe-area-inset-right)) calc(16px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left));
  background:rgba(35,28,24,.55);
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
}
.modal-backdrop .modal-card{
  width:min(460px,100%);
  max-height:calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
  margin:auto;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
}
@supports not (height:100dvh){
  .modal-backdrop .modal-card{max-height:calc(100vh - 32px)}
}
@media(max-width:699px){
  .modal-backdrop{align-items:flex-end;padding:12px 12px calc(12px + env(safe-area-inset-bottom))}
  .modal-backdrop .modal-card{width:100%;max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));border-radius:22px 22px 16px 16px}
}


/* V3.3.0a-r4 - Elenchi direttamente nella scheda Impostazioni */
.settings-lists-card .settings-card-content{padding:0;overflow:hidden}
.embedded-lists-wrap{width:100%;height:min(72vh,900px);min-height:520px;background:#fff;border-top:1px solid var(--line,#e6d8cf)}
.embedded-lists-frame{display:block;width:100%;height:100%;border:0;background:#fff}
body.embedded-view{background:#fff}
body.embedded-view .topbar,body.embedded-view .bottom-nav{display:none!important}
body.embedded-view .app-shell{max-width:none;margin:0;padding:16px 18px 28px}
body.embedded-view .section-head{margin-top:0}
body.embedded-view .section-head h1{font-size:1.35rem}
body.embedded-view .create-list-panel{margin-top:8px}
@media(max-width:700px){.embedded-lists-wrap{height:72vh;min-height:460px}.settings-lists-card .settings-card-content{padding:0!important}body.embedded-view .app-shell{padding:10px 8px 24px}}

/* V3.3.0a-r6 — azioni riunite nella scheda Catalogo & Backup */
.settings-card-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}

/* V3.3.0a-r7 — riorganizzazione grafica Catalogo & Backup */
.catalog-backup-layout{display:grid;gap:18px;margin-top:18px}
.catalog-backup-section{padding:20px;border:1px solid var(--line,#e6d8cf);border-radius:18px;background:var(--surface,#fff)}
.catalog-backup-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}
.catalog-backup-section-head h3{margin:3px 0 4px}
.catalog-backup-section-head p{margin:0;color:var(--muted,#756b65)}
.catalog-backup-kicker{display:block;font-size:.75rem;font-weight:800;letter-spacing:.08em;color:var(--primary,#8b5e3c)}
.catalog-backup-form{display:grid;gap:12px}
.catalog-backup-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:760px){.catalog-backup-section{padding:16px}.catalog-backup-section-head{flex-direction:column}.catalog-backup-section-head>a{width:100%;text-align:center}.catalog-backup-actions{grid-template-columns:1fr}}
.catalog-history-actions{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}.catalog-history-row{grid-template-columns:auto minmax(0,1fr);cursor:pointer}.catalog-history-row>input{width:20px;height:20px;margin:2px 0 0}.catalog-history-row:has(input:checked){border-color:var(--primary);outline:2px solid var(--primary);outline-offset:1px;background:#f6eee8;box-shadow:0 8px 22px rgba(118,85,65,.12)}.catalog-history-row:has(input:checked) strong{color:var(--primary-dark)}.catalog-history-unavailable{opacity:.62;cursor:not-allowed}.catalog-history-unavailable input{cursor:not-allowed}@media(max-width:760px){.catalog-history-actions{display:grid;grid-template-columns:repeat(3,1fr)}.catalog-history-actions button{width:100%;padding-left:8px;padding-right:8px}.catalog-history-row{grid-template-columns:auto minmax(0,1fr)}}

/* V3.3.0a-r8.9 — finestra VAI AL della Dashboard */
.go-to-date-card{text-align:left;display:grid;gap:18px}.go-to-date-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.go-to-date-head h3{margin:0 0 5px}.go-to-date-head p{margin:0;color:var(--muted)}.go-to-date-field{display:grid;gap:8px;font-weight:800}.go-to-date-field input{width:100%;min-height:58px;border:1px solid var(--line);border-radius:14px;padding:10px 14px;background:#fff;color:var(--text);font-weight:800}@media(max-width:699px){.section-head .record-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.section-head .record-actions #openPrintPanel{grid-column:1/-1}}

/* V3.3.0a-r9.0 — Compleanni di oggi */
.birthdays-today-panel{margin-top:18px}.birthdays-today-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.birthdays-today-head h2{margin:0}.birthdays-today-head p{margin:4px 0 0}.birthdays-today-list{display:grid;gap:10px}.birthday-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:#fff}.birthday-person{display:grid;gap:4px}.birthday-person strong{font-size:1rem}.birthday-person small{color:var(--muted)}.birthday-actions{flex-wrap:wrap;justify-content:flex-end}
@media(max-width:760px){.birthday-row{align-items:stretch;flex-direction:column}.birthday-actions{display:grid;grid-template-columns:1fr 1fr}.birthday-actions .primary{grid-column:1/-1}.birthday-actions a{text-align:center}.birthdays-today-head p{font-size:.92rem}}


/* V3.4.0a-r1 — Pagamenti e acconti */
.payment-summary{margin-top:18px;padding:16px;border:1px solid #d8cec6;border-radius:14px;background:#fffaf6}
.payment-summary h3{margin-top:0}.payment-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end}
.payment-grid>span,.payment-grid>label{display:flex;flex-direction:column;gap:6px}.payment-grid>span{padding:10px;border-radius:10px;background:#fff;font-size:.92rem}.payment-grid strong{font-size:1.05rem}.payment-notes{grid-column:span 3}
@media(max-width:800px){.payment-grid{grid-template-columns:1fr 1fr}.payment-notes{grid-column:1/-1}}
@media(max-width:520px){.payment-grid{grid-template-columns:1fr}.payment-notes{grid-column:auto}}

/* V3.4.0a-r2 — calcolo economico e acconti integrati */
.integrated-economic{margin-top:18px;padding:18px;border:2px solid var(--brown,#765346);border-radius:18px;background:#fff}
.integrated-economic>h3{margin:0 0 16px}.economic-module-totals{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.economic-card{display:flex;flex-direction:column;gap:7px;padding:14px;border-radius:14px;background:#f5f0ec;min-height:72px;justify-content:center}.economic-card span{font-size:.9rem;color:#6c625c}.economic-card strong{font-size:1.15rem}.economic-card[hidden]{display:none!important}.economic-discount-row{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:12px;margin-top:14px;align-items:end}.economic-discount-row label{display:flex;flex-direction:column;gap:6px}.total-card{background:#eee6df}.payments-integrated{margin-top:22px;padding-top:20px;border-top:1px solid #ded3cb}.payments-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.payments-title h3{margin:0}.payments-title p{margin:4px 0 0;color:#6c625c}.payment-table-head,.payment-row{display:grid;grid-template-columns:1fr 1fr 1.2fr 1.7fr 42px;gap:10px;align-items:end}.payment-table-head{padding:0 4px 7px;font-size:.85rem;color:#6c625c}.payment-row{padding:10px 0;border-top:1px solid #eee5df}.payment-row label{display:flex;flex-direction:column;gap:5px}.payment-row label>span{display:none}.remove-payment{height:44px;border:0;border-radius:10px;background:#f4e8e5;font-size:1.4rem;cursor:pointer}.payment-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}.economic-note{margin:14px 0 0;color:#6c625c}
@media(max-width:1000px){.economic-module-totals{grid-template-columns:repeat(3,minmax(0,1fr))}.economic-discount-row{grid-template-columns:repeat(2,minmax(0,1fr))}.payment-table-head{display:none}.payment-row{grid-template-columns:repeat(2,minmax(0,1fr)) 42px}.payment-row label>span{display:block;font-size:.82rem;color:#6c625c}.payment-row label:nth-of-type(4){grid-column:1/3}.remove-payment{grid-column:3;grid-row:1}}
@media(max-width:620px){.integrated-economic{padding:14px}.economic-module-totals,.economic-discount-row,.payment-totals{grid-template-columns:1fr}.payments-title{align-items:flex-start;flex-direction:column}.payment-row{grid-template-columns:1fr 42px}.payment-row label,.payment-row label:nth-of-type(4){grid-column:1}.remove-payment{grid-column:2;grid-row:1}}


/* V3.4.0a-r8 — consensi WhatsApp */
.consent-client-panel{margin-top:18px}.consent-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.consent-panel-head h2{margin:0 0 5px}.consent-panel-head p{margin:0}.consent-status{display:inline-flex;align-items:center;border-radius:999px;padding:8px 12px;font-weight:800;font-size:.82rem;white-space:nowrap}.consent-status.neutral{background:#eef1f4;color:#4c5661}.consent-status.pending{background:#fff3cd;color:#7a5a00}.consent-status.success{background:#dff4e7;color:#176b38}.consent-status.danger{background:#fbe4e4;color:#9a2525}.consent-client-actions{display:flex;gap:10px;flex-wrap:wrap}.consent-client-actions button[disabled]{opacity:.55;cursor:not-allowed}.consent-release-note{margin:0}.consent-history{display:grid;gap:8px}.consent-history-row{padding:12px;border:1px solid var(--border,#ddd);border-radius:12px}.consent-history-row small{display:block;margin-top:4px}.form-grid .full{grid-column:1/-1}@media(max-width:700px){.consent-panel-head{display:grid}.consent-status{justify-self:start}}

/* V3.4.0a-r10 — azioni consenso cliente */
.consent-action-form{margin:0}.consent-client-actions .secondary,.consent-client-actions .primary,.consent-client-actions .danger{min-height:42px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.consent-history-row{background:#fff}.consent-history-row strong{display:block}.consent-history-row small{color:var(--muted)}
@media(max-width:620px){.consent-client-actions{display:grid;grid-template-columns:1fr 1fr}.consent-client-actions form,.consent-client-actions a{width:100%}.consent-client-actions button,.consent-client-actions a{width:100%}.consent-client-actions a:last-child{grid-column:1/-1}}

/* V3.4.0a-r12.2 — Consensi WhatsApp: valori di sistema non modificabili */
.setting-readonly{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border:1px solid var(--line,#ded3ca);border-radius:14px;background:rgba(239,235,231,.55);min-width:0}
.setting-readonly.full{grid-column:1/-1}
.setting-readonly>span{font-size:.92rem;color:var(--muted,#756f6a)}
.setting-readonly>strong{font-size:1rem;word-break:break-word}
.setting-readonly>small{color:var(--muted,#756f6a)}
.setting-readonly-url{font-weight:600}
@media(max-width:700px){.setting-readonly.full{grid-column:auto}.setting-readonly-url{font-size:.92rem}}

/* r12.6 - Gli allergeni associati restano nascosti finché CONTIENE ALLERGENI non è selezionato */
.allergen-toggle-panel[hidden]{display:none!important}
.conditioning-rules-list{display:grid;gap:14px;margin:14px 0}.conditioning-rule{border:1px solid var(--line,#e5d8cf);border-radius:16px;padding:14px}.conditioning-rule-head{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:12px}.conditioning-flow{display:grid;grid-template-columns:auto repeat(3,minmax(130px,1fr)) auto repeat(3,minmax(130px,1fr));gap:10px;align-items:end}.conditioning-flow>strong{align-self:center}@media(max-width:900px){.conditioning-flow{grid-template-columns:1fr 1fr}.conditioning-flow>strong{grid-column:1/-1}.conditioning-rule-head{flex-wrap:wrap}}

/* V3.4.0a-r12.11 — editor e motore Condizionamenti */
.conditioning-then-values[hidden]{display:none!important}
.conditioning-flow label{min-width:0}
.conditioning-flow select{width:100%}
[data-conditioning-field][hidden]{display:none!important}
/* V3.4.0a-r12.14 — multiselezione valori tramite checkbox, ottimizzata anche per touch */
.conditioning-values-label{display:block;margin-bottom:6px}
.conditioning-values-checklist{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:6px 12px;padding:10px;border:1px solid var(--line,#e5d8cf);border-radius:12px;background:#fff;max-height:220px;overflow:auto}
.conditioning-value-option{display:flex!important;align-items:flex-start;gap:8px;padding:6px 4px;cursor:pointer;line-height:1.25}
.conditioning-value-option input{width:auto!important;flex:0 0 auto;margin-top:2px}
.conditioning-values-empty{color:var(--muted,#756c66);font-size:.92rem;padding:4px}
.conditioning-then-values small{display:block;margin-top:5px;color:var(--muted,#756c66)}
/* V3.4.0a-r12.13 — condizionamenti raggruppati */
.conditioning-global-control{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;margin:8px 0 16px;border:1px solid var(--line,#e5d8cf);border-radius:14px;background:var(--soft,#f7f2ee)}
.conditioning-global-control small{color:var(--muted,#756c66)}
.conditioning-master{font-size:1.05rem}
.conditioning-condition{display:grid;grid-template-columns:auto repeat(3,minmax(150px,1fr));gap:10px;align-items:end;margin-bottom:14px}
.conditioning-condition>strong{align-self:center}
.conditioning-actions{border-top:1px solid var(--line,#e5d8cf);padding-top:12px}
.conditioning-actions-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.conditioning-actions-list{display:grid;gap:9px}
.conditioning-action-row{display:grid;grid-template-columns:minmax(170px,1fr) minmax(170px,1fr) minmax(220px,1.4fr) auto;gap:10px;align-items:end;padding:10px;border-radius:12px;background:var(--soft,#f7f2ee)}
.conditioning-action-row label{min-width:0}.conditioning-action-row select{width:100%}
.conditioning-action-remove{width:42px;height:42px;border:1px solid #d9c8bd;border-radius:10px;background:#fff;color:#a23a31;font-size:24px;line-height:1;cursor:pointer}
.conditioning-disabled{opacity:.55}
@media(max-width:900px){.conditioning-global-control{align-items:flex-start;flex-direction:column}.conditioning-condition{grid-template-columns:1fr 1fr}.conditioning-condition>strong{grid-column:1/-1}.conditioning-action-row{grid-template-columns:1fr 1fr}.conditioning-action-row .conditioning-then-values{grid-column:1/-1}.conditioning-action-remove{justify-self:end}.conditioning-actions-title{align-items:flex-start;flex-direction:column}}

/* V3.4.0a-r12.16 — Fondamenta Business */
.client-business-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;margin-bottom:16px;border:1px solid var(--line);border-radius:16px;background:#faf8f6}.client-business-row>div{display:grid;gap:2px}.client-business-row small{color:var(--muted)}.business-switch{display:inline-flex;align-items:center;cursor:pointer;flex:0 0 auto}.business-switch input{position:absolute;opacity:0;pointer-events:none}.business-switch-track{width:58px;height:32px;border-radius:999px;background:#a7a7a7;display:flex;align-items:center;padding:3px;transition:.2s ease;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}.business-switch-thumb{width:26px;height:26px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.22);transition:.2s ease}.business-switch input:checked+.business-switch-track{background:#2f9e44}.business-switch input:checked+.business-switch-track .business-switch-thumb{transform:translateX(26px)}.business-switch input:focus-visible+.business-switch-track{outline:3px solid rgba(47,158,68,.25);outline-offset:2px}.record-readonly .business-switch{cursor:default}.business-price-list-check{font-weight:800}.catalog-table-head,.catalog-table-row{grid-template-columns:90px minmax(180px,1.6fr) minmax(100px,.8fr) 70px 110px 70px 125px minmax(120px,1fr) 85px auto!important}@media(max-width:1000px){.catalog-table{overflow-x:auto}.catalog-table-head,.catalog-table-row{min-width:1180px}}


/* V3.4.0a-r12.17 — pricing Business senza modificare la vista Consumer */
.business-item-head,.business-only,.business-economic-summary{display:none!important}
.business-pricing-active .consumer-item-head{display:none!important}
.business-pricing-active .business-item-head{display:grid!important;grid-template-columns:minmax(82px,.55fr) minmax(210px,1.55fr) minmax(110px,.75fr) minmax(105px,.7fr) minmax(90px,.6fr) minmax(80px,.5fr) minmax(110px,.75fr) minmax(75px,.5fr) minmax(130px,1fr)}
.business-pricing-active .item-row.v3{grid-template-columns:minmax(82px,.55fr) minmax(210px,1.55fr) minmax(110px,.75fr) minmax(105px,.7fr) minmax(90px,.6fr) minmax(80px,.5fr) minmax(110px,.75fr) minmax(75px,.5fr) minmax(130px,1fr)}
.business-pricing-active .business-only{display:block!important}
.business-pricing-active .business-economic-summary{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}
.business-pricing-active .consumer-economic-discount{display:none!important}
.business-pricing-active .economic-module-card span::after{content:' netto'}
@media(max-width:900px){.business-pricing-active .business-item-head{display:none!important}.business-pricing-active .item-row.v3{grid-template-columns:1fr 1fr}.business-pricing-active .item-row.v3>.catalog-product-wrap,.business-pricing-active .item-row.v3>[name="item_note[]"]{grid-column:1/-1}}
@media(max-width:620px){.business-pricing-active .business-economic-summary{grid-template-columns:1fr}}

.business-pricing-active .consumer-general-card{display:none!important}

/* V3.4.0a-r12.18 — scheda cliente Business dedicata */
.business-client-fields{padding:16px;border:1px solid var(--line);border-radius:16px;background:#fbfaf8;display:grid;gap:12px}.business-client-fields[hidden],[data-consumer-only][hidden],[data-consumer-family][hidden]{display:none!important}.business-client-fields h3{margin:0;color:var(--primary)}.business-company-wide{grid-column:1/-1}.business-client-fields input{text-transform:none}@media(max-width:700px){.business-company-wide{grid-column:auto}}

/* V3.4.0a-r12.19 — distinzione clienti Business e campi stampa raggruppati */
.client-business-card{background:#f7fbf6!important;border:2px solid #78b884!important;box-shadow:0 4px 14px rgba(47,158,68,.08)}
.business-badge,.business-suggestion-badge{display:inline-flex;align-items:center;padding:2px 7px;border-radius:999px;background:#e1f3e5;color:#247c35;font-size:.68rem;font-style:normal;font-weight:900;letter-spacing:.04em;vertical-align:middle}
.business-badge-top{margin:0 0 6px;align-self:flex-start}
.client-suggestion strong{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.print-profile-fields{display:grid;gap:14px}.print-profile-fields[hidden]{display:none!important}.print-field-section{padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#fff}.print-field-section h4{margin:0 0 10px;color:var(--primary);font-size:.9rem;text-transform:uppercase;letter-spacing:.04em}.print-field-section .print-toggles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 16px}
@media(max-width:700px){.print-field-section .print-toggles{grid-template-columns:1fr}.client-business-card{border-width:1.5px!important}}

/* V3.4.0a-r12.21 — FARCITURE: unica scheda, elenco CREME condiviso */
.fillings-master-card{grid-column:1/-1;border:1px solid var(--line,#ded3ca);border-radius:20px;background:#fff;padding:0;overflow:hidden;box-shadow:0 5px 18px rgba(90,62,47,.05)}
.fillings-master-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 14px;border-bottom:1px solid var(--line,#ded3ca);background:#fbfaf8}
.fillings-master-head>div{display:grid;gap:3px}.fillings-master-head strong{font-size:1.08rem;letter-spacing:.04em}.fillings-master-head small{color:var(--muted,#75685f);font-weight:600}
.fillings-master-sections{display:grid;gap:0;padding:0 18px 18px}
.fillings-master-card .fillings-inner-card{margin:0;border:0;border-bottom:1px solid var(--line,#ded3ca);border-radius:0;box-shadow:none;background:transparent}
.fillings-master-card .fillings-inner-card:last-child{border-bottom:0}
.fillings-master-card .fillings-inner-card>.list-summary{padding-left:4px;padding-right:4px}
.fillings-master-card .fillings-inner-card .list-drag-handle{display:none}
@media(max-width:700px){.fillings-master-head{padding:15px}.fillings-master-sections{padding:0 12px 12px}.fillings-master-head small{font-size:.82rem}}

/* r12.22 — telefono normalizzato */
.phone-field{display:grid;grid-template-columns:minmax(82px,105px) 1fr;gap:8px;align-items:center}
.phone-field .phone-prefix,.phone-field .phone-number-only{width:100%;min-width:0}
.phone-field .phone-prefix{text-align:center;font-weight:800}
@media(max-width:620px){.phone-field{grid-template-columns:92px 1fr}}

/* V3.4.0a-r12.23 — azioni ordine/preventivo e duplicazione */
@media(max-width:699px){
  .order-form-section-head{display:grid;grid-template-columns:1fr;gap:10px}
  .order-form-section-head .record-actions{display:flex;flex-wrap:wrap;gap:6px;width:100%;justify-content:flex-start}
  .order-form-section-head .record-actions>*{width:auto;flex:0 1 auto}
  .order-form-section-head .record-actions .primary,
  .order-form-section-head .record-actions .secondary,
  .order-form-section-head .record-actions .danger,
  .order-form-section-head .record-actions button{
    min-height:36px;
    padding:0 10px;
    border-radius:10px;
    font-size:.76rem;
    line-height:1.05;
  }
  .order-form-section-head .record-actions form{display:inline-flex}
}
