:root{--ink:#173b36;--muted:#6f817d;--line:#e1e9e6;--accent:#075c4d}*{box-sizing:border-box}body{margin:0;background:#f6f9f8;color:var(--ink);font:14px Arial,sans-serif}a{color:var(--accent)}button,.button{background:var(--accent);color:#fff;border:0;border-radius:9px;padding:12px 16px;font-weight:700;text-decoration:none;cursor:pointer}input,select,textarea{width:100%;padding:11px;border:1px solid var(--line);border-radius:8px;background:#fff}textarea{min-height:80px}label{display:grid;gap:6px;font-size:12px;font-weight:700;margin:12px 0}h1,h2,h3{font-family:Georgia,serif}.eyebrow{font:bold 10px Arial;letter-spacing:1.5px;color:#7d8d89}.sidebar{position:fixed;inset:0 auto 0 0;width:240px;background:#fff;border-right:1px solid var(--line);padding:30px 22px;display:flex;flex-direction:column}.brand{font-size:21px;font-weight:800}.brand i,.publicNav i,.logo{display:inline-grid;place-items:center;background:var(--accent);color:#fff;width:35px;height:35px;border-radius:9px;font:normal 23px Georgia;margin-right:10px}.sidebar nav{display:flex;flex:1;flex-direction:column;gap:6px;margin-top:42px}.sidebar nav a,.sidebar nav span{padding:12px;border-radius:9px;text-decoration:none;color:#667873}.sidebar nav .active{background:#e7f0ed;color:var(--accent);font-weight:700}.sidebar nav .settingsLink{margin-top:auto;border-top:1px solid var(--line);border-radius:0;padding-top:18px}.account{display:grid;gap:5px;border-top:1px solid var(--line);padding-top:18px}.account small{color:var(--muted)}.workspace{margin-left:240px;padding:38px;max-width:1500px}.workspace header{margin-bottom:25px}.workspace header h1{font-size:34px;margin:5px 0}.workspace header p{color:var(--muted)}.notice{padding:13px 16px;background:#e4f3ed;border-radius:9px;margin-bottom:15px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.stats article,.panel{background:#fff;border:1px solid var(--line);border-radius:13px;padding:20px}.stats small,.stats strong{display:block}.stats small{color:var(--muted)}.stats strong{font:28px Georgia;margin-top:7px}.grid{display:grid;grid-template-columns:2fr 1fr;gap:16px;margin-top:16px}.panel h2{margin-top:0}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px;border-bottom:1px solid #edf1ef}th{font-size:10px;color:#899793}td small{display:block;color:var(--muted);font-size:10px}.status{padding:6px 9px;border-radius:20px;font-size:10px}.status.published{background:#e1f2eb;color:#156b58}.status.draft{background:#fff0d5;color:#8e650f}.create form>div{display:grid;grid-template-columns:1fr 1fr;gap:10px}.batchDetail,.settings{margin-top:16px}.detailGrid{display:grid;grid-template-columns:1.5fr 1fr;gap:30px}.check{display:flex;align-items:center;gap:8px}.check input{width:auto}.document{display:block;padding:10px;background:#f1f6f4;border-radius:8px;margin:7px 0}.qr{margin-top:18px;display:grid;justify-items:center;gap:6px}.auth{min-height:100vh;display:grid;place-items:center;padding:25px}.authCard{background:#fff;border:1px solid var(--line);border-radius:18px;padding:34px;width:min(430px,100%)}.authCard h1{font-size:28px}.authCard button{width:100%;margin-top:10px}.public{background:#fff}.publicNav{padding:24px 6vw;display:flex;justify-content:space-between;align-items:center}.publicNav span{color:#1e755f}.hero{padding:80px 8vw;background:#0b5a4d;color:#fff}.hero h1{font-size:54px;max-width:750px}.hero>p{max-width:650px;line-height:1.7}.batch{margin-top:35px;background:#fff;color:var(--ink);border-radius:13px;padding:18px;max-width:350px}.batch small,.batch strong{display:block}.batch strong{font:22px monospace;margin-top:5px}.publicMain{max-width:1100px;margin:auto;padding:60px 30px}.publicMain section{padding:38px 0;border-bottom:1px solid var(--line)}dl div{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--line)}dd{font-weight:700}.journey{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.journey article{background:#f4f8f6;border-radius:12px;padding:20px}.journey b{font:28px Georgia;color:var(--secondary)}.journey small{display:block;margin-top:22px;color:var(--muted)}
.codePreview{grid-column:1/-1;background:#edf5f2;border:1px solid #d8e8e2;border-radius:10px;padding:14px;margin:8px 0 14px}.codePreview small,.codePreview strong{display:block}.codePreview small{font-size:9px;color:var(--muted);letter-spacing:1px}.codePreview strong{font:14px monospace;margin-top:7px;overflow-wrap:anywhere}.downloadQr{display:block;font-weight:700;margin-top:8px}.batchHead{display:flex;align-items:center;justify-content:space-between;gap:15px}.button.subtle{background:#e6f0ed;color:var(--accent)}.coverEditor{background:#f3f7f5;border-radius:12px;padding:18px;margin:20px 0}.coverControls{display:grid;grid-template-columns:1fr 2fr;gap:14px}.colorGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.sizeGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.public{background:var(--page-bg);color:var(--page-text)}.publicNav strong{display:flex;align-items:center;font-size:var(--nav-text-size)}.publicNav img{width:var(--logo-size);height:var(--logo-size);object-fit:contain;margin-right:10px;vertical-align:middle}.hero{background-color:var(--banner-color);background-size:cover;background-position:center;min-height:540px;display:flex;flex-direction:column;justify-content:center}.hero.hasImage{min-height:680px}.hero h1{font-size:var(--hero-title-size)}.hero>p:not(.eyebrow){font-size:var(--hero-text-size)}.journey{grid-template-columns:1fr 1fr}.journey article{padding:0;overflow:hidden;background:#fff;box-shadow:0 12px 35px #173b3612}.journey article img{width:100%;height:260px;object-fit:cover;display:block}.journey article>div{padding:25px}.journey article.highlight{background:var(--secondary)}.journey article.wide{grid-column:1/-1;display:grid;grid-template-columns:1.2fr 1fr}.journey article.wide img{height:100%;min-height:320px}.publicMain{font-size:var(--body-text-size)}.publicMain h2{font-size:var(--section-title-size)}.publicMain section{padding:70px 0}.publicMain p{line-height:1.75}.inlineDelete{display:inline;margin:0}.danger{background:#a93838}.smallButton{padding:7px 10px;font-size:11px}.documentRow{display:flex;align-items:center;gap:8px}.documentRow .document{flex:1}.helpText{display:block;color:var(--muted);margin:-6px 0 14px}.catalogPage,.settingsPage{margin-top:16px}.pageHead{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.searchForm{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.searchForm input{width:250px}.searchForm select{width:210px}.productCards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.productCards a{display:grid;gap:8px;border:1px solid var(--line);border-radius:12px;padding:20px;text-decoration:none}.productCards strong{font:22px Georgia}.productCards small{color:var(--muted)}.productCards span{margin-top:12px;font-weight:700}.emptyState{padding:35px;text-align:center;color:var(--muted)}.eventEditor{border-left:3px solid #cee2dc;background:#f8faf9;border-radius:0 10px 10px 0;padding:14px 16px;margin:12px 0}.eventEditor[draggable=true]{cursor:grab}.eventEditor.dragging{opacity:.4}.eventEditor.dragOver{border-top:3px solid var(--accent)}.eventEditor summary{display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:12px;cursor:pointer}.eventEditor summary span:nth-child(2){display:grid;gap:6px}.eventEditor summary small{color:var(--muted);font-weight:400}.dragHandle{font-size:20px;color:var(--muted);cursor:grab}.eventEditor form{padding-top:10px}.editorDelete{display:block;margin-top:8px}.settingsPage{max-width:1000px}.sectionTitle{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.sectionTitle h3{margin-bottom:4px}.sectionTitle small,.reorderStatus{color:var(--muted)}.currentAttachment{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px;margin:12px 0}.currentAttachment img{width:150px;height:90px;border-radius:7px;object-fit:cover}.currentAttachment>div{display:grid;gap:6px}.currentAttachment small{font-size:9px;letter-spacing:1px;color:var(--muted)}.currentAttachment strong{overflow-wrap:anywhere}.currentAttachment.compact img{width:100px;height:70px}.removeCheck{color:#a93838;margin:3px 0}.editorTabs{display:flex;gap:8px;border-bottom:1px solid var(--line);margin:24px 0 0;padding-bottom:10px}.editorTabs button{background:#edf3f1;color:var(--ink)}.editorTabs button.active{background:var(--accent);color:#fff}.tabsActive [data-editor-panel]{display:none}.tabsActive [data-editor-panel].activePanel{display:block}.tabsActive .detailGrid{display:block}.creatorBox{border:1px solid var(--line);border-radius:12px;padding:18px;margin-top:24px;background:#fff}.creatorBox h3{margin-top:0}.mediaCreator summary{font:700 17px Georgia;cursor:pointer}.mediaCreator>form{padding-top:10px}
@media(max-width:800px){.sidebar{position:static;width:100%;height:auto}.sidebar nav{display:none}.account{margin-top:15px}.workspace{margin:0;padding:20px}.stats,.grid,.detailGrid,.journey,.colorGrid,.sizeGrid,.coverControls,.productCards{grid-template-columns:1fr}.pageHead{display:block}.searchForm{display:grid}.searchForm input,.searchForm select{width:100%}.hero h1{font-size:min(var(--hero-title-size),42px)}.hero,.hero.hasImage{min-height:560px}.journey article.wide{grid-column:auto;display:block}.journey article.wide img{height:260px;min-height:0}.batchHead{align-items:flex-start;flex-direction:column}}
.codeStructureCard{margin-top:28px;padding:24px;border:1px solid #d8e4e0;border-radius:18px;background:#f7faf9}.codeFieldRow{margin:16px 0;padding:18px;border-left:5px solid var(--accent,#075c4d);background:#fff;border-radius:12px}.fieldActions,.fieldActions form{display:flex;gap:8px;align-items:center}.dynamicCodeFields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.dynamicCodeFields[hidden]{display:none!important}.codeStructureCard hr{margin:28px 0}
@media(max-width:800px){.dynamicCodeFields{grid-template-columns:1fr}}
.codeBuilder{display:grid!important;grid-template-columns:155px minmax(0,1fr)!important;gap:12px!important;align-items:start;margin:14px 0}
.codePalette{position:sticky;top:18px;border:1px solid #dce7e3;border-radius:12px;padding:12px;background:#f7faf9;display:grid;grid-template-columns:1fr 1fr;gap:7px}
.codePalette>strong,.codePalette>small,.codePalette>hr{grid-column:1/-1}.codePalette>small{color:var(--muted);font-size:9px;line-height:1.35}.codePalette>hr{width:100%;border:0;border-top:1px solid var(--line);margin:5px 0}
.paletteItem{display:grid;place-items:center;gap:4px;min-height:58px;padding:8px 4px!important;border:1px dashed #c8d9d4!important;border-radius:9px!important;background:#fff!important;color:var(--accent)!important;font-size:17px!important;cursor:grab}
.paletteItem span{font-size:9px;color:#526a64}.paletteItem:hover{border-color:var(--accent)!important;background:#edf5f2!important}.paletteItem.compact{grid-column:1/-1;display:flex;justify-content:flex-start;min-height:34px;padding:7px 9px!important;font-size:12px!important}.paletteItem.compact span{font-size:10px}
.codeCanvas{min-width:0;border:1px solid #dce7e3;border-radius:12px;padding:12px;background:#fff;transition:.18s}.codeCanvas.receiving{border-color:var(--accent);background:#edf6f3;box-shadow:inset 0 0 0 2px #075c4d22}.codeCanvasHead{display:flex;justify-content:space-between;align-items:center;margin:0 2px 10px}.codeCanvasHead small{color:var(--muted);font-size:9px}.codeDropHint{text-align:center;border:1px dashed #cbdcd7;border-radius:8px;padding:8px;color:var(--muted);font-size:9px;margin-top:8px}
.inlineCodeFields{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
.inlineCodeField{position:relative;display:grid;grid-template-columns:22px minmax(145px,1fr) minmax(130px,1fr) 26px;gap:8px;align-items:end;padding:10px;border:1px solid #e0e9e6;border-radius:9px;background:#fbfcfc;transition:border-color .18s,box-shadow .18s}
.inlineCodeField:hover,.inlineCodeField.editing{border-color:#b9d4cc;box-shadow:0 4px 13px #173b360a}.inlineCodeField.dragging{opacity:.45}
.inlineCodeField>.dragHandle{grid-column:1;align-self:center;font-size:15px;color:#82938f}
.inlineFieldToggle{grid-column:2;display:flex;align-items:center;justify-content:space-between;text-align:left;background:transparent!important;color:var(--ink)!important;padding:6px 8px!important;border:0!important}.inlineFieldToggle span{display:grid;gap:2px}.inlineFieldToggle strong{font-size:11px}.inlineFieldToggle small{font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.6px}.inlineFieldToggle b{font-size:12px;color:#80918d}
.inlineMainValue{grid-column:3;margin:0!important;font-size:9px!important}.inlineMainValue input{padding:8px;font-size:11px}
.removeInlineField{grid-column:4;align-self:center;width:25px!important;height:25px;padding:0!important;border:1px solid #e5bcbc!important;border-radius:50%!important;background:#fff!important;color:#a93838!important;font-size:17px!important;line-height:1!important}.removeInlineField:hover{background:#fff0f0!important;border-color:#b43a3a!important}
.inlineFieldOptions{grid-column:2/5;display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:8px;border-top:1px solid var(--line);padding:9px 4px 1px;margin-top:2px}.inlineFieldOptions[hidden]{display:none}.inlineFieldOptions label{margin:0;font-size:9px}.inlineFieldOptions input,.inlineFieldOptions select{padding:8px;font-size:11px}.inlineFieldOptions .check{align-self:end;padding-bottom:8px;white-space:nowrap}.inlineFieldOptions .inlineDateFormat[hidden]{display:none}
.inlineCodeTools{display:flex!important;justify-content:flex-end!important;margin:10px 0 14px}.inlineCodeTools label{width:150px;margin:0;font-size:9px}.inlineCodeTools input{padding:8px}
@media(max-width:1100px){.codeBuilder{grid-template-columns:1fr!important}.codePalette{position:static;grid-template-columns:repeat(3,1fr)}.codePalette>strong,.codePalette>small,.codePalette>hr{grid-column:1/-1}.paletteItem.compact{grid-column:auto}.inlineCodeField{grid-template-columns:20px 1fr 25px}.inlineFieldToggle{grid-column:2}.inlineMainValue{grid-column:2;grid-row:2}.removeInlineField{grid-column:3;grid-row:1/3}.inlineFieldOptions{grid-column:2/4;grid-template-columns:1fr 1fr}.codeCanvasHead{align-items:flex-start;gap:6px;flex-direction:column}}
/* Barra orizzontale del compositore: evita che i campi escano dal pannello. */
.codeBuilder{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important;min-width:0;width:100%}
.codePalette{position:static;display:grid!important;grid-template-columns:repeat(6,minmax(72px,1fr))!important;gap:8px;width:100%;min-width:0}
.codePalette>strong,.codePalette>small:first-of-type{grid-column:1/-1}
.codePalette>hr,.codePalette>hr+small{display:none}
.paletteItem.compact{grid-column:auto;display:grid;place-items:center;justify-content:center;min-height:58px;padding:8px 4px!important;font-size:17px!important;text-align:center}
.paletteItem.compact span{font-size:9px}
.codeCanvas{display:block!important;width:100%;max-width:100%;min-width:0;overflow:hidden}
.codeCanvasHead{display:flex!important}
.codeDropHint{display:block!important}
.inlineCodeField{width:100%;max-width:100%;min-width:0;grid-template-columns:22px minmax(0,1fr) minmax(105px,.85fr) 26px}
.inlineFieldToggle,.inlineMainValue{min-width:0}
.inlineFieldOptions{display:grid!important}
.inlineFieldOptions[hidden],.inlineFieldOptions .inlineDateFormat[hidden]{display:none!important}
@media(max-width:1100px){.codePalette{grid-template-columns:repeat(3,minmax(72px,1fr))!important}.inlineCodeField{grid-template-columns:20px minmax(0,1fr) 25px}.inlineFieldOptions{display:grid!important;grid-template-columns:1fr 1fr!important}.inlineFieldOptions[hidden]{display:none!important}.codeCanvasHead{display:flex!important}}
/* La barra propone soltanto i tre tipi fondamentali. */
.codePalette{grid-template-columns:repeat(3,minmax(90px,1fr))!important}

/* Tracciabilità: le tre funzioni principali sono raccolte in un'unica area. */
.traceTabs{
  display:flex;
  gap:10px;
  margin:0 0 24px;
  padding:0 0 14px;
  border-bottom:1px solid var(--line)
}
.traceTabs a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:10px 22px;
  border-radius:12px;
  background:var(--soft);
  color:var(--ink);
  font-weight:800;
  text-decoration:none
}
.traceTabs a:hover{filter:brightness(.98)}
.traceTabs a.active{
  background:#000;
  color:#fff
}
.productsPlaceholder{min-height:260px}

@media(max-width:800px){
  .traceTabs{display:grid;grid-template-columns:1fr}
  .traceTabs a{width:100%}
}

/* Schede prodotto: archivio e compilazione guidata */
.catalogProductGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:24px}
.catalogProductCard{display:grid;grid-template-columns:78px 1fr;gap:16px;align-items:center;padding:18px;border:1px solid var(--line);border-radius:18px;background:#fff;color:var(--ink);text-decoration:none;box-shadow:0 8px 28px rgba(23,59,54,.04)}
.catalogProductCard:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(23,59,54,.08)}
.catalogProductCard img,.productImageEmpty{width:78px;height:78px;border-radius:14px;object-fit:cover;background:var(--soft);display:grid;place-items:center;font-size:28px}
.productArchive .productImageEmpty{color:#78918b}.productArchive .productImageEmpty svg{display:block;width:30px;height:30px}
.catalogProductCard h3{margin:0 0 4px}.catalogProductCard p,.catalogProductCard small{margin:0;color:var(--muted)}
.productArchive [data-catalog-view-panel][hidden]{display:none!important}.productArchive .catalog-view-switcher{display:flex;align-items:center;justify-content:flex-end;gap:4px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.productArchive .catalog-view-button{display:grid;place-items:center;width:40px;height:38px;min-height:38px;padding:0;border:1px solid #cfdad7;border-radius:8px;background:#f5f8f7;color:var(--accent)}.productArchive .catalog-view-button svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor}.productArchive .catalog-view-button.is-active,.productArchive .catalog-view-button[aria-pressed=true]{border-color:#111;background:#111;color:#fff}.productArchive .catalog-view-button:focus-visible{outline:3px solid #8fc9b8;outline-offset:2px}.productArchive .catalogProductCardActions{margin-top:12px}.productArchive .catalog-grid-view,.productArchive .catalog-list-view{min-width:0;max-width:100%}.productArchive .catalog-list-view{overflow:hidden}.productArchive .catalog-list-table{width:100%;margin-top:14px;table-layout:fixed;border:1px solid var(--line);border-radius:12px;border-collapse:separate;border-spacing:0;overflow:hidden}.productArchive .catalog-list-table th{padding:9px 10px;background:#f6f8f7}.productArchive .catalog-list-table td{padding:9px 10px;vertical-align:middle;overflow-wrap:anywhere}.productArchive .catalog-list-col-image{width:72px}.productArchive .catalog-list-col-name{width:20%}.productArchive .catalog-list-col-status{width:90px}.productArchive .catalog-list-col-updated{width:138px}.productArchive .catalog-list-col-action{width:92px}.productArchive .catalog-list-thumbnail img,.productArchive .catalog-list-thumbnail>span{display:grid;place-items:center;width:56px!important;min-width:56px;max-width:56px!important;height:56px!important;min-height:56px;max-height:56px!important;margin:0;border-radius:9px;object-fit:contain;background:var(--soft);color:var(--muted)}.productArchive .catalog-list-action .button{display:inline-block;padding:8px 10px}.productArchive .catalog-list-updated time{white-space:nowrap}
.productArchive .productArchiveHeaderControls{display:grid;justify-items:end;gap:10px}.productArchive .productArchiveHeaderControls .catalog-view-switcher{margin:0;padding:0;border:0}
.productArchive .catalog-selection-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:18px;padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:#f7f9f8}.productArchive .catalog-selection-toolbar label{display:flex;align-items:center;gap:9px;margin:0;font-size:13px}.productArchive .catalog-selection-toolbar input,.productArchive [data-catalog-product-select]{width:20px;height:20px;min-width:20px;margin:0;accent-color:var(--accent);cursor:pointer}.productArchive .catalog-selection-toolbar>span{color:var(--muted);font-size:12px;font-weight:700}.productArchive .catalog-bulk-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:10px;padding:12px 14px;border-radius:11px;background:#eaf3f0}.productArchive .catalog-bulk-actions>div{display:flex;align-items:center;gap:8px}.productArchive .catalog-bulk-actions form{display:block;margin:0}.productArchive .catalog-bulk-actions button{min-height:42px}.productArchive .catalogProductCard{position:relative}.productArchive .catalog-card-select{position:absolute;top:12px;right:12px;z-index:2;display:grid;place-items:center;width:40px;height:40px;margin:0;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 2px 8px #173b3614}.productArchive [data-catalog-product].is-selected{border-color:var(--accent);background:#f1f8f5;box-shadow:0 0 0 2px #075c4d1f}.productArchive .catalog-list-col-select{width:52px}.productArchive .catalog-list-select label{display:grid;place-items:center;width:40px;height:40px;margin:0}.productArchive .catalog-row-actions{display:flex;align-items:center;justify-content:flex-start;gap:6px}.productArchive .catalog-edit-action{display:grid;place-items:center;width:44px;height:44px;border:1px solid #cfdad7;border-radius:9px;background:#e6f0ed;color:var(--accent);text-decoration:none}.productArchive .catalog-edit-action svg{display:block;width:20px;height:20px}.productArchive .catalog-edit-action:focus-visible{outline:3px solid #8fc9b8;outline-offset:2px}
.productArchive [data-catalog-bulk-actions][hidden]{display:none!important}
.productArchive .catalogProductCardActions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.productArchive .catalogProductCardActions form,.productArchive .catalog-row-actions form{margin:0}.productArchive .catalog-list-col-action{width:108px}.productArchive .catalog-delete-action{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #e5b9b9;border-radius:9px;background:#fff3f3;color:#9e2828;cursor:pointer}.productArchive .catalog-delete-action svg{display:block;width:20px;height:20px}.productArchive .catalog-delete-action:hover{border-color:#d18f8f;background:#fbe3e3}.productArchive .catalog-delete-action:focus-visible{outline:3px solid #8fc9b8;outline-offset:2px}
.productTabs .productTrashCount{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#e8efed;color:var(--accent);font-size:11px}.productTabs a.active .productTrashCount{background:#fff;color:var(--accent)}
.catalogTrashPage .catalogTrashSelection{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:20px;padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:#f7f9f8}.catalogTrashPage .catalogTrashSelection label{display:flex;align-items:center;gap:9px;margin:0}.catalogTrashPage .catalogTrashSelection input,.catalogTrashPage [data-trash-select]{width:20px;height:20px;min-width:20px;margin:0;accent-color:var(--accent);cursor:pointer}.catalogTrashPage .catalogTrashSelection>span{color:var(--muted);font-size:12px;font-weight:700}.catalogTrashPage .catalogTrashBulk{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:10px;padding:12px 14px;border-radius:11px;background:#eaf3f0}.catalogTrashPage .catalogTrashBulk[hidden]{display:none!important}.catalogTrashPage .catalogTrashBulk>div{display:flex;align-items:center;gap:8px}.catalogTrashPage .catalogTrashBulk form,.catalogTrashPage .catalogTrashAction form{margin:0}.catalogTrashPage .catalogTrashTable{width:100%;margin-top:14px;table-layout:fixed;border:1px solid var(--line);border-radius:12px;border-collapse:separate;border-spacing:0;overflow:hidden}.catalogTrashPage .catalogTrashTable th{padding:9px 8px;background:#f6f8f7;font-size:11px}.catalogTrashPage .catalogTrashTable td{padding:9px 8px;vertical-align:middle;font-size:12px;overflow-wrap:anywhere}.catalogTrashPage .catalogTrashTable th:first-child{width:48px}.catalogTrashPage .catalogTrashTable th:nth-child(2){width:68px}.catalogTrashPage .catalogTrashTable th:nth-child(7){width:95px}.catalogTrashPage .catalogTrashTable th:nth-child(8){width:120px}.catalogTrashPage .catalogTrashTable th:last-child{width:64px}.catalogTrashPage .catalogTrashImage img,.catalogTrashPage .catalogTrashImage>span{display:grid;place-items:center;width:52px;height:52px;margin:0;border-radius:9px;object-fit:contain;background:var(--soft);color:#78918b}.catalogTrashPage .catalogTrashImage svg{display:block}.catalogTrashPage .catalogTrashSelect label{display:grid;place-items:center;width:40px;height:40px;margin:0}.catalogTrashPage .catalogRestoreAction{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #b7d5ca;border-radius:9px;background:#eaf4f0;color:var(--accent);cursor:pointer}.catalogTrashPage .catalogRestoreAction:hover{background:#dceee7}.catalogTrashPage .catalogRestoreAction:focus-visible{outline:3px solid #8fc9b8;outline-offset:2px}.catalogTrashPage [data-trash-product].is-selected{background:#f1f8f5}
.settingsPage .userPermissionRow>td{padding:0 12px 16px;border-top:0}.settingsPage .userPermissions{border:1px solid var(--line);border-radius:12px;background:#f8fbfa}.settingsPage .userPermissions summary{padding:12px 14px;color:var(--accent);font-weight:800;cursor:pointer}.settingsPage .userPermissions form{padding:0 14px 14px}.settingsPage .userPermissionGroups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.settingsPage .userPermissionGroups fieldset{min-width:0;margin:0;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff}.settingsPage .userPermissionGroups legend{padding:0 5px;color:var(--muted);font-size:11px;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.settingsPage .userPermissionOption{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:start;gap:9px;margin:0;padding:9px 0;border-bottom:1px solid #edf1ef;cursor:pointer}.settingsPage .userPermissionOption:last-child{border-bottom:0}.settingsPage .userPermissionOption input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--accent)}.settingsPage .userPermissionOption strong,.settingsPage .userPermissionOption small{display:block}.settingsPage .userPermissionOption small{margin-top:3px;color:var(--muted);line-height:1.35}.settingsPage .userPermissions form>button{display:block;margin:14px 0 0 auto}
.productWizard{max-width:1180px;margin:0 auto}
.wizardProgress{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:24px 0 30px;padding:0}
.wizardProgress a,.wizardProgress>span{position:relative;display:grid;gap:7px;justify-items:center;color:var(--muted);text-decoration:none;text-align:center;font-weight:750}
.wizardProgress a::before,.wizardProgress>span::before{content:attr(data-step);display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#e8edeb;color:var(--muted);font-weight:850;z-index:1}
.wizardProgress a:not(:last-child)::after,.wizardProgress>span:not(:last-child)::after{content:"";position:absolute;top:18px;left:58%;width:84%;height:3px;background:#e8edeb}
.wizardProgress a.active,.wizardProgress>span.active{color:var(--accent)}.wizardProgress a.active::before,.wizardProgress>span.active::before{background:var(--accent);color:#fff}
.wizardProgress a.done::before{background:#238b57;color:#fff}.wizardProgress a.done:not(:last-child)::after{background:#9fd4bd}
.variantEditor{display:grid;gap:20px}.variantMode{display:flex;gap:18px;flex-wrap:wrap;border:1px solid var(--line);border-radius:12px;padding:16px}.variantMode legend{font-weight:800;padding:0 6px}.variantMode label{display:flex;align-items:center;gap:8px;font-weight:700}.variantWorkspace{display:grid;gap:20px}.variantSectionHead{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.variantSectionHead h4,.variantSectionHead p{margin:0}.variantSectionHead p{margin-top:4px;color:var(--muted)}.variantAddAttribute{display:flex;gap:8px;align-items:end}.variantAddAttribute select{min-width:220px}.variantAttributes,.variantRows{display:grid;gap:14px}.variantAttributeCard,.variantRow,.variantGenerator{border:1px solid var(--line);border-radius:12px;background:#fbfcfb;padding:16px;display:grid;gap:14px}.variantCardHead{display:flex;align-items:center;justify-content:space-between;gap:12px}.variantCardHead div{display:grid;gap:3px}.variantCardHead small{color:var(--muted)}.variantRemove{width:42px;height:42px;border-radius:10px;padding:0;background:#fff;color:#8b2635;border:1px solid #e8c8ce;font-size:22px}.variantValueRows{display:grid;gap:9px}.variantValueRow{display:grid;grid-template-columns:minmax(150px,1.3fr) minmax(130px,1fr) 90px auto 42px;gap:9px;align-items:end;padding:10px;border-radius:9px;background:#fff;border:1px solid #e4e9e7}.variantValueRow label,.variantFields label{margin:0}.variantFields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:end}.variantFields .variantImage{grid-column:span 2}.variantImage img{display:block;width:90px;height:70px;object-fit:cover;border-radius:8px;margin-top:8px}.variantProposals{max-height:320px;overflow:auto;border-top:1px solid var(--line);padding-top:12px;display:grid;gap:8px}.variantProposals[hidden]{display:none}.variantManual>div{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.variantManual h5{margin:0 0 8px}.variantEditorError{margin:0;padding:12px;border-radius:8px;background:#fff0f2;color:#8b2635;font-weight:700}.variantSummary{border:1px solid var(--line);border-radius:10px;padding:12px}.variantSummary summary{font-weight:800;cursor:pointer}.variantSummaryList{display:grid;gap:8px;margin-top:12px;max-height:420px;overflow:auto}.variantSummaryList article{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:12px;padding:9px;border-top:1px solid var(--line)}.variantSummaryList img{width:52px;height:52px;object-fit:cover;border-radius:8px}.variantSummaryList article>div{display:grid;gap:3px}.variantSummaryList article>div span{color:var(--muted);font-size:13px}
.variantEditor{gap:10px;color:#132d29}.variantStage{border:1px solid #dbe5e1;border-radius:10px;background:#fff;padding:12px;box-shadow:0 1px 2px #0d3f3510;animation:variantReveal .18s ease}.variantStage[hidden]{display:none}.variantProgressive{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:10px}.variantProgressive [data-variant-stage="4"],.variantProgressive [data-variant-stage="5"]{grid-column:1/-1}.variantStageTitle{display:flex;align-items:flex-start;gap:9px;margin-bottom:10px}.variantStageTitle>span{display:grid;place-items:center;flex:0 0 22px;width:22px;height:22px;border-radius:50%;background:#075c4d;color:#fff;font-size:12px;font-weight:800}.variantStageTitle>div{min-width:0;flex:1}.variantStageTitle h4{margin:2px 0 0;font-size:14px}.variantStageTitle p{margin:4px 0 0;color:#687a76;font-size:12px}.variantMode{display:grid;grid-template-columns:1fr 1fr;gap:12px;border:0;padding:4px 24px 0}.variantMode label{position:relative;display:flex;align-items:center;gap:14px;min-height:76px;margin:0;padding:14px 16px;border:1px solid #dbe4e1;border-radius:8px;background:#fff;cursor:pointer}.variantMode label:has(input:checked){border-color:#075c4d;background:#f7fbf9;box-shadow:0 0 0 1px #075c4d22}.variantMode input{position:absolute;opacity:0;width:1px;height:1px}.variantRadioMark{display:grid;place-items:center;flex:0 0 20px;width:20px;height:20px;border:1.5px solid #71817e;border-radius:50%}.variantMode input:checked+.variantRadioMark{border:6px solid #075c4d}.variantMode strong,.variantMode small{display:block}.variantMode small{margin-top:4px;color:#62736f;font-weight:400}.variantMode label:focus-within{outline:3px solid #96cbbb;outline-offset:2px}.variantAttributeList{display:grid;gap:6px}.variantAttributeCompact{display:grid;grid-template-columns:18px minmax(0,1fr) auto 54px 34px;align-items:center;gap:8px;min-height:42px;padding:6px 8px;border:1px solid #dfe7e4;border-radius:7px}.variantAttributeCompact input[type="number"]{height:30px;padding:5px;text-align:center}.variantAttributeCompact button{width:30px;height:30px;padding:0;border-radius:7px;background:#f2f6f4;color:#40534f}.variantDrag{color:#60736e}.variantCountBadge{padding:4px 8px;border-radius:5px;background:#e4f3e9;color:#215c49;font-size:10px;white-space:nowrap}.variantAddAttribute{display:grid;grid-template-columns:minmax(0,1fr) auto;margin-top:8px}.variantAddAttribute select,.variantAddAttribute button{min-width:0;height:38px;padding:8px 10px}.variantAddAttribute button{border:1px dashed #9eb1ac;background:#fff;color:#173b36}.variantAttributes{gap:0}.variantValueGroup{display:grid;grid-template-columns:110px minmax(0,1fr);align-items:start;gap:10px;padding:10px 0;border-bottom:1px solid #e6ecea}.variantValueGroup:last-child{border-bottom:0}.variantValueGroup>strong{padding-top:5px;font-size:12px}.variantChips{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.variantChip{display:inline-flex;align-items:center;border:1px solid #cfdbd7;border-radius:999px;background:#f6f9f8;overflow:hidden}.variantChip.inactive{opacity:.5}.variantChip button{min-height:28px;padding:4px 8px;background:transparent;color:#173b36;font-size:11px}.variantChip button+button{padding-left:2px}.variantChipAdd{display:grid;place-items:center;width:30px;height:30px;padding:0;border:1px solid #b9cbc5;border-radius:50%;background:#f8fbfa;color:#075c4d;font-size:18px}.variantValuePayload{display:none}.variantValueComposer{grid-column:2;display:grid;grid-template-columns:1fr 90px 1fr auto;gap:6px;margin-top:6px}.variantValueComposer[hidden]{display:none}.variantValueComposer input,.variantValueComposer select,.variantValueComposer button{height:36px;padding:7px 9px}.variantCombinationLayout{display:grid;grid-template-columns:.8fr 1.2fr;gap:28px;padding:0 24px 2px}.variantCombinationLayout>div:first-child{display:grid;align-content:start;gap:12px}.variantCombinationLayout [data-generate-combinations]{width:100%;background:#075c4d}.variantPreview{border-left:1px solid #dfe7e4;padding-left:28px}.variantPreview summary{font-weight:700;cursor:pointer}.variantProposals{border:0;padding:8px 0 0;max-height:190px}.variantProposal{display:flex;align-items:center;gap:8px;margin:0;padding:6px;border-bottom:1px solid #edf1f0;font-weight:500}.variantProposal input{width:auto}.variantManual details{border-top:1px solid #e1e9e6;padding-top:8px}.variantManual summary{cursor:pointer;font-size:12px;font-weight:700}.variantManual details>div{display:flex;align-items:end;gap:7px;flex-wrap:wrap;margin-top:8px}.variantManual label{margin:0}.variantBulkMenu{margin-left:auto}.variantBulkMenu button{height:34px;padding:7px 10px}.variantTable{border-top:1px solid #e1e8e5}.variantTableHead,.variantTableRow>summary{display:grid;grid-template-columns:minmax(150px,1.25fr) minmax(150px,1.25fr) minmax(120px,1fr) 80px 68px 58px 42px;align-items:center;gap:8px}.variantTableHead{padding:8px 10px;color:#5f716d;font-size:10px;font-weight:800}.variantTableRow{border-top:1px solid #e6ecea}.variantTableRow>summary{min-height:54px;padding:7px 10px;list-style:none;cursor:pointer}.variantTableRow>summary::-webkit-details-marker{display:none}.variantTableRow>summary>strong{font-size:12px}.variantSkuPreview{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.variantStatus{display:inline-block;padding:4px 7px;border-radius:12px;font-size:10px;font-style:normal}.variantStatus.active{background:#e1f2e7;color:#236347}.variantStatus.draft{background:#eef1f0;color:#52635f}.variantThumb img{display:block;width:38px;height:38px;object-fit:cover;border:1px solid #dfe7e4;border-radius:6px}.variantToggle{position:relative;display:block;width:34px;height:20px;margin:0}.variantToggle input{position:absolute;opacity:0}.variantToggle span{display:block;width:34px;height:20px;border-radius:20px;background:#c9d2cf;transition:.15s}.variantToggle span::after{content:"";display:block;width:16px;height:16px;margin:2px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:.15s}.variantToggle input:checked+span{background:#075c4d}.variantToggle input:checked+span::after{transform:translateX(14px)}.variantToggle input:focus-visible+span{outline:3px solid #8fc9b8;outline-offset:2px}.variantMore{display:grid;place-items:center;width:32px;height:30px;border:1px solid #dfe7e4;border-radius:6px;letter-spacing:1px}.variantDetail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px;background:#f8fbfa;border-top:1px solid #e1e8e5}.variantDetail label{margin:0}.variantSkuActions{display:flex;gap:6px;flex-wrap:wrap;margin-top:5px}.variantSkuActions button{padding:7px 9px;font-size:10px}.variantImage img{width:54px;height:54px}.variantDeactivate{align-self:end}.variantEditor~.wizardActions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.variantEditor~.wizardActions>*{width:100%}@keyframes variantReveal{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.variantStage{animation:none}.variantToggle span,.variantToggle span::after{transition:none}}
.variantEditor~.wizardActions button[name="intent"][value="next"]{background:#075c4d;color:#fff}.variantEditor~.wizardActions button[name="intent"][value="next"]:hover{background:#064b40}.variantEditor~.wizardActions button[name="intent"][value="next"]:focus-visible{outline:3px solid #8fc9b8;outline-offset:2px}
.variantEditor .variantTableRow{position:relative}.variantEditor .variantMore{padding:0;background:#fff;color:#173b36;cursor:pointer}.variantEditor .variantMore:focus-visible{outline:3px solid #8fc9b8;outline-offset:2px}.variantEditor .variantActionMenu{position:absolute;z-index:30;top:46px;right:8px;display:grid;width:min(240px,calc(100% - 16px));padding:7px;border:1px solid #d9e3df;border-radius:10px;background:#fff;box-shadow:0 14px 35px #0c332a29}.variantEditor .variantActionMenu[hidden]{display:none}.variantEditor .variantActionMenu button{min-height:38px;padding:8px 10px;border-radius:6px;background:#fff;color:#173b36;text-align:left;font-size:12px}.variantEditor .variantActionMenu button:hover,.variantEditor .variantActionMenu button:focus-visible{background:#eef6f3}.variantEditor .variantActionMenu button:focus-visible{outline:2px solid #75b9a5;outline-offset:0}.variantEditor .variantActionMenu button.dangerText{color:#9b2635}.variantEditor .variantActionMenu button:disabled{opacity:.45;cursor:not-allowed}.variantEditor .variantDetail select{width:100%;min-width:0}.variantEditor .variantImage input[type="hidden"]{display:none}
.variantEditor .variantEditorError.success{position:fixed;z-index:1300;top:18px;right:18px;width:min(360px,calc(100vw - 36px));margin:0;background:#e5f4eb;color:#205f47;box-shadow:0 12px 32px #0a302729}.variantEditor .variantStateGroup{display:grid;gap:7px;margin-top:10px}.variantEditor .variantStateGroup h5{display:flex;align-items:center;gap:7px;margin:0;padding:4px 2px;color:#38534d}.variantEditor .variantStateGroup h5 span{display:inline-grid;place-items:center;min-width:23px;height:20px;padding:0 6px;border-radius:999px;background:#e5efeb;color:#245848;font-size:10px}.variantEditor .variantStateGroup+.variantStateGroup{margin-top:17px;padding-top:12px;border-top:1px solid #dfe7e4}.variantEditor .variantStateGroup:last-child .variantTable{opacity:.82}
.variantEditor .variantRemovedGroup{margin-top:17px;border:1px solid #e1e7e5;border-radius:10px;background:#fafbfb}.variantEditor .variantRemovedGroup>summary{display:flex;align-items:center;gap:8px;padding:11px 13px;cursor:pointer;font-weight:700;color:#52635e}.variantEditor .variantRemovedGroup>summary span{display:inline-grid;place-items:center;min-width:23px;height:20px;padding:0 6px;border-radius:999px;background:#e8eceb;font-size:10px}.variantEditor .variantRemovedGroup>div{display:grid;gap:8px;padding:0 10px 10px}.variantEditor .variantRemovedRow{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px;border:1px solid #e2e8e6;border-radius:8px;background:#fff}.variantEditor .variantRemovedRow>div:first-child{display:grid;gap:3px;min-width:0}.variantEditor .variantRemovedRow small{color:#667872;overflow-wrap:anywhere}.variantEditor .variantRemovedActions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.variantEditor .variantRemovedActions .button{min-height:40px;margin:0}
@media(max-width:650px){.variantEditor .variantActionMenu{position:fixed;z-index:1200;inset:auto 10px 10px;width:auto;max-height:min(72dvh,520px);overflow-y:auto;padding:10px;border-radius:16px;box-shadow:0 0 0 100vmax #061f1999,0 18px 45px #061f1952}.variantEditor .variantActionMenu button{min-height:46px;font-size:14px}.variantEditor .variantDetail select{min-height:44px}.variantEditor .variantRemovedRow{align-items:stretch;flex-direction:column}.variantEditor .variantRemovedActions{display:grid;grid-template-columns:1fr}.variantEditor .variantRemovedActions .button{width:100%}}
@media(max-width:650px){.productArchive .catalogExportModal{width:calc(100% - 20px)}.productArchive .catalogExportModal form{gap:15px;padding:17px}.productArchive .catalogExportChoices{grid-template-columns:1fr}.productArchive .catalogExportActions{display:grid;grid-template-columns:1fr}.productArchive .catalogExportActions .button{width:100%}}
@media(max-width:900px) and (min-width:651px){.variantProgressive{grid-template-columns:minmax(0,1fr)}.variantProgressive [data-variant-stage]{grid-column:1}.variantTableHead,.variantTableRow>summary{grid-template-columns:minmax(150px,1.4fr) minmax(130px,1fr) 78px 58px 42px}.variantTableHead span:nth-child(3),.variantTableHead span:nth-child(5),.variantTableRow>summary .variantDesktopOnly{display:none}.variantDetail{grid-template-columns:repeat(2,minmax(0,1fr))}}
.wizardForm{padding:30px;border:1px solid var(--line);border-radius:22px;background:#fff}
.wizardTitle{margin:0 0 25px}.wizardTitle p{margin:8px 0 0;color:var(--muted)}
.productIdentityGrid{display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr);gap:26px;align-items:start;min-width:0}.productIdentityGrid>*{min-width:0}
.productImageField{width:100%;max-width:100%;min-width:0;height:auto;align-self:start;border:1px dashed #b9d1ca;border-radius:18px;padding:18px;background:var(--soft)}
.productImageField .currentAttachment{display:grid;grid-template-columns:minmax(70px,100px) minmax(0,1fr);align-items:center;justify-content:stretch;gap:14px;min-width:0;max-width:100%}
.productImageField .currentAttachment img{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:14px;margin:0}.productImageField .currentAttachment>div{min-width:0}.productImageField .currentAttachment strong,.productImageField small{overflow-wrap:anywhere;word-break:break-word}.productImageField .removeCheck{align-items:flex-start;min-width:0;white-space:normal}.productImageField input[type=file]{display:block;width:100%;max-width:100%;min-width:0;overflow:hidden}
.wizardFields{display:grid;gap:18px}.twoColumns{grid-template-columns:repeat(2,minmax(0,1fr))}
.measureField{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:10px}.measureField>span{grid-column:1/-1;font-weight:750}
.longTextGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.longTextGrid .step3Full{grid-column:1/-1}
.longTextGrid label{align-content:start}.longTextGrid textarea{min-height:170px;resize:vertical;line-height:1.55}
.claimsEditor{grid-column:1/-1;padding:20px;background:var(--soft);border-radius:16px}
.claimsEditor .claimGroupError{margin:0 0 12px;padding:10px 12px;border:1px solid #d99898;border-radius:9px;background:#fff1f1;color:#8d2525;font-weight:700}
.claimsEditor .claimGroupError[hidden]{display:none}
.claimsEditor input[aria-invalid="true"]{border-color:#b73535;outline:2px solid #f2cccc}
.step3TextField .step3FieldError{display:block;margin-top:8px;padding:10px 12px;border:1px solid #d99898;border-radius:9px;background:#fff1f1;color:#8d2525;font-weight:700}
.step3TextField .step3FieldError[hidden]{display:none}
.step3TextField textarea[aria-invalid="true"]{border-color:#b73535;outline:2px solid #f2cccc}
.productWizard .step3TextField,.productWizard .claimsEditor{scroll-margin-top:96px}
.sectionTitle{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:12px}
.sectionTitle h3{margin:0}.claimRows{display:grid;gap:10px}
.claimRow{display:grid;grid-template-columns:30px 1fr 42px;align-items:center;gap:8px}
.claimRow .dragHandle{color:var(--muted);text-align:center}.claimRow input{margin:0}
.removeClaim{width:42px;height:42px;padding:0;border-radius:50%;background:#fff;color:#b73535;border:1px solid #e5b9b9;font-size:24px}
.step3Tabs{display:grid;grid-template-columns:minmax(180px,220px) minmax(0,1fr);gap:24px;align-items:start;width:100%;min-width:0}
.step3TabList{display:grid;gap:8px;min-width:0}.step3TabList button{width:100%;min-width:0;padding:12px 14px;text-align:left;background:var(--soft);color:var(--ink)}.step3TabList button[aria-selected="true"]{background:var(--accent);color:#fff}.step3TabList button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.step3TabPanels,.step3TabPanel{width:100%;max-width:100%;min-width:0}.step3TabPanel[hidden]{display:none}.step3TabPanel:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.step3TabPanel label{margin:0}.step3TabPanel textarea{width:100%;max-width:100%;min-width:0;min-height:260px;resize:vertical;line-height:1.55}.step3TabPanel .claimsEditor{width:100%;max-width:100%;min-width:0}
.packagingEditor{display:grid;gap:16px}.packagingRows{display:grid;gap:18px}
.packagingRow{padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--soft)}
.packagingRowHead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.packagingRowHead strong{font-size:17px}
.packagingFields{display:grid;grid-template-columns:minmax(130px,.7fr) minmax(180px,1.4fr) minmax(110px,.55fr) minmax(140px,.7fr);gap:16px}.packagingFields label{align-content:start;min-width:0}.packagingFields input,.packagingFields select,.packagingFields textarea{width:100%;max-width:100%;min-width:0}.packagingFields textarea{min-height:100px;resize:vertical;line-height:1.5}.packagingDisposal,.packagingRecycling{grid-column:span 2}
.removePackaging{width:42px;height:42px;padding:0;border-radius:50%;background:#fff;color:#b73535;border:1px solid #e5b9b9;font-size:24px}
.packagingSummary{display:grid;gap:14px}.packagingSummary article{padding:18px;border-radius:14px;background:var(--soft)}.packagingSummary h4{margin:0 0 14px}
.packagingSummary dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.packagingSummary dl div{min-width:0}.packagingSummary dt{font-weight:750;margin-bottom:5px}.packagingSummary dd{margin:0;overflow-wrap:anywhere}
.wizardActions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:28px;padding-top:22px;border-top:1px solid var(--line);min-width:0;max-width:100%;flex-wrap:wrap}
.wizardActions>div{display:flex;gap:10px}.draftButton{background:var(--soft);color:var(--ink)}
.wizardSummary{display:grid;gap:20px;width:100%;min-width:0;max-width:100%}.wizardSummary>section,.wizardSummary>form,.summaryGrid,.summaryGrid>div,.summaryTexts,.summaryTexts>div,.packagingSummary,.packagingSummary article,.packagingSummary dl>div{min-width:0;max-width:100%}.wizardSummary dd{min-width:0;overflow-wrap:anywhere;word-break:break-word}.validationAlert{padding:14px 16px;border-radius:12px;background:#fff2d8;color:#815713;border:1px solid #edcf91}
.summaryHead{display:flex;align-items:center;gap:18px}.summaryHead img,.summaryIdentity .productImageEmpty{width:110px;height:110px;object-fit:cover;border-radius:16px}
.summaryIdentity{display:grid;grid-template-columns:140px minmax(0,1fr);align-items:center;gap:20px;min-width:0;max-width:100%}.summaryIdentity dl{min-width:0;margin:0}.summaryIdentity dl div{display:grid;grid-template-columns:minmax(115px,150px) minmax(0,1fr);justify-content:start;gap:14px}.summaryIdentity dd{margin:0;text-align:left}.summaryIdentity h3{margin:0 0 5px}
.fieldSettingsPage{max-width:1380px}
.fieldSettingsPage form{margin-top:20px}
.fieldSettingsPage .fieldStepTabs{display:flex;gap:7px;margin:18px 0 14px;padding-bottom:2px;overflow-x:auto;scrollbar-width:thin}
.fieldSettingsPage .fieldStepTabs button{flex:0 0 auto;width:auto;padding:8px 13px;border:1px solid var(--line);border-radius:9px;background:#f7faf9;color:var(--muted);font-size:12px;font-weight:750;box-shadow:none}
.fieldSettingsPage .fieldStepTabs button:hover{background:#eef6f3;color:var(--ink)}
.fieldSettingsPage .fieldStepTabs button.active{border-color:var(--accent);background:#e7f4ef;color:var(--accent);box-shadow:inset 0 -2px 0 var(--accent)}
.fieldSettingsPage .fieldSettingsGroup{margin-top:0}
.fieldSettingsPage .fieldSettingsGroup[hidden]{display:none}
.fieldSettingsPage .fieldSettingsTable{width:100%;table-layout:fixed;border:1px solid var(--line);border-collapse:separate;border-spacing:0;border-radius:16px;overflow:hidden;background:#fff}
.fieldSettingsPage .fieldSettingsTable th{padding:11px 10px;border-bottom:1px solid var(--line);background:var(--soft);color:var(--ink);font-size:11px;letter-spacing:.04em}
.fieldSettingsPage .fieldSettingsTable th:nth-child(1){width:18%}
.fieldSettingsPage .fieldSettingsTable th:nth-child(2),.fieldSettingsPage .fieldSettingsTable th:nth-child(3){width:7%;text-align:center}
.fieldSettingsPage .fieldSettingsTable th:nth-child(4){width:29%}
.fieldSettingsPage .fieldSettingsTable th:nth-child(5){width:32%}
.fieldSettingsPage .fieldSettingsTable th:nth-child(6){width:7%;text-align:center}
.fieldSettingsPage .fieldSettingsTable td{padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:middle}
.fieldSettingsPage .fieldSettingsTable tbody tr:last-child td{border-bottom:0}
.fieldSettingsPage .fieldSettingsTable tbody tr:nth-child(even){background:#fbfdfc}
.fieldSettingsPage .fieldSettingsTable tbody tr:hover{background:#f2f8f6}
.fieldSettingsPage .fieldIdentity strong,.fieldSettingsPage .fieldIdentity small{display:block}
.fieldSettingsPage .fieldIdentity strong{line-height:1.25}
.fieldSettingsPage .fieldIdentity small{margin-top:4px;color:var(--muted);font-size:11px;line-height:1.3;overflow-wrap:anywhere}
.fieldSettingsPage .fieldSettingsTable input,.fieldSettingsPage .fieldSettingsTable textarea{width:100%;max-width:100%;margin:0}
.fieldSettingsPage .fieldSettingsTable textarea{min-height:50px;height:50px;padding:8px 9px;resize:vertical;line-height:1.3}
.fieldSettingsPage .fieldSettingsTable .fieldBoolean{text-align:center}
.fieldSettingsPage .fieldSwitch{position:relative;display:inline-block!important;width:42px;height:24px;margin:0;cursor:pointer}
.fieldSettingsPage .fieldSwitch input{position:absolute;width:1px!important;height:1px!important;opacity:0;pointer-events:none}
.fieldSettingsPage .fieldSwitch span{display:block;width:42px;height:24px;border-radius:999px;background:#c9d4d1;box-shadow:inset 0 0 0 1px #b8c6c2;transition:background .18s ease,box-shadow .18s ease}
.fieldSettingsPage .fieldSwitch span::after{content:"";display:block;width:18px;height:18px;margin:3px;border-radius:50%;background:#fff;box-shadow:0 2px 5px #173b3633;transition:transform .18s ease}
.fieldSettingsPage .fieldSwitch input:checked+span{background:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.fieldSettingsPage .fieldSwitch input:checked+span::after{transform:translateX(18px)}
.fieldSettingsPage .fieldSwitch input:focus-visible+span{outline:3px solid #8fc8b8;outline-offset:2px}
.fieldSettingsPage .fieldSettingsTable .fieldOrder input{width:66px;margin:auto;text-align:center}
.fieldSettingsPage .fieldSettingsActions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}
.fieldSettingsPage .fieldSettingsActions button{min-width:190px}
.fieldSettingsPage .fieldSettingsActions .fieldResetButton{border:1px solid var(--line);background:#fff;color:var(--ink)}
.mobileMenuToggle,.mobileMenuClose,.mobileMenuOverlay{display:none}
.mobileMenuHead{display:block}
.summaryImageButton{position:relative;display:block;width:110px;height:110px;margin:auto;padding:0;border:0;border-radius:16px;background:transparent;overflow:hidden}.summaryImageButton img{display:block;width:100%;height:100%;object-fit:cover;border-radius:16px}.summaryImageButton span{position:absolute;right:7px;bottom:7px;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#fff;color:var(--ink);box-shadow:0 3px 12px #0003;font-size:21px}.summaryImageButton:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.productLightbox{width:min(92vw,1100px);height:min(90vh,900px);max-width:92vw;max-height:90vh;margin:auto;padding:50px;border:0;border-radius:18px;background:#101413;overflow:hidden}.productLightbox[open]{display:grid;place-items:center}.productLightbox::backdrop{background:#07100dcc}.summaryIdentity .productLightbox img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;border-radius:0}.productLightboxClose{position:absolute;top:10px;right:12px;display:grid;place-items:center;width:42px;height:42px;padding:0;border-radius:50%;background:#fff;color:#111;font-size:28px;line-height:1}
.summaryGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.summaryGrid div,.summaryTexts section{padding:16px;border-radius:14px;background:var(--soft)}
.summaryGrid strong,.summaryTexts strong{display:block;margin-bottom:5px}.summaryTexts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.summaryTexts>div{display:block;padding:16px;border-radius:14px;background:var(--soft)}.summaryTexts dt{margin-bottom:10px;font-weight:750}.summaryTexts dd{margin:0}.summaryTextContent{max-height:8.5em;overflow:hidden;line-height:1.55}.summaryTextItem.expanded .summaryTextContent{max-height:360px;overflow-y:auto;padding-right:8px}.summaryTextToggle{min-height:42px;margin-top:12px;padding:9px 14px;background:#e6f0ed;color:var(--accent)}.summaryTextToggle[hidden]{display:none}.summaryTexts p{white-space:pre-wrap}

@media(max-width:900px){
  .productIdentityGrid,.longTextGrid{grid-template-columns:1fr}
  .fieldSettingsPage .fieldSettingsTable,.fieldSettingsPage .fieldSettingsTable tbody,.fieldSettingsPage .fieldSettingsTable tr,.fieldSettingsPage .fieldSettingsTable td{display:block;width:100%}.fieldSettingsPage .fieldSettingsTable{border:0;border-radius:0;background:transparent}.fieldSettingsPage .fieldSettingsTable thead{display:none}.fieldSettingsPage .fieldSettingsTable tbody{display:grid;gap:14px}.fieldSettingsPage .fieldSettingsTable tbody tr{padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff!important}.fieldSettingsPage .fieldSettingsTable td{display:grid;grid-template-columns:minmax(105px,35%) minmax(0,1fr);align-items:center;gap:12px;padding:9px 0;border:0}.fieldSettingsPage .fieldSettingsTable td::before{content:attr(data-label);color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.03em;text-transform:uppercase}.fieldSettingsPage .fieldSettingsTable .fieldIdentity{display:block;padding-bottom:13px;margin-bottom:4px;border-bottom:1px solid var(--line)}.fieldSettingsPage .fieldSettingsTable .fieldIdentity::before{display:none}.fieldSettingsPage .fieldSettingsTable .fieldBoolean{text-align:left}.fieldSettingsPage .fieldBoolean label{justify-self:start}.fieldSettingsPage .fieldSettingsTable .fieldOrder input{width:90px;margin:0}.fieldSettingsPage .fieldSettingsActions{position:sticky;bottom:0;padding:14px 0;background:linear-gradient(transparent,#fff 24%)}.fieldSettingsPage .fieldSettingsActions button{width:100%}
  .productImageField{max-width:100%}
  .step3Tabs{grid-template-columns:minmax(150px,190px) minmax(0,1fr);gap:16px}
  .summaryGrid,.packagingSummary dl{grid-template-columns:repeat(2,minmax(0,1fr))}
  .packagingFields{grid-template-columns:repeat(2,minmax(0,1fr))}.packagingDisposal,.packagingRecycling{grid-column:span 1}
  .catalogTrashPage .catalogTrashTable,.catalogTrashPage .catalogTrashTable tbody,.catalogTrashPage .catalogTrashTable tr,.catalogTrashPage .catalogTrashTable td{display:block;width:100%}.catalogTrashPage .catalogTrashTable{border:0;background:transparent}.catalogTrashPage .catalogTrashTable thead{display:none}.catalogTrashPage .catalogTrashTable tbody{display:grid;gap:12px}.catalogTrashPage .catalogTrashTable tr{padding:14px;border:1px solid var(--line);border-radius:13px;background:#fff}.catalogTrashPage .catalogTrashTable td{display:grid;grid-template-columns:minmax(112px,34%) minmax(0,1fr);align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid #edf1ef}.catalogTrashPage .catalogTrashTable td::before{content:attr(data-label);color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.catalogTrashPage .catalogTrashTable td:last-child{border-bottom:0}.catalogTrashPage .catalogTrashTable .catalogTrashSelect{display:flex;justify-content:flex-end;padding-top:0}.catalogTrashPage .catalogTrashTable .catalogTrashSelect::before{margin-right:auto}.catalogTrashPage .catalogTrashTable .catalogTrashImage{display:block}.catalogTrashPage .catalogTrashTable .catalogTrashImage::before{display:none}.catalogTrashPage .catalogTrashTable .catalogTrashAction{grid-template-columns:minmax(112px,34%) minmax(0,1fr)}
  .settingsPage .userPermissionGroups{grid-template-columns:repeat(2,minmax(0,1fr))}
  .settingsPage .userManagementTable,.settingsPage .userManagementTable tbody,.settingsPage .userManagementTable tr,.settingsPage .userManagementTable td{display:block;width:100%;max-width:100%}.settingsPage .userManagementTable{overflow:visible}.settingsPage .userManagementTable thead{display:none}.settingsPage .userManagementTable tbody{display:grid;gap:0}.settingsPage .userManagementTable .userAccountRow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:16px;border:1px solid var(--line);border-bottom:0;border-radius:13px 13px 0 0;background:#fff}.settingsPage .userManagementTable .userAccountRow td{min-width:0;padding:0;border:0;overflow-wrap:anywhere}.settingsPage .userManagementTable .userAccountName,.settingsPage .userManagementTable .userAccountEmail{grid-column:1}.settingsPage .userManagementTable .userAccountStatus{grid-column:2;grid-row:1;align-self:start}.settingsPage .userManagementTable .userAccountActions{grid-column:1/-1}.settingsPage .userManagementTable .userActions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:4px}.settingsPage .userManagementTable .userActions form,.settingsPage .userManagementTable .userActions button{width:100%;min-width:0;margin:0}.settingsPage .userManagementTable .userActions button{min-height:44px;white-space:normal}.settingsPage .userManagementTable .userPermissionRow{margin:0 0 16px;padding:0;border:0}.settingsPage .userManagementTable .userPermissionRow>td{padding:0}.settingsPage .userManagementTable .userPermissions{border-radius:0 0 13px 13px}
}
.productArchive .productArchiveActions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.productArchive .productArchiveActions form{margin:0}.productArchive .productArchiveActions .button{margin:0}
.productArchive .catalogArchiveFilters{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:10px;margin:18px 0 0}.productArchive .catalogArchiveSearch{position:relative;min-width:0}.productArchive .catalogArchiveSearch input{width:100%;height:44px;padding-right:44px}.productArchive .catalogSearchClear{position:absolute;top:5px;right:5px;width:34px;height:34px;min-height:34px;padding:0;border-radius:8px;background:transparent;color:var(--muted);font-size:22px}.productArchive .catalogSearchStatus{position:absolute;left:12px;top:calc(100% + 3px);color:var(--muted);font-size:10px}.productArchive .catalogFilterToggle{height:44px;margin:0}.productArchive .catalogFilterToggle span{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:5px;border-radius:10px;background:var(--accent);color:#fff;font-size:10px}.productArchive .catalogFilterPanel{grid-column:1/-1;display:none;grid-template-columns:repeat(3,minmax(140px,1fr));gap:10px;padding:13px;border:1px solid var(--line);border-radius:12px;background:#f8faf9}.productArchive .catalogFilterPanel.is-open{display:grid;animation:catalogFilterReveal .16s ease}.productArchive .catalogFilterPanel label{min-width:0;margin:0;color:var(--muted);font-size:11px;font-weight:750}.productArchive .catalogFilterPanel select{width:100%;height:40px;margin-top:4px;padding:7px 9px}.productArchive .catalogFilterActions{display:flex;align-items:end;justify-content:flex-end;gap:8px}.productArchive .catalogFilterActions .button,.productArchive .catalogFilterActions button{height:40px;margin:0;padding:9px 14px}.productArchive .catalogArchiveResultCount{margin:8px 0 0;color:var(--muted);font-size:12px;font-weight:700}.productArchive .catalogVariantSummary{display:flex;align-items:center;flex-wrap:wrap;gap:5px 10px;margin-top:10px}.productArchive .catalogVariantSummary strong{font-size:12px}.productArchive .catalogVariantSummary small{font-size:11px}.productArchive .catalogVariantMatch{margin-top:7px;padding:6px 8px;border-radius:7px;background:#fff7db;color:#66500a;font-size:11px;overflow-wrap:anywhere}.productArchive .catalogVariantDetails{margin-top:9px;border-top:1px solid var(--line)}.productArchive .catalogVariantDetails summary{padding:9px 0;color:var(--accent);font-size:12px;font-weight:800;cursor:pointer}.productArchive .catalogVariantQuickList{display:grid;gap:7px;max-height:280px;overflow:auto}.productArchive .catalogVariantQuickList article{display:grid;gap:6px;padding:8px;border:1px solid #e4ebe8;border-radius:8px;background:#fafcfb}.productArchive .catalogVariantQuickList article>div{display:flex;align-items:center;gap:7px;min-width:0}.productArchive .catalogVariantQuickList img{width:32px!important;height:32px!important;min-width:32px;border-radius:6px;object-fit:cover}.productArchive .catalogVariantQuickList strong{min-width:0;font-size:11px;overflow-wrap:anywhere}.productArchive .catalogVariantQuickList dl{display:flex;flex-wrap:wrap;gap:5px 14px;margin:0}.productArchive .catalogVariantQuickList dl div{display:flex;gap:4px;font-size:10px}.productArchive .catalogVariantQuickList dt{color:var(--muted)}.productArchive .catalogVariantQuickList dd{margin:0;overflow-wrap:anywhere}.productArchive .catalog-list-variants small{display:block;margin-top:3px;color:var(--muted)}.productArchive .catalog-list-variants button{min-height:30px;margin-top:5px;padding:5px 8px;font-size:10px}.productArchive .catalogVariantDetailRow>td{padding:10px;background:#f7faf9}.productArchive .catalogVariantDetailRow .catalogVariantQuickList{grid-template-columns:repeat(2,minmax(0,1fr))}.catalogPagination{display:flex;align-items:center;justify-content:center;gap:12px;margin:16px 0 24px}.catalogPagination a,.catalogPagination span{padding:9px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--accent);font-size:12px;font-weight:750;text-decoration:none}.catalogPagination span{color:var(--muted)}
.productArchive .catalogExportModal{width:min(620px,calc(100% - 32px));max-width:620px;padding:0;border:0;border-radius:16px;background:#fff;color:var(--ink);box-shadow:0 22px 70px #061f1952}.productArchive .catalogExportModal::backdrop{background:#061f198f}.productArchive .catalogExportModal form{display:grid;gap:18px;margin:0;padding:22px}.productArchive .catalogExportHeader h3{margin:0 0 5px}.productArchive .catalogExportHeader p{margin:0;color:var(--muted)}.productArchive .catalogExportChoices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.productArchive .catalogExportChoices label{display:flex;align-items:flex-start;gap:10px;min-width:0;margin:0;padding:15px;border:1px solid var(--line);border-radius:12px;background:#fafcfb;cursor:pointer}.productArchive .catalogExportChoices label:has(input:checked){border-color:var(--accent);background:#eff7f4;box-shadow:0 0 0 2px #075c4d1a}.productArchive .catalogExportChoices input{width:18px;height:18px;min-width:18px;margin:2px 0 0;accent-color:var(--accent)}.productArchive .catalogExportChoices span{display:grid;gap:5px}.productArchive .catalogExportChoices small{color:var(--muted);line-height:1.45}.productArchive .catalogExportRemoved{display:flex;align-items:center;gap:9px;margin:0;padding:11px 13px;border-radius:9px;background:#f3f6f5}.productArchive .catalogExportRemoved[hidden]{display:none!important}.productArchive .catalogExportRemoved input{width:19px;height:19px;margin:0;accent-color:var(--accent)}.productArchive .catalogExportActions{display:flex;justify-content:flex-end;gap:9px}.productArchive .catalogExportActions .button{min-width:116px;margin:0}.productArchive .catalogExportActions .button:disabled{cursor:not-allowed;opacity:.5}
.productArchive .catalogSearchStatus{top:calc(100% + 3px)}.productArchive .catalogFilterToggle[aria-expanded=true]{border-color:var(--accent);background:#eaf3f0;color:var(--accent)}.productArchive .catalog-list-table{table-layout:fixed}.productArchive .catalog-list-table td{overflow-wrap:normal;word-break:normal}.productArchive .catalog-list-col-name{width:auto}.productArchive .catalog-list-col-brand{width:16%}.productArchive .catalog-list-code{width:18%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.productArchive .catalog-list-brand{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.productArchive .catalog-list-name>strong{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow-wrap:normal;word-break:normal}.productArchive .catalogListVariantMeta{display:block;margin-top:4px;color:var(--muted);font-size:11px}.productArchive .catalogListVariantToggle{min-height:30px;margin-top:5px;padding:5px 8px;background:#edf4f1;color:var(--accent);font-size:10px}.productArchive .catalogListVariantToggle:focus-visible,.productArchive .catalogFilterToggle:focus-visible{outline:3px solid #8fc9b8;outline-offset:2px}@keyframes catalogFilterReveal{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.productArchive .catalogArchiveFilters{align-items:end;gap:14px}.productArchive .catalogArchiveSearch{display:grid;gap:6px}.productArchive .catalogArchiveSearchLabel{display:block;margin:0;color:var(--muted);font-size:11px;font-weight:750}.productArchive .catalogFilterToggle{align-self:end;min-width:88px}.productArchive .catalogArchiveMeta{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:18px;margin:11px 0 0}.productArchive .catalogArchiveResultCount{margin:0}.productArchive .catalogSearchStatus{position:static;top:auto;left:auto;display:block;min-height:0;color:var(--muted);font-size:11px;text-align:right}.productArchive .catalog-selection-toolbar{margin-top:22px}
.productArchive .catalogArchiveFilters{align-items:end;column-gap:16px;row-gap:10px}.productArchive .catalogArchiveSearch{display:grid;grid-template-rows:auto 44px;gap:6px}.productArchive .catalogSearchClear{top:auto;bottom:5px}.productArchive .catalogArchiveResultCount{position:static;min-height:18px;margin:11px 0 22px;line-height:18px}.productArchive .catalog-selection-toolbar{margin-top:0}
@media(max-width:1023px){
  body.mobileMenuOpen{overflow:hidden}
  body.mobileMenuOpen .workspaceHeader .mobileMenuToggle{visibility:hidden;pointer-events:none}
  .appSidebar{position:fixed;inset:0 auto 0 0;z-index:1001;width:min(86vw,320px);height:100dvh;padding:20px 18px;background:#fff;box-shadow:12px 0 32px #07100d38;transform:translateX(-105%);visibility:hidden;transition:transform .22s ease,visibility 0s linear .22s;overflow-y:auto}
  .appSidebar.open{transform:translateX(0);visibility:visible;transition:transform .22s ease}
  .appSidebar .mobileMenuHead{display:flex;align-items:center;justify-content:space-between;gap:12px}
  .appSidebar .mobileMenuClose{display:grid;place-items:center;width:44px;height:44px;min-width:44px;padding:0;border-radius:50%;background:#edf3f1;color:var(--ink);font-size:28px;line-height:1}
  .appSidebar nav{display:flex;flex:1;margin-top:24px}
  .appSidebar nav a,.appSidebar nav span{min-height:46px;display:flex;align-items:center;padding:12px}
  .appSidebar .account{margin-top:18px;padding-bottom:max(4px,env(safe-area-inset-bottom))}
  .mobileMenuOverlay{position:fixed;inset:0;z-index:1000;width:100%;height:100%;padding:0;border-radius:0;background:#07100d99}
  .mobileMenuOverlay:not([hidden]){display:block}
  .workspace{margin-left:0;width:100%;max-width:100%}
  .workspaceHeader{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:start;gap:12px}
  .workspaceHeader .mobileMenuToggle{display:grid;place-items:center;width:44px;height:44px;padding:0;border-radius:10px;background:var(--accent);color:#fff;font-size:23px}
  .workspaceHeader>div{min-width:0}
  .workspaceHeader h1{font-size:clamp(25px,8vw,32px);overflow-wrap:anywhere}
  .workspaceHeader p{overflow-wrap:anywhere}
  .workspace .panel,.workspace .catalogPage,.workspace .productWizard{min-width:0;max-width:100%}
  .workspace .panel>table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .productArchive .pageHead,.productWizard .pageHead{display:grid;gap:14px}
  .productArchive .productArchiveHeaderControls{width:100%;justify-items:stretch}
  .productArchive .productArchiveActions,.productWizard .pageHead>.button{width:100%}
  .productArchive .productArchiveActions{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:12px;min-width:0}
  .productArchive .productArchiveActions form{display:block;width:100%;min-width:0}
  .productArchive .productArchiveActions .button{display:block;width:100%;max-width:100%;text-align:center;white-space:normal}
  .productArchive .catalog-view-switcher{flex-wrap:wrap}.productArchive .catalog-list-table{table-layout:auto}
  .productArchive .catalogArchiveFilters{grid-template-columns:minmax(0,1fr) auto}.productArchive .catalogFilterPanel{grid-template-columns:repeat(2,minmax(0,1fr))}
  .traceTabs.productTabs{display:flex;grid-template-columns:none;overflow-x:auto;padding-bottom:10px;scrollbar-width:thin}
  .traceTabs.productTabs a{flex:0 0 auto;width:auto;min-height:44px;white-space:nowrap}
  .catalogProductCard{min-width:0}
  .catalogProductCard>div{min-width:0;overflow-wrap:anywhere}
  .wizardForm{max-width:100%;min-width:0}
  .wizardFields,.measureField,.step3Tabs,.step3TabPanels,.step3TabPanel,.claimsEditor,.packagingEditor,.packagingRow,.packagingFields,.wizardSummary{min-width:0;max-width:100%}
  .claimRow input,.packagingFields input,.packagingFields select,.packagingFields textarea,.step3TabPanel textarea{min-width:0;max-width:100%}
  .notice,.validationAlert{max-width:100%;overflow-wrap:anywhere}
}
@media(min-width:1024px){
  .workspaceHeader .mobileMenuToggle,.appSidebar .mobileMenuClose,.mobileMenuOverlay{display:none!important}
  .appSidebar{transform:none!important;visibility:visible!important}
}
@media(max-width:650px){
  .productArchive .catalogArchiveFilters{grid-template-columns:minmax(0,1fr) auto}.productArchive .catalogFilterPanel{display:none;grid-template-columns:minmax(0,1fr);padding:10px}.productArchive .catalogFilterPanel.is-open{display:grid}.productArchive .catalogFilterActions{display:grid;grid-template-columns:1fr 1fr}.productArchive .catalogFilterActions .button,.productArchive .catalogFilterActions button{width:100%;text-align:center}.productArchive .catalogSearchStatus{position:static;display:block;min-height:14px;margin-top:2px}.productArchive .catalogVariantDetailRow{padding:0!important;border:0!important;background:transparent!important}.productArchive .catalogVariantDetailRow>td{display:block!important;padding:10px!important;border:1px solid var(--line)!important;border-radius:10px}.productArchive .catalogVariantDetailRow>td::before{display:none!important}.productArchive .catalogVariantDetailRow .catalogVariantQuickList{grid-template-columns:minmax(0,1fr)}.productArchive .catalog-list-variants button{width:auto;min-height:38px}.catalogPagination{flex-wrap:wrap;gap:7px}.catalogPagination a,.catalogPagination span{min-height:40px}
  .variantEditor{gap:8px}.variantStage{padding:10px}.variantProgressive{grid-template-columns:minmax(0,1fr)}.variantProgressive [data-variant-stage]{grid-column:1}.variantMode{grid-template-columns:1fr;padding:2px 0 0;gap:7px}.variantMode label{min-height:62px;padding:10px}.variantStageTitle{margin-bottom:8px}.variantStageTitle p{font-size:11px}.variantAddAttribute{grid-template-columns:minmax(0,1fr)}.variantAddAttribute button{width:100%}.variantAttributeCompact{grid-template-columns:minmax(0,1fr) auto 32px}.variantAttributeCompact .variantDrag,.variantAttributeCompact input[type="number"]{display:none}.variantValueGroup{grid-template-columns:minmax(0,1fr);gap:5px}.variantValueGroup>strong{padding:0}.variantValueComposer{grid-column:1;grid-template-columns:minmax(0,1fr) 78px}.variantValueComposer [data-new-label],.variantValueComposer button{grid-column:1/-1}.variantCombinationLayout{grid-template-columns:minmax(0,1fr);gap:12px;padding:0}.variantPreview{border-left:0;border-top:1px solid #dfe7e4;padding:10px 0 0}.variantManual details>div{display:grid}.variantManual label,.variantManual button{width:100%}.variantBulkMenu{width:100%;margin:7px 0 0}.variantBulkMenu button{width:100%}.variantTableHead{display:none}.variantTableRow>summary{grid-template-columns:minmax(0,1.4fr) minmax(70px,.8fr) 58px 38px;gap:6px;padding:7px 3px}.variantTableRow>summary .variantDesktopOnly{display:none}.variantTableRow>summary>strong{font-size:11px;overflow-wrap:anywhere}.variantSkuPreview{font-size:9px}.variantMore{width:30px}.variantDetail{grid-template-columns:minmax(0,1fr);padding:10px}.variantSkuActions{display:grid;grid-template-columns:1fr 1fr}.variantSkuActions button{white-space:normal}.variantEditor~.wizardActions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.variantEditor~.wizardActions>*{width:100%;margin:0}.variantEditor~.wizardActions>*:last-child{grid-column:1/-1}.variantEditor~.wizardActions button{width:100%}
  .variantSectionHead,.variantAddAttribute{display:grid;width:100%}.variantAddAttribute select{min-width:0;width:100%}.variantValueRow,.variantFields{grid-template-columns:minmax(0,1fr)}.variantFields .variantImage{grid-column:auto}.variantManual>div{display:grid}.variantManual label,.variantManual button{width:100%}.variantSummaryList article{grid-template-columns:44px minmax(0,1fr)}.variantSummaryList article>.status{grid-column:2}.variantSummaryList img{width:44px;height:44px}
  .productArchive .catalogProductGrid{grid-template-columns:minmax(0,1fr)}
  .wizardProgress{display:flex;overflow:auto;padding-bottom:8px}.wizardProgress a,.wizardProgress>span{min-width:100px}
  .wizardProgress a::after,.wizardProgress>span::after{display:none}.wizardForm{padding:20px}.twoColumns,.summaryGrid,.summaryTexts,.packagingFields,.packagingSummary dl{grid-template-columns:1fr}
  .productImageField .currentAttachment{grid-template-columns:1fr}.productImageField .currentAttachment img{width:100%;max-width:100%}
  .step3Tabs{grid-template-columns:1fr}.step3TabList{display:flex;width:100%;max-width:100%;overflow-x:auto;gap:8px;padding-bottom:8px;scrollbar-width:thin}.step3TabList button{flex:0 0 auto;width:auto;min-height:44px;white-space:nowrap}.step3TabPanel textarea{min-height:230px}
  .summaryIdentity{grid-template-columns:1fr;align-items:start}.summaryImageButton{width:min(180px,100%);height:auto;aspect-ratio:1/1;margin:0}.summaryIdentity dl div{grid-template-columns:1fr;gap:5px}.productLightbox{width:94vw;height:88vh;max-width:94vw;padding:48px 14px 14px}
  .packagingEditor .sectionTitle{align-items:stretch;flex-direction:column}.packagingEditor .addPackaging{width:100%}
  .wizardActions{align-items:stretch;flex-direction:column}.wizardActions>div{display:grid}.wizardActions button,.wizardActions a{width:100%}
  .productArchive,.productWizard,.fieldSettingsPage{padding:15px}
  .productArchive .catalog-selection-toolbar{align-items:flex-start;flex-direction:column;gap:8px}.productArchive .catalog-bulk-actions{align-items:stretch;flex-direction:column}.productArchive .catalog-bulk-actions>div{display:grid;grid-template-columns:1fr;gap:8px}.productArchive .catalog-bulk-actions form,.productArchive .catalog-bulk-actions button,.productArchive .catalog-bulk-actions form button{width:100%}
  .catalogTrashPage .catalogTrashSelection{align-items:flex-start;flex-direction:column;gap:8px}.catalogTrashPage .catalogTrashBulk{align-items:stretch;flex-direction:column}.catalogTrashPage .catalogTrashBulk>div{display:grid;grid-template-columns:1fr;gap:8px}.catalogTrashPage .catalogTrashBulk form,.catalogTrashPage .catalogTrashBulk button,.catalogTrashPage .catalogTrashBulk form button{width:100%}.catalogTrashPage .pageHead>a{display:block;width:100%;margin-top:14px;text-align:center}
  .settingsPage .userPermissionGroups{grid-template-columns:minmax(0,1fr)}.settingsPage .userPermissions form>button{width:100%}
  .settingsPage .userManagementTable .userAccountRow{grid-template-columns:minmax(0,1fr);gap:10px;padding:14px}.settingsPage .userManagementTable .userAccountName,.settingsPage .userManagementTable .userAccountEmail,.settingsPage .userManagementTable .userAccountStatus,.settingsPage .userManagementTable .userAccountActions{grid-column:1;grid-row:auto}.settingsPage .userManagementTable .userAccountStatus{justify-self:start}.settingsPage .userManagementTable .userActions{grid-template-columns:minmax(0,1fr)}
  .productArchive .catalog-view-switcher{display:flex;justify-content:flex-end;padding-top:12px}.productArchive .catalog-view-button{width:42px;height:40px}
  .productArchive .catalog-list-table,.productArchive .catalog-list-table tbody,.productArchive .catalog-list-table tr,.productArchive .catalog-list-table td{display:block;width:100%}.productArchive .catalog-list-table{margin-top:14px;border:0;background:transparent}.productArchive .catalog-list-table thead{display:none}.productArchive .catalog-list-table tbody{display:grid;gap:10px}.productArchive .catalog-list-table tr{height:auto;min-height:0;padding:12px;border:1px solid var(--line);border-radius:13px;background:#fff}.productArchive .catalog-list-table td{display:grid;grid-template-columns:minmax(100px,34%) minmax(0,1fr);align-items:center;gap:9px;height:auto;min-height:0;padding:7px 0;border-bottom:1px solid #edf1ef;overflow-wrap:anywhere}.productArchive .catalog-list-table td:last-child{border-bottom:0}.productArchive .catalog-list-table td::before{content:attr(data-label);color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.productArchive .catalog-list-table .catalog-list-thumbnail{display:block;padding:0 0 9px}.productArchive .catalog-list-table .catalog-list-thumbnail::before{display:none}.productArchive .catalog-list-thumbnail img,.productArchive .catalog-list-thumbnail>span{width:48px!important;min-width:48px;max-width:48px!important;height:48px!important;min-height:48px;max-height:48px!important}.productArchive .catalog-list-action .button{display:block;width:100%;min-height:42px;text-align:center}.productArchive .catalog-list-updated time{white-space:normal}
  .productArchive .catalog-list-table .catalog-list-select{display:flex;align-items:center;justify-content:flex-end;padding:0 0 7px;border-bottom:0}.productArchive .catalog-list-table .catalog-list-select::before{content:"Seleziona";display:block;margin-right:auto}.productArchive .catalog-list-table .catalog-list-action{grid-template-columns:minmax(100px,34%) minmax(0,1fr)}.productArchive .catalog-row-actions{justify-content:flex-start}
  .catalogProductCard{grid-template-columns:64px minmax(0,1fr);gap:12px;padding:14px}
  .catalogProductCard img,.catalogProductCard .productImageEmpty{width:64px;height:64px}
  .wizardTitle{margin-bottom:18px}.wizardTitle h3{overflow-wrap:anywhere}
  .measureField{grid-template-columns:minmax(0,1fr) 88px}
  .claimRow{grid-template-columns:22px minmax(0,1fr) 40px;gap:6px}
  .claimRow .removeClaim{width:40px;height:40px}
  .summaryHead{align-items:flex-start;justify-content:space-between;gap:10px}
  .summaryHead h3{overflow-wrap:anywhere}.summaryHead a{flex:0 0 auto}
  .summaryTexts>div,.summaryGrid div,.packagingSummary article{padding:13px}
  .fieldSettingsPage .fieldStepTabs{flex-wrap:nowrap;overflow-x:auto}
  .fieldSettingsPage .fieldSettingsActions{display:grid;gap:8px;position:sticky;bottom:0;padding:12px 0;background:linear-gradient(transparent,#fff 22%)}
  .fieldSettingsPage .fieldSettingsActions button{width:100%;min-width:0}
  .traceTabs:not(.productTabs){display:flex;flex-wrap:wrap;gap:8px;padding-bottom:12px}
  .traceTabs:not(.productTabs) a{flex:1 1 120px;width:auto;min-height:44px;padding:10px 12px;white-space:normal;text-align:center}
  .traceTabs:not(.productTabs) a.active{background:var(--accent);color:#fff}
  .workspace .lotTable,.workspace .lotTable tbody,.workspace .lotTable tr,.workspace .lotTable td{display:block;width:100%}
  .workspace .lotTable{overflow:visible;border:0}
  .workspace .lotTable thead{display:none}
  .workspace .lotTable tbody{display:grid;gap:12px}
  .workspace .lotTable tr{padding:13px;border:1px solid var(--line);border-radius:12px;background:#fff}
  .workspace .lotTable td{display:grid;grid-template-columns:minmax(78px,30%) minmax(0,1fr);align-items:start;gap:10px;padding:8px 0;border-bottom:1px solid #edf1ef;overflow-wrap:anywhere}
  .workspace .lotTable td:last-child{border-bottom:0}
  .workspace .lotTable td::before{content:attr(data-label);color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
  .workspace .lotTable td>a{min-width:0;overflow-wrap:anywhere;word-break:break-word}
  .workspace .lotTable .lotActions{display:flex;align-items:center;justify-content:flex-start;gap:9px;white-space:normal;flex-wrap:wrap}
  .workspace .lotTable .lotActions .duplicateButton,.workspace .lotTable .lotActions .smallButton{min-height:42px;padding:10px 13px}
  .create .codeBuilder{display:block!important;width:100%;max-width:100%}
  .create .codePalette{position:static;width:100%;max-width:100%;grid-template-columns:repeat(3,minmax(0,1fr))!important;margin:0 0 14px}
  .create .codeCanvas{display:block!important;width:100%;max-width:100%;padding:10px}
  .create .codeCanvasHead{display:grid!important;gap:4px;overflow-wrap:anywhere}
  .create .inlineCodeFields{width:100%;max-width:100%}
  .create .inlineCodeField{display:grid;grid-template-columns:28px minmax(0,1fr) 42px!important;grid-template-rows:auto auto auto;align-items:center;gap:9px;padding:12px}
  .create .inlineCodeField>.dragHandle{grid-column:1;grid-row:1;justify-self:center;align-self:center}
  .create .inlineFieldToggle{grid-column:2;grid-row:1;width:100%;min-width:0;min-height:42px;padding:6px!important}
  .create .inlineFieldToggle span{min-width:0}.create .inlineFieldToggle strong,.create .inlineFieldToggle small{overflow-wrap:anywhere}
  .create .inlineFieldToggle b{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:8px;background:#edf3f1}
  .create .removeInlineField{grid-column:3;grid-row:1;align-self:center;width:40px!important;height:40px!important;font-size:21px!important}
  .create .inlineMainValue{grid-column:1/4;grid-row:2;width:100%;min-width:0;margin:0!important}
  .create .inlineMainValue input{width:100%;max-width:100%;min-height:42px}
  .create .inlineFieldOptions{grid-column:1/4;grid-row:3;width:100%;grid-template-columns:1fr 1fr!important;gap:10px;padding-top:12px}
  .create .inlineFieldOptions label{min-width:0}
  .create .inlineCodeTools{justify-content:stretch!important}
  .create .inlineCodeTools label{width:100%;max-width:100%}
}
@media(max-width:650px){.productArchive .catalog-list-table .catalog-list-name,.productArchive .catalog-list-table .catalog-list-code,.productArchive .catalog-list-table .catalog-list-brand{overflow-wrap:normal;word-break:normal}.productArchive .catalog-list-table .catalog-list-code,.productArchive .catalog-list-table .catalog-list-brand{white-space:normal}.productArchive .catalogListVariantToggle{min-height:40px}.productArchive .catalogArchiveSearch input{min-width:0}.productArchive .catalogFilterToggle{min-width:82px}}
@media(max-width:650px){.productArchive .catalogArchiveFilters{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:10px}.productArchive .catalogFilterToggle{width:100%;align-self:stretch}.productArchive .catalogArchiveMeta{display:block;margin-top:10px}.productArchive .catalogSearchStatus{margin-top:3px;text-align:left}.productArchive .catalog-selection-toolbar{margin-top:22px}}
@media(max-width:650px){.productArchive .catalog-selection-toolbar{margin-top:0}.productArchive .catalogArchiveResultCount{margin:10px 0 22px}}
@media(max-width:430px){
  .workspace{padding:14px}
  .workspaceHeader{margin-bottom:18px}
  .workspace .stats article,.workspace .panel{padding:15px}
  .wizardForm{padding:16px}
  .wizardProgress a,.wizardProgress>span{min-width:88px;font-size:12px}
  .productWizard .sectionTitle{align-items:stretch;flex-direction:column}
  .productWizard .sectionTitle .button{width:100%;text-align:center}
  .packagingRow{padding:14px}
  .summaryIdentity{gap:14px}
  .fieldSettingsPage .fieldSettingsTable td{grid-template-columns:minmax(88px,32%) minmax(0,1fr);gap:8px}
  .fieldSettingsPage .fieldIdentity small{overflow-wrap:anywhere;word-break:break-word}
}
@media(max-width:360px){
  .workspace{padding:10px}
  .workspaceHeader{grid-template-columns:42px minmax(0,1fr);gap:9px}
  .workspaceHeader .mobileMenuToggle{width:42px;height:42px}
  .productArchive,.productWizard,.fieldSettingsPage{padding:12px}
  .catalogProductCard{grid-template-columns:1fr}
  .measureField{grid-template-columns:1fr}
  .summaryHead{display:grid;grid-template-columns:minmax(0,1fr) auto}
  .fieldSettingsPage .fieldSettingsTable td{grid-template-columns:1fr}
  .fieldSettingsPage .fieldSettingsTable td::before{margin-bottom:2px}
  .traceTabs:not(.productTabs) a{flex-basis:100%}
  .workspace .lotTable td{grid-template-columns:1fr;gap:4px}
  .create .codePalette{grid-template-columns:1fr!important}
  .create .inlineFieldOptions{grid-template-columns:1fr!important}
}

/* Archivio prodotti: layout approvato */
.productArchive{padding:28px 34px;border:1px solid #dbe3e1;border-radius:16px;background:#fff;box-shadow:0 12px 38px rgba(21,48,44,.04)}
.productArchive .pageHead{align-items:start}.productArchive .pageHead h2{margin-top:4px;font-size:34px;line-height:1.08}.productArchive .pageHead>div>p:last-child{margin-top:20px;font-size:15px}.productArchive .productArchiveHeaderControls{gap:14px}.productArchive .productArchiveActions{gap:14px}.productArchive .productArchiveActions .button{min-height:52px;padding:15px 28px;border-radius:12px;font-size:15px}.productArchive .catalog-view-switcher{gap:6px}.productArchive .catalog-view-button{width:48px;height:46px;border-radius:11px}
.productArchive .catalogArchiveFilters{display:grid;grid-template-columns:minmax(300px,1fr) 58px 250px;align-items:end;gap:16px;margin-top:26px}.productArchive .catalogArchiveSearch{position:relative;display:block}.productArchive .catalogArchiveSearch>svg{position:absolute;left:16px;top:50%;width:22px;height:22px;transform:translateY(-50%);pointer-events:none}.productArchive .catalogArchiveSearch input{height:58px;padding:12px 48px;border-radius:11px;font-size:15px}.productArchive .catalogSearchClear{top:12px;right:9px}.productArchive .catalogFilterToggle{display:flex;align-items:center;justify-content:center;gap:10px;height:58px;min-width:0;border:0;border-radius:11px;background:#edf2f1;color:#111;font-size:15px}.productArchive .catalogFilterToggle>svg{width:22px;height:22px}.productArchive .catalogFilterToggle span{margin:0;background:#111}.productArchive .catalogArchiveSort{display:grid;gap:5px;margin:0;color:#647370;font-size:12px;font-weight:800}.productArchive .catalogArchiveSort select{width:100%;height:43px;margin:0;padding:8px 12px;border-radius:9px;font-size:14px}.productArchive .catalogFilterPanel{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:0;padding:22px 26px;border-radius:11px;background:#fff;box-shadow:0 5px 18px rgba(21,48,44,.07)}.productArchive .catalogFilterPanel label{font-size:12px;color:#18342f}.productArchive .catalogFilterPanel select{height:44px;margin-top:7px;border-radius:8px}.productArchive .catalogFilterActions{grid-column:1/-1;justify-content:flex-start}.productArchive .catalogFilterActions .button,.productArchive .catalogFilterActions button{height:48px;padding:12px 22px;border-radius:10px;font-size:14px}.productArchive .catalogArchiveCounts{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:22px 0 18px;padding-top:20px;border-top:1px solid #dfe6e4;color:#6f7e7b;font-size:12px;font-weight:800}.productArchive .catalogArchiveCounts strong{color:#18342f}.productArchive .catalog-bulk-actions{margin:0 0 14px}
.productArchive .catalogProductGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:0}.productArchive .catalogProductCard{display:flex;flex-direction:column;min-width:0;min-height:344px;padding:16px 16px 12px;border-radius:12px;box-shadow:none;transition:border-color .15s,box-shadow .15s}.productArchive .catalogProductCard:hover{transform:none;border-color:#b9c8c4;box-shadow:0 8px 24px rgba(23,59,54,.07)}.productArchive .catalogProductCard header{position:relative;min-height:92px;padding-right:38px}.productArchive .catalogProductCard header .status{display:inline-flex;margin-bottom:8px;padding:4px 9px;font-size:10px}.productArchive .catalogProductCard h3{margin:0 0 6px;font-family:Georgia,'Times New Roman',serif;font-size:18px;line-height:1.18}.productArchive .catalogProductCard header p{margin:0;color:#53615f;font-size:13px;line-height:1.4}.productArchive .catalog-card-select{top:0;right:0;width:26px;height:26px;border-radius:6px;box-shadow:none}.productArchive .catalog-card-select input{width:18px;height:18px;min-width:18px}.productArchive .catalogCardBody{display:grid;grid-template-columns:minmax(82px,35%) minmax(0,1fr);align-items:center;gap:14px;flex:1;min-height:168px}.productArchive .catalogCardMedia{display:grid;place-items:center;min-width:0}.productArchive .catalogCardMedia img,.productArchive .catalogCardMedia .productImageEmpty{display:grid;place-items:center;width:100%;height:154px;border-radius:0;background:transparent;object-fit:contain;color:#c5cac9}.productArchive .catalogCardMedia .productImageEmpty svg{width:52px;height:52px}.productArchive .catalogCardFacts{margin:0;min-width:0}.productArchive .catalogCardFacts>div{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;padding:9px 0;border-bottom:1px solid #e2e8e6}.productArchive .catalogCardFacts>div:last-child{border-bottom:0}.productArchive .catalogCardFacts dt{font-size:10px;font-weight:800}.productArchive .catalogCardFacts dd{margin:0;text-align:right;font-size:12px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.productArchive .catalogProductCard footer{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:34px;padding-top:7px;border-top:1px solid #edf1ef;color:#71807d;font-size:10px}.productArchive .catalogProductCardActions{margin:0}.productArchive .catalog-edit-action,.productArchive .catalog-delete-action{width:30px;height:30px;border:0;background:transparent}.productArchive .catalog-edit-action svg,.productArchive .catalog-delete-action svg{width:16px;height:16px}.productArchive .catalogVariantMatch{margin:4px 0 6px;font-size:10px}
.catalogPaginationBar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:18px 0 2px}.catalogPerPage{margin:0}.catalogPerPage label{display:flex;align-items:center;gap:12px;margin:0;font-size:12px;font-weight:800}.catalogPerPage select{width:76px;height:40px;margin:0;padding:7px 11px;border-radius:9px}.catalogPagination{display:flex;align-items:center;gap:8px;margin:0}.catalogPagination a{display:grid;place-items:center;min-width:40px;height:40px;padding:0;border:1px solid #d2ddda;border-radius:9px;background:#fff;color:#102e29;text-decoration:none}.catalogPagination svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2}.catalogPagination .catalogPageNumber.is-active{border-color:#111;background:#111;color:#fff}.catalogPagination .is-disabled{opacity:.4;pointer-events:none}
.productArchive .catalog-list-table td{word-break:normal;overflow-wrap:normal}.productArchive .catalog-list-thumbnail>span{font-size:0}.productArchive .catalog-list-thumbnail>span::before{content:'▧';font-size:24px;color:#b8bfbd}
@media(max-width:1399px){.productArchive .catalogProductGrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1050px){.productArchive{padding:24px}.productArchive .catalogArchiveFilters{grid-template-columns:58px minmax(0,1fr)}.productArchive .catalogArchiveSearch{grid-column:1/-1}.productArchive .catalogFilterToggle{grid-column:1}.productArchive .catalogArchiveSort{grid-column:2}.productArchive .catalogProductGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.productArchive{padding:18px 14px}.productArchive .pageHead{gap:18px}.productArchive .pageHead h2{font-size:29px}.productArchive .pageHead>div>p:last-child{margin-top:12px}.productArchive .productArchiveHeaderControls{width:100%;justify-items:stretch}.productArchive .productArchiveActions{display:grid;grid-template-columns:1fr}.productArchive .productArchiveActions .button{width:100%;min-height:48px;padding:12px}.productArchive .catalog-view-switcher{justify-content:flex-end}.productArchive .catalogArchiveFilters{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.productArchive .catalogArchiveSearch{grid-column:1/-1}.productArchive .catalogFilterToggle,.productArchive .catalogArchiveSearch input{height:52px}.productArchive .catalogArchiveSort select{height:37px}.productArchive .catalogFilterPanel{grid-template-columns:minmax(0,1fr);padding:16px}.productArchive .catalogFilterActions{display:grid;grid-template-columns:1fr 1fr}.productArchive .catalogArchiveCounts{align-items:flex-start;gap:8px}.productArchive .catalogArchiveCounts span{text-align:right}.productArchive .catalogProductGrid{grid-template-columns:minmax(0,1fr)}.productArchive .catalogProductCard{min-height:330px}.productArchive .catalogCardBody{grid-template-columns:minmax(100px,38%) minmax(0,1fr)}.catalogPaginationBar{align-items:flex-start;flex-direction:column}.catalogPerPage label{flex-wrap:wrap}.catalogPagination{align-self:flex-end;max-width:100%;flex-wrap:wrap}}

/* Correzione geometrica mockup 003: selettori finali sul DOM reale */
.productArchive .catalogArchiveSearch{display:grid;grid-template-columns:48px minmax(0,1fr) 44px;grid-template-rows:auto 58px;align-self:end;gap:7px 0}
.productArchive .catalogArchiveSearch>.catalogArchiveSearchLabel{grid-column:1/-1;grid-row:1;display:block;min-width:0;margin:0;color:#18342f;font-size:11px;font-weight:800;line-height:1.2;white-space:nowrap}
.productArchive .catalogArchiveSearch>svg{position:static;z-index:1;grid-column:1;grid-row:2;place-self:center;display:block;width:22px;height:22px;margin:0;transform:none;pointer-events:none}
.productArchive .catalogArchiveSearch>input[type=search]{z-index:0;grid-column:1/-1;grid-row:2;width:100%;height:58px;padding:12px 44px 12px 48px}
.productArchive .catalogArchiveSearch>.catalogSearchClear{position:relative;z-index:1;top:auto;right:auto;bottom:auto;grid-column:3;grid-row:2;place-self:center;width:34px;height:34px;margin:0}
.productArchive button.catalogFilterToggle{position:relative;width:46px;height:46px;min-width:46px;min-height:46px;align-self:end;padding:0;border:1px solid #d2ddda;background:#f7f9f8;color:#102e29;font-size:0}
.productArchive button.catalogFilterToggle>svg{display:block;width:20px;height:20px;margin:0}
.productArchive button.catalogFilterToggle>span{position:absolute;top:-7px;right:-7px;min-width:20px;height:20px;margin:0;font-size:10px}
.productArchive .catalogProductCard{position:relative}
.productArchive .catalogProductCard header{position:static}
.productArchive .catalogProductCard>input.catalog-card-select{position:absolute;top:16px;right:16px;z-index:2;display:block;width:20px;height:20px;min-width:20px;margin:0;padding:0;border:0;background:transparent;box-shadow:none;cursor:pointer}
@media(max-width:1050px){.productArchive .catalogArchiveSearch{grid-template-rows:auto 58px}.productArchive button.catalogFilterToggle{grid-column:1;width:46px;height:46px;min-width:46px;min-height:46px}}
@media(max-width:650px){.productArchive .catalogArchiveFilters{grid-template-columns:58px minmax(0,1fr)}.productArchive .catalogArchiveSearch{grid-template-rows:auto 52px}.productArchive .catalogArchiveSearch>input[type=search]{height:52px}.productArchive button.catalogFilterToggle{width:46px;height:46px;min-width:46px;min-height:46px}.productArchive .catalogProductCard>input.catalog-card-select{top:16px;right:16px}}
.productArchive .catalog-view-action{display:grid;place-items:center;width:30px;height:30px;border:0;border-radius:8px;background:transparent;color:#314743;text-decoration:none}.productArchive .catalog-view-action svg{display:block;width:17px;height:17px}.productArchive .catalog-view-action:hover{background:#edf3f1;color:var(--accent)}.productArchive .catalog-view-action:focus-visible{outline:3px solid #8fc9b8;outline-offset:2px}.productArchive .catalog-row-actions .catalog-view-action{width:44px;height:44px;border:1px solid #cfdad7;background:#f5f8f7}.productArchive .catalog-list-col-action{width:154px}
.catalogReadView{display:grid;gap:18px}.catalogReadHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding-bottom:18px;border-bottom:1px solid var(--line)}.catalogReadTitle{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.catalogReadTitle h2{margin:4px 0 0}.catalogReadActions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.catalogReadActions .button{margin:0}.catalogReadSection{padding:20px;border:1px solid var(--line);border-radius:14px;background:#fff}.catalogReadSection>h3{margin:0 0 16px;font-size:20px}.catalogReadIdentityBody{display:grid;grid-template-columns:minmax(180px,280px) minmax(0,1fr);gap:26px;align-items:center}.catalogReadMainImage{display:grid;place-items:center;min-height:240px;border-radius:12px;background:#f7f9f8}.catalogReadMainImage img,.catalogReadMainImage>span{display:grid;place-items:center;width:100%;height:260px;object-fit:contain}.catalogReadMainImage>span svg{width:64px;height:64px;color:#bcc6c3}.catalogReadFacts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px;margin:0}.catalogReadFacts>div{display:grid;gap:5px;padding:12px 0;border-bottom:1px solid #e5ebe9}.catalogReadFacts dt{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}.catalogReadFacts dd{margin:0;line-height:1.5;overflow-wrap:anywhere}.catalogReadFacts .catalogReadWide{grid-column:1/-1}.catalogReadTechnical{grid-template-columns:repeat(4,minmax(0,1fr))}.catalogReadTexts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.catalogReadTexts article,.catalogReadPackaging>article{padding:16px;border:1px solid #e2e9e7;border-radius:11px;background:#fafcfb}.catalogReadTexts h4,.catalogReadPackaging h4{margin:0 0 10px}.catalogReadTexts p{margin:0;line-height:1.65;overflow-wrap:anywhere}.catalogReadTexts ul{margin:0;padding-left:20px}.catalogReadPackaging{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.catalogReadVariants{max-width:100%;overflow:hidden}.catalogReadVariants table{width:100%;margin:0;border-collapse:collapse}.catalogReadVariants th,.catalogReadVariants td{padding:10px;border-bottom:1px solid #e4ebe9;text-align:left;vertical-align:middle}.catalogReadVariants th{background:#f5f8f7;font-size:11px}.catalogReadVariants img,.catalogReadVariantFallback{display:grid;place-items:center;width:48px;height:48px;border-radius:8px;background:#f1f4f3;object-fit:contain}.catalogReadVariantFallback{color:var(--muted)}
@media(max-width:900px){.catalogReadTechnical{grid-template-columns:repeat(2,minmax(0,1fr))}.catalogReadTexts,.catalogReadPackaging{grid-template-columns:minmax(0,1fr)}}
@media(max-width:650px){.catalogReadHeader{align-items:stretch;flex-direction:column}.catalogReadActions{display:grid;grid-template-columns:minmax(0,1fr);justify-content:stretch}.catalogReadActions .button{width:100%;text-align:center}.catalogReadActions .catalogPdfButton{display:flex;align-items:center;justify-content:center;gap:10px}.catalogReadIdentityBody{grid-template-columns:minmax(0,1fr)}.catalogReadMainImage{min-height:190px}.catalogReadMainImage img,.catalogReadMainImage>span{height:210px}.catalogReadFacts,.catalogReadTechnical{grid-template-columns:minmax(0,1fr)}.catalogReadVariants table,.catalogReadVariants tbody,.catalogReadVariants tr,.catalogReadVariants td{display:block;width:100%}.catalogReadVariants thead{display:none}.catalogReadVariants tbody{display:grid;gap:12px}.catalogReadVariants tr{padding:12px;border:1px solid var(--line);border-radius:11px}.catalogReadVariants td{display:grid;grid-template-columns:minmax(105px,35%) minmax(0,1fr);gap:10px;padding:8px 0}.catalogReadVariants td::before{content:attr(data-label);color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase}.catalogReadVariants td:first-child{display:block}.catalogReadVariants td:first-child::before{display:none}}
/* Visualizza prodotto: layout mockup 004 */
.catalogReadView{gap:16px;padding:28px}.catalogReadHeader{align-items:center;padding:0 4px 22px}.catalogReadTitle h2{font-family:Georgia,'Times New Roman',serif;font-size:32px}.catalogReadActions .button{min-height:48px;padding:13px 22px;border-radius:10px}.catalogReadSection{padding:18px 20px;border-radius:12px}.catalogReadSection>h3{margin-bottom:14px;font-family:Georgia,'Times New Roman',serif;font-size:21px}.catalogReadIdentityBody{grid-template-columns:270px minmax(0,1fr);gap:38px;align-items:stretch}.catalogReadMainImage{position:relative;min-height:250px;background:#fafbfb}.catalogReadMainImage img,.catalogReadMainImage>span{height:250px}.catalogImageZoom{position:absolute;right:14px;bottom:14px;display:grid;place-items:center;width:42px;height:42px;min-height:42px;padding:0;border:0;border-radius:50%;background:#fff;color:#173b36;box-shadow:0 8px 24px rgba(17,42,38,.15)}.catalogImageZoom svg{width:20px;height:20px}.catalogImageZoom:focus-visible{outline:3px solid #8fc9b8;outline-offset:2px}.catalogReadIdentityInfo{display:grid;align-content:start;gap:18px}.catalogReadIdentityInfo>.catalogReadFacts{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px}.catalogReadDescription{grid-column:1/-1}.catalogReadExcerpt{position:relative;align-self:start;min-width:0;height:116px;padding:14px 16px 38px;border:1px solid #dfe7e5;border-radius:10px;background:#fff;overflow:hidden}.catalogReadExcerpt h4{margin:0 0 9px;color:#24423d;font-size:11px}.catalogReadClamp{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;line-height:1.5;overflow-wrap:anywhere}.catalogReadExcerpt>button{position:absolute;right:12px;bottom:8px;display:flex;align-items:center;gap:7px;min-height:28px;padding:3px 5px;border:0;background:#fff;color:#173b36;font-size:11px;font-weight:800}.catalogReadExcerpt>button span{font-size:15px}.catalogReadExcerpt.is-expanded{height:auto;min-height:116px;padding-bottom:42px}.catalogReadExcerpt.is-expanded .catalogReadClamp{display:block;overflow:visible;-webkit-line-clamp:unset;line-clamp:unset}.catalogReadTriptych{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(210px,.6fr) minmax(0,1.15fr);gap:14px;align-items:stretch}.catalogReadTriptych>.catalogReadSection{min-width:0}.catalogReadTechnical{grid-template-columns:repeat(4,minmax(0,1fr));column-gap:16px}.catalogReadClaims ul{margin:0;padding-left:20px;line-height:1.65}.catalogReadPackaging{grid-template-columns:minmax(0,1fr);gap:10px}.catalogReadPackaging>article{padding:0;border:0;background:transparent}.catalogReadPackaging h4{display:inline-block;margin:0 0 6px;padding:3px 8px;border-radius:12px;background:#dff4ea;color:#17684f;font-size:11px}.catalogReadPackaging .catalogReadFacts{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px}.catalogReadTexts{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:start}.catalogReadTexts .catalogReadExcerpt{width:100%}.catalogReadVariants{border:1px solid #e0e7e5;border-radius:10px}.catalogReadVariants th{padding:9px 12px;color:#65736f;font-size:10px;letter-spacing:.04em;text-transform:uppercase}.catalogReadVariants td{padding:10px 12px}.catalogImageLightbox{width:min(920px,calc(100vw - 40px));max-width:920px;padding:50px 22px 22px;border:0;border-radius:16px;background:#fff;box-shadow:0 24px 80px rgba(0,0,0,.32)}.catalogImageLightbox::backdrop{background:rgba(5,17,14,.78)}.catalogImageLightbox>button{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:38px;height:38px;min-height:38px;padding:0;border-radius:50%;background:#111;color:#fff}.catalogImageLightbox>button svg{width:20px;height:20px}.catalogImageLightbox>img{display:block;width:100%;max-height:calc(100vh - 110px);object-fit:contain}
@media(max-width:1100px){.catalogReadIdentityBody{grid-template-columns:230px minmax(0,1fr);gap:24px}.catalogReadTriptych{grid-template-columns:repeat(2,minmax(0,1fr))}.catalogReadPackagingSection{grid-column:1/-1}.catalogReadTexts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.catalogReadView{padding:16px;gap:12px}.catalogReadHeader{align-items:stretch}.catalogReadTitle h2{font-size:27px}.catalogReadIdentityBody{grid-template-columns:minmax(0,1fr)}.catalogReadMainImage{width:min(100%,320px);margin-inline:auto}.catalogReadIdentityInfo>.catalogReadFacts{grid-template-columns:minmax(0,1fr)}.catalogReadTriptych{grid-template-columns:minmax(0,1fr)}.catalogReadPackagingSection{grid-column:auto}.catalogReadTechnical{grid-template-columns:repeat(2,minmax(0,1fr))}.catalogReadTexts{grid-template-columns:minmax(0,1fr)}.catalogImageLightbox{width:calc(100vw - 20px);padding:48px 12px 12px;border-radius:12px}.catalogImageLightbox>img{max-height:calc(100vh - 85px)}}

/* Text excerpts: the heading and toggle stay fixed; only long expanded text scrolls. */
.catalogReadTexts{grid-auto-rows:auto;align-items:start}
.catalogReadExcerpt{display:flex;flex-direction:column;align-self:start;height:142px;min-height:142px;max-height:142px;padding:14px 16px 10px;overflow:hidden}
.catalogReadExcerpt h4{flex:0 0 auto}
.catalogReadClamp{flex:0 1 auto;max-height:6em;overflow:hidden;line-height:1.5;scrollbar-width:thin;scrollbar-color:#93a19d #edf2f0}
.catalogReadExcerpt:not(.is-expanded) .catalogReadClamp{-webkit-line-clamp:4;line-clamp:4;-webkit-mask-image:linear-gradient(to bottom,#000 0,#000 76%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0,#000 76%,transparent 100%)}
.catalogReadExcerpt>button{position:static;flex:0 0 auto;align-self:flex-end;margin-top:auto;background:#fff}
.catalogReadExcerpt.is-expanded{height:auto;min-height:142px;max-height:420px;padding-bottom:10px;overflow:hidden}
.catalogReadExcerpt.is-expanded .catalogReadClamp{display:block;flex:1 1 auto;min-height:0;max-height:340px;padding-right:8px;overflow-x:hidden;overflow-y:auto;-webkit-line-clamp:unset;line-clamp:unset;-webkit-mask-image:none;mask-image:none}
.catalogReadDescription.is-expanded{max-height:280px}
.catalogReadDescription.is-expanded .catalogReadClamp{max-height:200px}
.catalogReadClamp::-webkit-scrollbar{width:8px}
.catalogReadClamp::-webkit-scrollbar-track{border-radius:8px;background:#edf2f0}
.catalogReadClamp::-webkit-scrollbar-thumb{border:2px solid #edf2f0;border-radius:8px;background:#93a19d}
.catalogReadClamp:focus-visible{outline:2px solid #74ad9d;outline-offset:2px}
@media(max-width:1100px){.catalogReadExcerpt.is-expanded{max-height:360px}.catalogReadExcerpt.is-expanded .catalogReadClamp{max-height:280px}.catalogReadDescription.is-expanded{max-height:260px}.catalogReadDescription.is-expanded .catalogReadClamp{max-height:180px}}
@media(max-width:650px){.catalogReadExcerpt.is-expanded{max-height:340px}.catalogReadExcerpt.is-expanded .catalogReadClamp{max-height:260px}.catalogReadDescription.is-expanded{max-height:250px}.catalogReadDescription.is-expanded .catalogReadClamp{max-height:170px}}

/* Duplicazione prodotto */
.productArchive .catalog-duplicate-action{display:grid;place-items:center;width:30px;height:30px;min-height:30px;padding:0;border:0;border-radius:8px;background:transparent;color:#314743;cursor:pointer}.productArchive .catalog-duplicate-action svg{display:block;width:17px;height:17px}.productArchive .catalog-duplicate-action:hover{background:#edf3f1;color:var(--accent)}.productArchive .catalog-duplicate-action:focus-visible{outline:3px solid #8fc9b8;outline-offset:2px}.productArchive .catalog-row-actions .catalog-duplicate-action{width:44px;height:44px;min-height:44px;border:1px solid #cfdad7;background:#f5f8f7}.productArchive .catalog-list-col-action{width:204px}
.catalogDuplicateReadButton{display:inline-flex;align-items:center;justify-content:center;gap:8px}.catalogDuplicateReadButton svg{width:19px;height:19px;flex:0 0 auto}.catalogDuplicateReadButton:focus-visible{outline:3px solid #8fc9b8;outline-offset:2px}
.catalogDuplicateModal{width:min(480px,calc(100vw - 32px));max-width:480px;padding:0;border:0;border-radius:16px;background:#fff;color:#173b36;box-shadow:0 24px 80px rgba(0,0,0,.3)}.catalogDuplicateModal::backdrop{background:rgba(5,17,14,.65)}.catalogDuplicateModal form{position:relative;display:grid;gap:18px;margin:0;padding:26px}.catalogDuplicateModal header{padding-right:34px}.catalogDuplicateModal h3{margin:0 0 8px;font-family:Georgia,'Times New Roman',serif;font-size:25px}.catalogDuplicateModal header p,.catalogDuplicateNote{margin:0;line-height:1.5}.catalogDuplicateModal fieldset{display:grid;gap:10px;margin:0;padding:0;border:0}.catalogDuplicateModal fieldset label{display:flex;align-items:center;gap:11px;min-height:44px;margin:0;padding:10px 12px;border:1px solid #dfe7e5;border-radius:10px;background:#fafcfb;font-weight:700}.catalogDuplicateModal fieldset input{width:20px;height:20px;min-width:20px;margin:0;accent-color:var(--accent)}.catalogDuplicateNote{padding:11px 12px;border-radius:9px;background:#eef5f3;color:#405752;font-size:13px}.catalogDuplicateClose{position:absolute;top:16px;right:16px;display:grid;place-items:center;width:38px;height:38px;min-height:38px;padding:0;border:0;border-radius:50%;background:#f0f4f3;color:#173b36}.catalogDuplicateClose svg{width:19px;height:19px}.catalogDuplicateActions{display:flex;justify-content:flex-end;gap:10px}.catalogDuplicateActions .button{margin:0}.catalogDuplicateModal button:focus-visible,.catalogDuplicateModal input:focus-visible{outline:3px solid #8fc9b8;outline-offset:2px}.srOnly{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:650px){.catalogDuplicateModal{width:calc(100vw - 20px);border-radius:13px}.catalogDuplicateModal form{gap:15px;padding:22px 16px 16px}.catalogDuplicateActions{display:grid;grid-template-columns:minmax(0,1fr)}.catalogDuplicateActions .button{width:100%}.catalogDuplicateReadButton{width:100%}}


/* PDF / stampa scheda prodotto */
.catalog-pdf-action{display:grid;place-items:center;width:44px;height:44px;border:1px solid #cfdad7;border-radius:9px;background:#f3f7f5;color:var(--accent);text-decoration:none}
.catalog-pdf-action svg,.catalogPdfButton svg{display:block;width:20px;height:20px}
.catalog-pdf-action:hover{background:#e6f0ed;border-color:#a9c8bf}
.catalog-pdf-action:focus-visible,.catalogPdfButton:focus-visible{outline:3px solid #8fc9b8;outline-offset:2px}
.catalogPdfButton{display:inline-flex;align-items:center;gap:8px}
.catalogPrintToolbar{position:sticky;top:12px;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:16px;margin:-6px 0 18px;padding:10px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 8px 24px #173b3614}
.catalogPrintToolbar small{max-width:560px;color:var(--muted);line-height:1.45}.catalogPrintToolbar>div{display:flex;gap:8px;flex:0 0 auto}
.catalogPrintMasthead{display:flex;align-items:flex-start;justify-content:flex-start;padding:0 0 18px;margin-bottom:18px;border-bottom:2px solid var(--accent)}
.catalogPrintBrand{display:grid;justify-items:start;gap:8px}.catalogPrintMasthead img{width:auto;max-width:180px;height:62px;object-fit:contain;object-position:left center}.catalogPrintMasthead strong{font:700 20px Georgia,serif}.catalogPrintMasthead span{color:var(--muted);font-size:11px}.catalogPrintPlatform{margin-top:18px;padding-top:10px;border-top:1px solid var(--line);font-size:11px}.catalogPrintPlatform a{display:flex;align-items:center;gap:9px;color:var(--muted);text-decoration:none}.catalogPrintPlatformMark{display:inline-grid;place-items:center;min-width:74px;height:24px;padding:0 8px;border-radius:6px;background:var(--accent);color:#fff;font-size:9px;font-weight:900;letter-spacing:.08em}
@media(max-width:800px){.catalogPrintToolbar{position:static;display:grid}.catalogPrintToolbar>div{display:grid;grid-template-columns:1fr 1fr}.catalogPrintToolbar .button{width:100%}.catalogPrintMasthead{align-items:flex-start;flex-direction:column}.catalog-pdf-action{width:40px;height:40px}}
.catalogReadTextsGroup{display:contents}
@media print{
  @page{size:A4;margin:10mm}
  html,body{background:#fff!important;color:#111!important;font-size:8.8pt!important}
  body.catalog-print-mode .sidebar,
  body.catalog-print-mode .mobileMenuToggle,
  body.catalog-print-mode .mobileMenuOverlay,
  body.catalog-print-mode .catalogPrintToolbar,
  body.catalog-print-mode .catalogReadActions,
  body.catalog-print-mode .productTabs,
  body.catalog-print-mode .traceTabs,
  body.catalog-print-mode dialog,
  body.catalog-print-mode [data-read-toggle],
  body.catalog-print-mode .catalogImageZoom{display:none!important}
  body.catalog-print-mode .workspace{margin:0!important;padding:0!important;max-width:none!important}
  body.catalog-print-mode .workspace>header,body.catalog-print-mode .notice{display:none!important}
  body.catalog-print-mode .catalogReadView{max-width:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important}
  body.catalog-print-mode .catalogPrintMasthead{display:flex!important;align-items:flex-start!important;justify-content:flex-start!important;margin:0 0 4mm!important;padding:0 0 3mm!important;border-bottom:1px solid #cfdad7!important}
  body.catalog-print-mode .catalogPrintBrand{display:grid!important;justify-items:start!important;gap:1.5mm!important}
  body.catalog-print-mode .catalogPrintMasthead img{width:auto!important;max-width:42mm!important;height:13mm!important;object-fit:contain!important;object-position:left center!important}
  body.catalog-print-mode .catalogPrintMasthead strong{font-size:14pt!important}
  body.catalog-print-mode .catalogPrintMasthead span{font-size:8pt!important;color:#566a65!important;white-space:nowrap!important}
  body.catalog-print-mode .catalogReadHeader{margin-bottom:4mm!important;padding-bottom:3mm!important;border-bottom:1px solid #cfdad7!important}
  body.catalog-print-mode .catalogReadHeader .eyebrow{font-size:7pt!important;margin-bottom:1mm!important}
  body.catalog-print-mode .catalogReadHeader h2{font-size:19pt!important;margin:0!important}
  body.catalog-print-mode .catalogReadSection{padding:4mm!important;border-radius:3mm!important;box-shadow:none!important}
  body.catalog-print-mode .catalogReadSection h3{font-size:15pt!important;margin:0 0 3mm!important}
  body.catalog-print-mode .catalogReadIdentity{break-inside:avoid-page;page-break-inside:avoid}
  body.catalog-print-mode .catalogReadIdentityBody{grid-template-columns:30mm minmax(0,1fr)!important;gap:4mm!important}
  body.catalog-print-mode .catalogReadMainImage{width:30mm!important;height:30mm!important;min-height:30mm!important}
  body.catalog-print-mode .catalogReadMainImage img{max-width:100%!important;max-height:100%!important;object-fit:contain!important}
  body.catalog-print-mode .catalogReadFacts{gap:0 4mm!important}
  body.catalog-print-mode .catalogReadFacts div{min-width:0!important;padding:2mm 0!important}
  body.catalog-print-mode .catalogReadFacts dt{font-size:7pt!important;margin-bottom:.7mm!important}
  body.catalog-print-mode .catalogReadFacts dd{font-size:9pt!important;line-height:1.25!important}
  body.catalog-print-mode .catalogReadFacts dt,body.catalog-print-mode .catalogReadFacts dd{overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important}
  body.catalog-print-mode .catalogReadDescription{margin-top:3mm!important;padding:3mm!important}
  body.catalog-print-mode .catalogReadTriptych{display:grid!important;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr)!important;gap:3mm!important;margin-top:4mm!important;break-before:auto!important;page-break-before:auto!important}
  body.catalog-print-mode .catalogReadTriptych>section{align-self:start;break-inside:avoid-page;page-break-inside:avoid}
  body.catalog-print-mode .catalogReadTechnicalSection{grid-column:1/-1}
  body.catalog-print-mode .catalogReadTechnical{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:0 3mm!important}
  body.catalog-print-mode .catalogReadTechnical>div{display:block!important;padding:2mm 0!important}
  body.catalog-print-mode .catalogReadTechnical dt{display:block!important;margin-bottom:.7mm!important;font-size:7pt!important;white-space:normal!important}
  body.catalog-print-mode .catalogReadTechnical dd{display:block!important;font-size:9pt!important}
  body.catalog-print-mode .catalogReadClaims,body.catalog-print-mode .catalogReadPackagingSection{min-height:0!important}
  body.catalog-print-mode .catalogReadClaims ul{margin:0!important;padding-left:5mm!important}
  body.catalog-print-mode .catalogReadPackaging article{break-inside:avoid-page;page-break-inside:avoid}
  body.catalog-print-mode .catalogReadPackaging article h4{margin:0 0 2mm!important}
  body.catalog-print-mode .catalogReadContentSection{margin-top:4mm!important;break-before:auto!important;page-break-before:auto!important}
  body.catalog-print-mode .catalogReadTexts{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:start!important;gap:3mm!important}
  body.catalog-print-mode .catalogReadExcerpt{height:auto!important;min-height:0!important;margin:0!important;padding:2.7mm!important;break-inside:avoid-page!important;page-break-inside:avoid!important}
  body.catalog-print-mode .catalogReadExcerpt h4{font-size:8.5pt!important;margin:0 0 2mm!important}
  body.catalog-print-mode .catalogReadClamp,body.catalog-print-mode .catalogReadExcerpt.is-expanded .catalogReadClamp{display:block!important;max-height:none!important;height:auto!important;overflow:visible!important;padding:0!important;font-size:7.7pt!important;line-height:1.27!important;-webkit-line-clamp:unset!important;line-clamp:unset!important;white-space:pre-wrap!important}
  body.catalog-print-mode .catalogReadVariantsSection{margin-top:4mm!important;break-before:auto!important;page-break-before:auto!important;break-inside:avoid-page!important;page-break-inside:avoid!important}
  body.catalog-print-mode .catalogReadVariants{overflow:visible!important}
  body.catalog-print-mode .catalogReadVariants table{font-size:8pt!important;table-layout:fixed!important}
  body.catalog-print-mode .catalogReadVariants thead{display:table-header-group}
  body.catalog-print-mode .catalogReadVariants tr{break-inside:avoid-page;page-break-inside:avoid}
  body.catalog-print-mode .catalogReadVariants th,body.catalog-print-mode .catalogReadVariants td{padding:1.8mm!important;overflow-wrap:anywhere!important}
  body.catalog-print-mode .catalogReadVariants th:first-child{width:16mm!important}
  body.catalog-print-mode .catalogReadVariants th:last-child{width:19mm!important}
  body.catalog-print-mode .catalogReadVariants img{width:10mm!important;height:10mm!important;object-fit:contain!important}
  body.catalog-print-mode .catalogReadContentSection{break-inside:auto!important;page-break-inside:auto!important}
  body.catalog-print-mode .catalogReadContentSection>h3{break-after:avoid-page;page-break-after:avoid}
  body.catalog-print-mode .catalogReadSection,body.catalog-print-mode .catalogReadTriptych>section,body.catalog-print-mode .catalogReadPackaging article{orphans:3;widows:3}
  body.catalog-print-mode .catalogPrintPlatform{break-inside:avoid-page;page-break-inside:avoid;margin-top:4mm!important;padding-top:2.5mm!important;border-top:1px solid #cfdad7!important;font-size:7.5pt!important}
  body.catalog-print-mode .catalogPrintPlatform a{display:flex!important;align-items:center!important;gap:2mm!important;color:#566a65!important}
  body.catalog-print-mode .catalogPrintPlatformMark{min-width:22mm!important;height:6mm!important;border-radius:1.5mm!important;font-size:6.5pt!important}
  body.catalog-print-mode .catalogReadTexts{display:block!important}
  body.catalog-print-mode .catalogReadTextsGroup{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:start!important;gap:3mm!important}
  body.catalog-print-mode .catalogReadTextsPrimary{break-inside:auto!important;page-break-inside:auto!important}
  body.catalog-print-mode .catalogReadTextsSecondary{break-before:page!important;page-break-before:always!important;margin-top:0!important}
  body.catalog-print-mode .catalogReadExcerpt--inci{grid-column:1/-1!important}
  body.catalog-print-mode .catalogReadExcerpt--marketing-it{grid-column:1!important}
  body.catalog-print-mode .catalogReadExcerpt--marketing-en{grid-column:2!important}
  body.catalog-print-mode .catalogReadExcerpt--usage-it{grid-column:1!important}
  body.catalog-print-mode .catalogReadExcerpt--usage-en{grid-column:2!important}
  body.catalog-print-mode .catalogReadExcerpt--warnings,body.catalog-print-mode .catalogReadExcerpt--additional-info{grid-column:1/-1!important}
  body.catalog-print-mode .catalogReadVariantsSection{break-before:auto!important;page-break-before:auto!important;margin-top:3mm!important}
  body.catalog-print-mode a{color:inherit!important;text-decoration:none!important}
  body.catalog-print-mode *{print-color-adjust:exact;-webkit-print-color-adjust:exact}
}





/* Importazione CSV universale */
.catalogImportModal{width:min(1080px,calc(100% - 30px));max-height:calc(100vh - 30px);padding:0;border:0;border-radius:20px;background:#fff;color:var(--ink);box-shadow:0 24px 80px #102b2760}.catalogImportModal::backdrop{background:#102b2799}.catalogImportModal form{display:grid;gap:18px;padding:26px;max-height:calc(100vh - 30px);overflow-y:auto}.catalogImportHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.catalogImportHeader h3{margin:3px 0 8px;font-size:30px}.catalogImportHeader p{max-width:780px;margin:0;color:var(--muted);line-height:1.55}.catalogImportClose{display:grid;place-items:center;width:38px;height:38px;padding:0;border-radius:50%;background:#edf3f1;color:var(--ink);font-size:25px}.catalogImportSteps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.catalogImportSteps span{padding:10px;border-radius:9px;background:#edf2f0;color:var(--muted);font-size:12px;font-weight:800;text-align:center}.catalogImportSteps span.is-active{background:var(--accent);color:#fff}.catalogImportModal [data-import-step]{display:grid;gap:18px}.catalogImportModal [data-import-step][hidden]{display:none!important}.catalogImportDetected,.catalogImportSummary{padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:#f8faf9}.catalogImportDetected strong,.catalogImportDetected small,.catalogImportSummary strong,.catalogImportSummary p{display:block}.catalogImportDetected small,.catalogImportSummary p{margin:5px 0 0;color:var(--muted)}.catalogImportPreviewWrap{max-width:100%;overflow:auto;border:1px solid var(--line);border-radius:12px}.catalogImportPreview{min-width:760px;margin:0;font-size:11px}.catalogImportPreview th{position:sticky;top:0;background:#eef4f2;white-space:nowrap}.catalogImportPreview td{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.catalogMappingHead{display:flex;align-items:flex-end;justify-content:space-between;gap:15px}.catalogMappingHead h4{margin:0 0 4px;font:22px Georgia,serif}.catalogMappingHead p{margin:0;color:var(--muted)}.catalogMappingRows{display:grid;gap:8px}.catalogMappingRow{display:grid;grid-template-columns:minmax(180px,1fr) 24px minmax(230px,1fr);align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fbfcfc}.catalogMappingRow>div{min-width:0}.catalogMappingRow strong,.catalogMappingRow small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.catalogMappingRow small{margin-top:3px;color:var(--muted);font-weight:400}.catalogMappingRow>span{text-align:center;color:var(--muted);font-weight:900}.catalogMappingRow select{margin:0}.catalogImportModes{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0;padding:0;border:0}.catalogImportModes legend{grid-column:1/-1;margin-bottom:2px;font-weight:850}.catalogImportModes label{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:start;gap:10px;margin:0;padding:14px;border:1px solid var(--line);border-radius:12px;cursor:pointer}.catalogImportModes input,.catalogImportConfirm input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--accent)}.catalogImportModes strong,.catalogImportModes small{display:block}.catalogImportModes small{margin-top:4px;color:var(--muted);font-weight:400}.catalogImportNotice{padding:14px 16px;border-radius:12px;background:#edf5f2}.catalogImportNotice p{margin:5px 0 0;line-height:1.5}.catalogImportConfirm{display:flex;grid-template-columns:none;align-items:flex-start;gap:10px;margin:0;font-size:13px}.catalogImportActions{display:flex;justify-content:flex-end;gap:10px}.catalogImportActions button{min-width:150px}.catalogImportActions button:disabled{opacity:.65;cursor:wait}
@media(max-width:800px){.productArchive .productArchiveActions{display:grid;width:100%;grid-template-columns:1fr}.productArchive .productArchiveActions>*{width:100%;justify-content:center;text-align:center}.catalogImportModal{width:calc(100% - 14px);max-height:calc(100vh - 14px)}.catalogImportModal form{padding:17px;max-height:calc(100vh - 14px)}.catalogImportHeader h3{font-size:25px}.catalogImportSteps{grid-template-columns:1fr}.catalogImportSteps span{display:none}.catalogImportSteps span.is-active{display:block}.catalogMappingHead{display:grid}.catalogMappingRow{grid-template-columns:1fr}.catalogMappingRow>span{transform:rotate(90deg)}.catalogImportModes{grid-template-columns:1fr}.catalogImportActions{display:grid;grid-template-columns:1fr}.catalogImportActions button{width:100%}}

@media(hover:none){
  .actionIconButton:hover,.catalogTrashPage .catalogRestoreAction:hover,.catalogTrashPage .catalogPurgeAction:hover{background:transparent!important;color:#111!important}
}

/* v11 — collegamento facoltativo Tracciabilità ↔ Prodotti */
.lotProductSource{display:grid;gap:16px;margin-bottom:22px;padding:18px;border:1px solid var(--line,#d9e4e1);border-radius:18px;background:#fbfdfc}
.lotProductSource>h3{margin:0}
.lotSourceChoices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.lotSourceChoice{display:flex;gap:12px;align-items:flex-start;padding:16px;border:1px solid #d5e1de;border-radius:14px;background:#fff;cursor:pointer}
.lotSourceChoice.is-active{border-color:#173b36;box-shadow:0 0 0 1px #173b36 inset}
.lotSourceChoice input{margin-top:3px;accent-color:#173b36}
.lotSourceChoice span{display:grid;gap:4px}.lotSourceChoice small{color:#6d817d;line-height:1.35}
.lotCatalogFields,.lotManualFields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.lotCatalogFields>.helpText,.lotManualFields>label:last-child{grid-column:1/-1}
.lotCatalogPreview{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:14px;border-radius:14px;background:#eef5f2}
.lotCatalogPreview[hidden]{display:none}
.lotCatalogPreview div{display:grid;gap:5px}.lotCatalogPreview small{font-size:11px;font-weight:800;letter-spacing:.06em;color:#71837f}.lotCatalogPreview strong{overflow-wrap:anywhere}
.catalogLinkedLots{margin-top:22px}.catalogLinkedLotsHead{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:14px}.catalogLinkedLotsHead h3,.catalogLinkedLotsHead p{margin:0}.catalogLinkedLotsHead p{margin-top:5px;color:#6d817d}.catalogLinkedLotsTable{overflow-x:auto}.catalogLinkedLotsTable table{width:100%;border-collapse:collapse}.catalogLinkedLotsTable th,.catalogLinkedLotsTable td{padding:13px 12px;text-align:left;border-bottom:1px solid #e1e9e6}.catalogLinkedLotsTable th{font-size:12px;color:#71837f;letter-spacing:.04em}
@media(max-width:900px){.lotSourceChoices,.lotCatalogFields,.lotManualFields{grid-template-columns:1fr}.lotCatalogPreview{grid-template-columns:repeat(2,minmax(0,1fr))}.catalogLinkedLotsHead{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.lotCatalogPreview{grid-template-columns:1fr}.catalogLinkedLotsTable table,.catalogLinkedLotsTable tbody,.catalogLinkedLotsTable tr,.catalogLinkedLotsTable td{display:block}.catalogLinkedLotsTable thead{display:none}.catalogLinkedLotsTable tr{padding:10px 0;border-bottom:1px solid #e1e9e6}.catalogLinkedLotsTable td{display:grid;grid-template-columns:110px 1fr;gap:10px;border:0;padding:6px 0}.catalogLinkedLotsTable td::before{content:attr(data-label);font-size:11px;font-weight:800;color:#71837f;text-transform:uppercase}}

/* v11 fix 2: riallineamento Step 2 e ripristino riepilogo prodotto */
.productWizard .twoColumns{
  align-items:start;
}
.productWizard .twoColumns>label,
.productWizard .twoColumns>.measureField,
.productWizard .measureField>label{
  margin-top:0;
  margin-bottom:0;
  align-content:start;
  min-width:0;
}
.productWizard .twoColumns>label input,
.productWizard .measureField input,
.productWizard .measureField select{
  min-height:46px;
}
.productWizard .summaryIdentity.withoutImage{
  grid-template-columns:minmax(0,1fr);
}
.productWizard .summaryIdentity.withoutImage dl{
  width:100%;
  max-width:100%;
}
.productWizard .summaryIdentity dl div{
  width:100%;
  min-width:0;
}
.productWizard .summaryIdentity dt,
.productWizard .summaryIdentity dd{
  min-width:0;
  overflow-wrap:anywhere;
  word-break:normal;
}
@media(max-width:650px){
  .productWizard .summaryIdentity dl div{
    grid-template-columns:minmax(0,1fr);
  }
}

/* FIX225 — Solo i due campi dell'archivio lotti diventano capsule coordinate */
body:not(.public) main.workspace.workspace--traceability .traceabilityStandardDirectory .searchForm > input[name="q"]{
  height:52px!important;
  padding:0 20px 0 56px!important;
  border:1.5px solid #20AFAA!important;
  border-radius:999px!important;
  background-color:#fff!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2320AFAA' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-4-4'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:20px center!important;
  background-size:20px 20px!important;
  box-shadow:none!important;
}
body:not(.public) main.workspace.workspace--traceability .traceabilityStandardDirectory .searchForm > select[name="product"]{
  height:52px!important;
  padding:0 46px 0 56px!important;
  border:1.5px solid #20AFAA!important;
  border-radius:999px!important;
  background-color:#fff!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2320AFAA' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3 8 4.5v9L12 21l-8-4.5v-9L12 3Z'/%3E%3Cpath d='m4 7.5 8 4.5 8-4.5M12 12v9'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:20px center!important;
  background-size:20px 20px!important;
  box-shadow:none!important;
}
body:not(.public) main.workspace.workspace--traceability .traceabilityStandardDirectory .searchForm > :is(input[name="q"],select[name="product"]):focus{
  border-color:#20AFAA!important;
  box-shadow:0 0 0 3px rgba(32,175,170,.14)!important;
  outline:0!important;
}

/* FIX226 — Passaporto digitale: campi allineati senza sovrapposizioni */
body:not(.public) main.workspace.workspace--traceability .templateLibrary .templateCreate{
  align-items:end!important;
  margin:24px 0 30px!important;
}
body:not(.public) main.workspace.workspace--traceability .templateLibrary .templateCreate > label{
  display:grid!important;
  grid-template-rows:auto 58px!important;
  gap:8px!important;
  min-width:0!important;
  margin:0!important;
  align-self:end!important;
}
body:not(.public) main.workspace.workspace--traceability .templateLibrary .templateCreate > label > input,
body:not(.public) main.workspace.workspace--traceability .templateLibrary .templateCreate > label > textarea{
  box-sizing:border-box!important;
  display:block!important;
  width:100%!important;
  height:58px!important;
  min-height:58px!important;
  max-height:58px!important;
  margin:0!important;
  padding:0 16px!important;
  resize:none!important;
  overflow:auto!important;
}
body:not(.public) main.workspace.workspace--traceability .templateLibrary .templateCreate > button{
  align-self:end!important;
  height:58px!important;
  min-height:58px!important;
  max-height:58px!important;
  margin:0!important;
}
body:not(.public) main.workspace.workspace--traceability .templateLibrary .templateGrid{
  position:relative!important;
  clear:both!important;
  margin-top:0!important;
}
@media(max-width:800px){
  body:not(.public) main.workspace.workspace--traceability .templateLibrary .templateCreate{
    grid-template-columns:1fr!important;
    gap:14px!important;
    margin-bottom:24px!important;
  }
  body:not(.public) main.workspace.workspace--traceability .templateLibrary .templateCreate > label{
    grid-template-rows:auto 52px!important;
  }
  body:not(.public) main.workspace.workspace--traceability .templateLibrary .templateCreate > label > input,
  body:not(.public) main.workspace.workspace--traceability .templateLibrary .templateCreate > label > textarea,
  body:not(.public) main.workspace.workspace--traceability .templateLibrary .templateCreate > button{
    height:52px!important;
    min-height:52px!important;
    max-height:52px!important;
  }
}
/* Riepilogo varianti: stato compatto e layout corretto anche senza immagine. */
.variantSummaryList article.withoutImage{grid-template-columns:minmax(0,1fr) auto}
.variantSummaryList article>.status{display:inline-flex;align-items:center;justify-content:center;justify-self:end;align-self:center;width:auto;max-width:max-content;white-space:nowrap}
@media(max-width:800px){
  .variantSummaryList article.withoutImage{grid-template-columns:minmax(0,1fr) auto}
  .variantSummaryList article.withoutImage>.status{grid-column:2;grid-row:1}
}

.catalogImportGroupRows{display:grid!important;grid-template-columns:22px minmax(0,1fr);align-items:start;gap:10px;margin:16px 0;padding:14px;border:1px solid var(--line);border-radius:10px;background:#f7faf9}.catalogImportGroupRows input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--accent)}.catalogImportGroupRows span,.catalogImportGroupRows strong,.catalogImportGroupRows small{display:block}.catalogImportGroupRows small{margin-top:4px;color:var(--muted);font-weight:400;line-height:1.4}


/* FIX5 — azioni consolidate: non sovrascrivere nei merge successivi */
.actionIconGroup{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;flex-wrap:wrap!important;white-space:normal!important}
.actionIconGroup form{display:inline-flex!important;width:auto!important;margin:0!important}
.actionIconButton{display:inline-grid!important;place-items:center!important;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;padding:0!important;margin:0!important;border:0!important;border-radius:10px!important;background:transparent!important;color:#111!important;box-shadow:none!important;text-decoration:none!important;cursor:pointer!important;transition:background-color .16s ease,color .16s ease,transform .16s ease!important}
.actionIconButton svg{display:block!important;width:22px!important;height:22px!important;fill:none!important;stroke:currentColor!important;stroke-width:2!important;stroke-linecap:round!important;stroke-linejoin:round!important;pointer-events:none!important}
.actionIconButton:hover,.actionIconButton:focus-visible{background:rgba(0,0,0,.10)!important;color:#111!important}
.actionIconButton:active{background:#111!important;color:#fff!important;transform:translateY(1px)!important}
.actionIconButton:focus-visible{outline:3px solid rgba(17,17,17,.18)!important;outline-offset:2px!important}
.actionIconButton:disabled{opacity:.45!important;cursor:not-allowed!important}
.workspace .lotTable .lotActions.actionIconGroup{justify-content:flex-end!important}

/* Il PDF è un'azione semplice: nessun riquadro o fondo dedicato. */
.productArchive .catalog-pdf-action{display:grid!important;place-items:center!important;width:30px!important;height:30px!important;min-width:30px!important;min-height:30px!important;padding:0!important;border:0!important;border-radius:8px!important;background:transparent!important;color:#314743!important;box-shadow:none!important;text-decoration:none!important}
.productArchive .catalog-pdf-action svg{display:block!important;width:17px!important;height:17px!important}
.productArchive .catalog-pdf-action:hover{background:#edf3f1!important;color:var(--accent)!important}
.productArchive .catalog-row-actions .catalog-pdf-action{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;border:0!important;background:transparent!important}
.catalogReadPdfAction{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;min-height:48px!important;padding:0 10px!important;border:0!important;border-radius:10px!important;background:transparent!important;color:var(--accent)!important;box-shadow:none!important;font-weight:800!important;text-decoration:none!important}
.catalogReadPdfAction:hover{background:#edf3f1!important}
.catalogReadBackButton,.catalogReadEditButton,.catalogDuplicateReadButton{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:10px!important}
.catalogReadBackButton svg,.catalogReadEditButton svg,.catalogDuplicateReadButton svg{display:block;width:20px;height:20px;flex:0 0 auto}
@media(max-width:650px){.catalogReadPdfAction{width:100%!important}.actionIconGroup,.workspace .lotTable .lotActions.actionIconGroup{justify-content:flex-start!important}}

/* =========================================================
   UI CONSOLIDATA — AZIONI COLLABORATORI
   Non ripristinare i vecchi pulsanti testuali.
   Le azioni devono restare icone uniformi e senza fondo fisso.
   ========================================================= */
.settingsPage .userManagementTable .userActions.actionIconGroup{
  display:flex!important;
  grid-template-columns:none!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:8px!important;
  margin-top:0!important;
}
.settingsPage .userManagementTable .userActions.actionIconGroup form{
  display:inline-flex!important;
  width:auto!important;
  margin:0!important;
}
.settingsPage .userManagementTable .userActions.actionIconGroup .actionIconButton{
  display:inline-grid!important;
  width:44px!important;
  min-width:44px!important;
  height:44px!important;
  min-height:44px!important;
  padding:0!important;
  border:0!important;
  border-radius:10px!important;
  background:transparent!important;
  color:#111!important;
  box-shadow:none!important;
}
.settingsPage .userManagementTable .userActions.actionIconGroup .actionIconButton:hover,
.settingsPage .userManagementTable .userActions.actionIconGroup .actionIconButton:focus-visible{
  background:rgba(0,0,0,.10)!important;
  color:#111!important;
}
@media(max-width:900px){
  .settingsPage .userManagementTable .userActions.actionIconGroup{
    justify-content:flex-start!important;
  }
  .settingsPage .userManagementTable .userActions.actionIconGroup form,
  .settingsPage .userManagementTable .userActions.actionIconGroup .actionIconButton{
    width:auto!important;
  }
}

/* =========================================================
   FIX7 — AZIONI HEADER SCHEDA PRODOTTO ROTONDE
   UI consolidata: non ripristinare pulsanti testuali o fondi diversi.
   Le quattro azioni restano circolari, solo icona, con tooltip.
   ========================================================= */
.catalogReadActions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:12px!important;
  flex-wrap:wrap!important;
  overflow:visible!important;
}
.catalogReadIconAction{
  position:relative!important;
  display:inline-grid!important;
  place-items:center!important;
  width:58px!important;
  min-width:58px!important;
  height:58px!important;
  min-height:58px!important;
  padding:0!important;
  margin:0!important;
  border:1px solid #d3dfdc!important;
  border-radius:50%!important;
  background:#f7faf9!important;
  color:#173b36!important;
  box-shadow:none!important;
  text-decoration:none!important;
  cursor:pointer!important;
  overflow:visible!important;
  transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease,box-shadow .16s ease!important;
}
.catalogReadIconAction svg{
  display:block!important;
  width:25px!important;
  height:25px!important;
  flex:0 0 auto!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:2!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  pointer-events:none!important;
}
.catalogReadIconAction:hover,
.catalogReadIconAction:focus-visible{
  border-color:#a9c5bd!important;
  background:#e7f0ed!important;
  color:#102f2a!important;
  box-shadow:0 8px 20px rgba(20,53,47,.10)!important;
  transform:translateY(-1px)!important;
}
.catalogReadIconAction:active{
  transform:translateY(0)!important;
  box-shadow:none!important;
}
.catalogReadIconAction:focus-visible{
  outline:3px solid rgba(73,145,125,.26)!important;
  outline-offset:3px!important;
}
.catalogReadIconAction::after{
  content:attr(data-tooltip);
  position:absolute;
  left:50%;
  top:calc(100% + 11px);
  z-index:30;
  display:block;
  width:max-content;
  max-width:220px;
  padding:7px 10px;
  border-radius:7px;
  background:#173b36;
  color:#fff;
  box-shadow:0 7px 18px rgba(8,30,26,.20);
  font-family:inherit;
  font-size:12px;
  font-weight:700;
  line-height:1.2;
  letter-spacing:0;
  text-align:center;
  white-space:nowrap;
  pointer-events:none;
  opacity:0;
  transform:translate(-50%,-4px);
  transition:opacity .14s ease,transform .14s ease;
}
.catalogReadIconAction::before{
  content:"";
  position:absolute;
  left:50%;
  top:calc(100% + 5px);
  z-index:31;
  width:10px;
  height:10px;
  background:#173b36;
  pointer-events:none;
  opacity:0;
  transform:translate(-50%,-4px) rotate(45deg);
  transition:opacity .14s ease,transform .14s ease;
}
.catalogReadIconAction:hover::after,
.catalogReadIconAction:focus-visible::after,
.catalogReadIconAction:hover::before,
.catalogReadIconAction:focus-visible::before{
  opacity:1;
  transform:translate(-50%,0);
}
.catalogReadIconAction:hover::before,
.catalogReadIconAction:focus-visible::before{
  transform:translate(-50%,0) rotate(45deg);
}
.catalogReadBackButton,
.catalogReadPdfAction,
.catalogReadEditButton,
.catalogDuplicateReadButton{
  gap:0!important;
}
@media(max-width:650px){
  .catalogReadActions{
    display:flex!important;
    grid-template-columns:none!important;
    justify-content:flex-start!important;
    gap:10px!important;
  }
  .catalogReadIconAction,
  .catalogReadPdfAction,
  .catalogDuplicateReadButton{
    width:52px!important;
    min-width:52px!important;
    height:52px!important;
    min-height:52px!important;
  }
  .catalogReadIconAction svg{width:23px!important;height:23px!important}
}

/* SHE-LINK V11 FIX8 — impostazioni aspetto backend separate dal modulo pubblico */
body:not(.public){background:var(--page-bg);color:var(--page-text)}
body:not(.public) .panel,body:not(.public) .stats article,body:not(.public) .sidebar,body:not(.public) .authCard{background:var(--surface-color)}
body:not(.public) button:not(.subtle):not(.danger):not(.catalog-view-action):not(.catalog-duplicate-action):not(.catalog-delete-action):not(.catalog-pdf-action):not(.catalogReadHeaderAction):not(.userIconAction),body:not(.public) .button:not(.subtle):not(.danger):not(.catalogReadHeaderAction){background:var(--button-color)}
body:not(.public) .workspace header p,body:not(.public) .helpText,body:not(.public) .stats small{color:var(--muted-color)}
.sidebarGroup{display:grid;gap:3px}.sidebarSubmenu{display:grid;gap:2px;padding-left:22px;margin:0 0 6px}.sidebarSubmenu a{padding:8px 10px!important;font-size:12px}.sidebarSubmenu a.active{background:var(--secondary)!important;color:var(--accent)!important}.settingsGroup>.settingsLink{margin-top:0!important}.settingsHub{position:relative}.settingsPageHead h2{font-size:34px;margin:4px 0 8px}.settingsPageHead p{max-width:780px;color:var(--muted-color)}.appearanceTopActions{display:flex;justify-content:flex-end;gap:10px;margin-top:-66px;margin-bottom:34px}.appearanceTabs{display:flex;gap:24px;border-bottom:1px solid var(--line);margin-bottom:20px}.appearanceTabs button{padding:12px 4px;background:transparent!important;color:var(--page-text)!important;border-radius:0;border-bottom:2px solid transparent}.appearanceTabs button.active{border-bottom-color:var(--accent)}.appearanceTabs button:disabled{opacity:.45;cursor:not-allowed}.appearanceLayout{display:grid;grid-template-columns:minmax(330px,430px) minmax(0,1fr);gap:18px}.appearanceControls,.appearancePreview{border:1px solid var(--line);border-radius:14px;padding:20px;background:var(--surface-color)}.appearanceColorRow{display:flex;grid-template-columns:none;justify-content:space-between;align-items:center;gap:16px;margin:0;padding:13px 0;border-bottom:1px solid var(--line)}.appearanceColorRow>span:first-child{display:grid;gap:4px}.appearanceColorRow small{color:var(--muted-color);font-weight:400}.appearanceColorInput{display:grid;grid-template-columns:42px 92px;align-items:center;border:1px solid var(--line);border-radius:9px;overflow:hidden}.appearanceColorInput input[type=color]{width:42px;height:42px;padding:4px;border:0;border-radius:0}.appearanceColorInput input[type=text]{height:42px;padding:8px;border:0;border-left:1px solid var(--line);border-radius:0;font-size:12px;font-weight:800;text-transform:uppercase}.appearanceSystemNote,.appearanceLiveNote{margin-top:18px;padding:14px;border:1px solid var(--line);border-radius:10px;line-height:1.55}.appearancePreview>h3{margin:0 0 5px;font-size:24px}.appearancePreview>p{margin:0 0 18px;color:var(--muted-color)}.backendPreview{--preview-primary:#173b36;--preview-secondary:#e6f1ec;--preview-button:#111;--preview-bg:#f7f9f8;--preview-surface:#fff;--preview-text:#222;--preview-muted:#6b7280;display:grid;grid-template-columns:170px minmax(0,1fr);min-height:440px;border:1px solid #dce5e2;border-radius:13px;overflow:hidden;background:var(--preview-bg);color:var(--preview-text)}.backendPreview aside{display:grid;align-content:start;gap:7px;padding:18px 13px;background:var(--preview-surface);border-right:1px solid #dce5e2}.backendPreview aside strong{margin-bottom:14px;color:var(--preview-primary)}.backendPreview aside span{padding:9px;border-radius:7px;font-size:11px}.backendPreview aside span.is-active{background:var(--preview-secondary);color:var(--preview-primary);font-weight:800}.backendPreview main{padding:22px}.backendPreview main h3{margin:0;font:28px Georgia,serif;color:var(--preview-primary)}.backendPreview main>p{color:var(--preview-muted)}.previewStats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.previewStats article,.backendPreview main section{padding:15px;border:1px solid #dce5e2;border-radius:10px;background:var(--preview-surface)}.previewStats small,.previewStats strong{display:block}.previewStats small{color:var(--preview-muted)}.previewStats strong{margin-top:8px;font-size:24px}.backendPreview table td{font-size:11px}.backendPreview em{padding:5px 8px;border-radius:20px;background:var(--preview-secondary);color:var(--preview-primary);font-style:normal}.traceAppearancePage{max-width:980px}.settingsPlaceholder{padding:30px;border:1px dashed var(--line);border-radius:12px;background:var(--page-bg)}
@media(max-width:1050px){.appearanceLayout{grid-template-columns:1fr}.appearanceTopActions{margin:15px 0 25px}.backendPreview{grid-template-columns:130px minmax(0,1fr)}}
@media(max-width:700px){.appearanceTopActions{flex-direction:column}.appearanceTopActions button{width:100%}.backendPreview{grid-template-columns:1fr}.backendPreview aside{display:none}.previewStats{grid-template-columns:1fr}.appearanceColorRow{align-items:flex-start;flex-direction:column}.appearanceColorInput{width:100%;grid-template-columns:52px 1fr}.sidebarSubmenu{padding-left:12px}}


/* FIX9 — dashboard, menu a tendina, tipografia e azioni rotonde */
body:not(.public){font-family:var(--backend-body-font),sans-serif;font-size:var(--backend-body-size);line-height:var(--backend-line-height);letter-spacing:var(--backend-letter-spacing)}
body:not(.public) h1,body:not(.public) h2,body:not(.public) h3{font-family:var(--backend-heading-font),serif}
body:not(.public) h1{font-size:var(--backend-h1-size)}body:not(.public) h2{font-size:var(--backend-h2-size)}body:not(.public) h3{font-size:var(--backend-h3-size)}
body:not(.public) button,body:not(.public) .button{font-size:var(--backend-button-text-size)}
.sidebarGroupToggle{width:100%;display:flex!important;align-items:center;justify-content:space-between;padding:12px 14px!important;border:0!important;border-radius:10px!important;background:transparent!important;color:inherit!important;text-align:left;font-weight:inherit;box-shadow:none!important}
.sidebarGroupToggle:hover,.sidebarGroupToggle.active{background:var(--secondary)!important;color:var(--accent)!important}.sidebarChevron{transition:transform .2s ease}.sidebarGroup.is-open>.sidebarGroupToggle .sidebarChevron{transform:rotate(180deg)}
.sidebarGroup>.sidebarSubmenu{display:none}.sidebarGroup.is-open>.sidebarSubmenu{display:grid}.sidebarSubmenu span{padding:8px 10px;color:var(--muted-color);font-size:12px}
.dashboardPage{display:grid;gap:18px}.dashboardStats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.dashboardStats article{display:flex;gap:14px;align-items:center;padding:22px;border:1px solid var(--line);border-radius:14px;background:var(--surface-color)}.dashboardStats article>span{display:grid;place-items:center;width:44px;height:44px;border-radius:11px;background:var(--secondary);color:var(--accent);font-size:22px}.dashboardStats small,.dashboardStats strong{display:block}.dashboardStats strong{font-size:30px;margin-top:4px}.dashboardGrid{display:grid;grid-template-columns:.9fr 1.3fr;gap:18px}.dashboardSectionHead{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.dashboardSectionHead h2{margin:0}.activityList{display:grid}.activityList article{display:grid;grid-template-columns:38px 1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.activityList article>span{display:grid;place-items:center;width:36px;height:36px;border-radius:9px;background:var(--secondary)}.activityList small{display:block;color:var(--muted-color)}.activityList time{font-size:12px;color:var(--muted-color)}.dashboardQuality{display:flex;justify-content:space-between;align-items:center}.dashboardQuality h2{margin:0 0 4px}.dashboardQuality p{margin:0;color:var(--muted-color)}
.appearanceRoundAction{position:relative!important;display:grid!important;place-items:center!important;width:54px!important;height:54px!important;min-width:54px!important;padding:0!important;border-radius:50%!important;border:1px solid var(--line)!important;background:var(--secondary)!important;color:var(--accent)!important}.appearanceRoundAction svg{width:23px;height:23px}.appearanceSaveAction{background:var(--button-color)!important;color:#fff!important}.appearanceRoundAction::after{content:attr(data-tooltip);position:absolute;top:-38px;left:50%;transform:translateX(-50%);padding:6px 9px;border-radius:6px;background:#173b36;color:#fff;font-size:11px;white-space:nowrap;opacity:0;pointer-events:none}.appearanceRoundAction:hover::after,.appearanceRoundAction:focus-visible::after{opacity:1}
.appearanceTabPanel{display:none}.appearanceTabPanel.active{display:block}.typographyLayout{display:grid;grid-template-columns:minmax(390px,.9fr) minmax(0,1.1fr);gap:18px}.typographyControls{display:grid;gap:14px}.typographyCard,.typographyPreview{padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--surface-color)}.typographyCard h3{margin:0 0 16px}.twoColumns{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.fourColumns{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.typographyPreview{--type-heading:Helvetica;--type-body:Helvetica;--type-h1:36px;--type-h2:28px;--type-h3:22px;--type-body-size:16px;--type-line-height:1.6;--type-button-size:14px;--type-letter-spacing:0px;align-self:start}.typographyPreview h1,.typographyPreview h2,.typographyPreview h3{font-family:var(--type-heading),serif;letter-spacing:var(--type-letter-spacing)}.typographyPreview h1{font-size:var(--type-h1)}.typographyPreview h2{font-size:var(--type-h2)}.typographyPreview h3{font-size:var(--type-h3)}.typographyPreview p{font-family:var(--type-body),sans-serif;font-size:var(--type-body-size);line-height:var(--type-line-height);letter-spacing:var(--type-letter-spacing)}.typographyPreview button{font-size:var(--type-button-size);margin-right:18px}
@media(max-width:1000px){.dashboardStats{grid-template-columns:repeat(2,1fr)}.dashboardGrid,.typographyLayout{grid-template-columns:1fr}}@media(max-width:650px){.dashboardStats{grid-template-columns:1fr}.twoColumns,.fourColumns{grid-template-columns:1fr}.appearanceTopActions{flex-direction:row!important}.appearanceTopActions button{width:54px!important}}

/* SHE-LINK V11 FIX10 — regole consolidate dashboard/aspetto */
body:not(.public){font-family:var(--backend-body-font),Arial,sans-serif!important;font-size:var(--backend-body-size)!important;line-height:var(--backend-line-height)!important;letter-spacing:var(--backend-letter-spacing)!important}
body:not(.public) :is(input,select,textarea,button,.button){font-family:var(--backend-body-font),Arial,sans-serif!important}
body:not(.public) :is(h1,h2,h3,.workspaceHeader h1,.panel h2,.panel h3,.catalogReadTitle h2,.catalogReadSection>h3,.productCards strong){font-family:var(--backend-heading-font),Georgia,serif!important}
body:not(.public) h1,.workspaceHeader h1{font-size:var(--backend-h1-size)!important}
body:not(.public) h2{font-size:var(--backend-h2-size)!important}
body:not(.public) h3{font-size:var(--backend-h3-size)!important}
body:not(.public) :is(button,.button){font-size:var(--backend-button-text-size)!important;letter-spacing:var(--backend-letter-spacing)!important}
.button.subtle,.fieldResetButton,.catalogDuplicateClose{background:var(--secondary-button-color)!important;color:var(--accent)!important}
.sidebarGroupToggle:hover,.sidebarGroupToggle.active,.sidebarSubmenu a.active,.sidebar nav>a.active{background:var(--menu-active-color)!important;color:var(--accent)!important}
.backendPreview{--preview-secondary-button:#e6f1ec;--preview-menu-active:#e6f1ec}
.backendPreview aside span.is-active{background:var(--preview-menu-active)!important}
.backendPreview .previewSecondaryButton{background:var(--preview-secondary-button)!important}
.dashboardDynamic{gap:18px}.dashboardDynamic .dashboardStats{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.dashboardDynamic .dashboardStats article{min-height:150px;padding:24px}.dashboardDynamic .dashboardStats article>span{width:52px;height:52px;border-radius:13px;font-size:25px}.dashboardDynamic .dashboardStats strong{font-size:32px}.dashboardDynamic .dashboardStats em{display:block;margin-top:8px;color:var(--muted-color);font-size:12px;font-style:normal}.dashboardDynamic .dashboardGrid.singleModule{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboardProductList{display:grid}.dashboardProductList article{display:flex;justify-content:space-between;gap:15px;padding:14px 0;border-bottom:1px solid var(--line)}.dashboardProductList small{color:var(--muted-color)}
@media(max-width:900px){.dashboardDynamic .dashboardGrid,.dashboardDynamic .dashboardGrid.singleModule{grid-template-columns:1fr}}

/* SHE-LINK V11 FIX11 — menu minimale, colori coerenti e statistiche moduli */
.sidebar nav a,.sidebar nav span,.sidebarGroupToggle{color:var(--muted-color)!important}
.sidebarGroupToggle,.sidebar nav>a{border-radius:8px!important;border-left:3px solid transparent!important;background:transparent!important;box-shadow:none!important}
.sidebarGroupToggle:hover,.sidebar nav>a:hover{background:transparent!important;color:var(--page-text)!important;border-left-color:var(--menu-active-color)!important}
.sidebarGroupToggle.active,.sidebar nav>a.active{background:transparent!important;color:var(--page-text)!important;border-left-color:var(--menu-active-color)!important;font-weight:800!important}
.sidebarSubmenu{padding-left:17px!important}
.sidebarSubmenu a{position:relative;border-radius:0!important;background:transparent!important;color:var(--muted-color)!important;padding:7px 10px 7px 14px!important}
.sidebarSubmenu a::before{content:"";position:absolute;left:0;top:50%;width:5px;height:5px;border-radius:50%;background:transparent;transform:translateY(-50%)}
.sidebarSubmenu a:hover{color:var(--page-text)!important;background:transparent!important}
.sidebarSubmenu a.active{color:var(--page-text)!important;background:transparent!important;font-weight:800!important}
.sidebarSubmenu a.active::before{background:var(--menu-active-color)!important}
.settingsLink{color:var(--muted-color)!important}
.sidebarGroupToggle.active .sidebarChevron,.sidebarGroupToggle:hover .sidebarChevron{color:var(--page-text)!important}
.dashboardStats article>span,.activityList article>span{background:var(--secondary-button-color)!important;color:var(--page-text)!important}
.button.subtle{background:var(--secondary-button-color)!important;color:var(--page-text)!important}
.appearanceRoundAction{background:var(--secondary-button-color)!important;color:var(--page-text)!important}
.appearanceSaveAction{background:var(--button-color)!important;color:#fff!important}
.backendPreview aside span.is-active{background:var(--preview-menu-active)!important;color:var(--preview-text)!important}
.dashboardModuleSummary{padding:24px!important}
.dashboardModuleSummary .dashboardSectionHead{margin-bottom:18px}
.dashboardModuleSummary .dashboardSectionHead p{margin:4px 0 0;color:var(--muted-color)}
.dashboardModuleSummaryGrid{display:grid;grid-template-columns:220px minmax(260px,1fr) auto;gap:34px;align-items:center}
.dashboardDonut{width:180px;height:180px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--accent) 0 var(--published),#e7b85a var(--published) calc(var(--published) + var(--draft)),var(--menu-active-color) calc(var(--published) + var(--draft)) 100%);position:relative}
.dashboardDonut::after{content:"";position:absolute;inset:30px;border-radius:50%;background:var(--surface-color)}
.dashboardDonut span{position:relative;z-index:1;display:grid;text-align:center}
.dashboardDonut strong{font:700 30px var(--backend-heading-font),serif;color:var(--page-text)}
.dashboardDonut small{color:var(--muted-color)}
.dashboardLegend{display:grid;gap:14px}
.dashboardLegend article{display:grid;grid-template-columns:12px 1fr;gap:12px;align-items:center;padding-bottom:12px;border-bottom:1px solid var(--line)}
.dashboardLegend i{width:10px;height:10px;border-radius:50%}
.dashboardLegend i.is-published{background:var(--accent)}
.dashboardLegend i.is-draft{background:#e7b85a}
.dashboardLegend i.is-products{background:var(--menu-active-color)}
.dashboardLegend span{display:flex;justify-content:space-between;gap:20px;align-items:center}
.dashboardLegend small{color:var(--muted-color)}
.dashboardModuleActions{display:grid;gap:10px;justify-items:stretch}
.dashboardModuleActions .button{text-align:center;min-width:150px}
@media(max-width:900px){.dashboardModuleSummaryGrid{grid-template-columns:1fr;justify-items:center}.dashboardLegend{width:100%}.dashboardModuleActions{width:100%;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}}

/* FIX13 — sistema pulsanti consolidato */
body:not(.public){
  --primary-button-bg:var(--button-color);
  --primary-button-fg:var(--primary-button-text,#fff);
  --secondary-button-bg:var(--secondary-button-color);
  --secondary-button-fg:var(--secondary-button-text,var(--page-text));
  --secondary-button-stroke:var(--secondary-button-border,#d6d6d6);
  --icon-action-hover:var(--icon-hover-color,#edf3f1);
}
body:not(.public) :is(button,.button,input[type="submit"]):not(.subtle):not(.danger):not(.dangerText):not(.actionIconButton):not(.catalog-view-action):not(.catalog-edit-action):not(.catalog-duplicate-action):not(.catalog-delete-action):not(.catalog-pdf-action):not(.catalogReadHeaderAction):not(.appearanceRoundAction):not(.userIconAction){background:var(--primary-button-bg)!important;color:var(--primary-button-fg)!important;border-color:var(--primary-button-bg)!important}
body:not(.public) :is(.button.subtle,.fieldResetButton,.catalogDuplicateClose,.draftButton){background:var(--secondary-button-bg)!important;color:var(--secondary-button-fg)!important;border:1px solid var(--secondary-button-stroke)!important}
body:not(.public) :is(.button.subtle,.fieldResetButton,.catalogDuplicateClose,.draftButton):hover{filter:brightness(.97);box-shadow:0 2px 8px rgba(0,0,0,.06)}
body:not(.public) :is(.actionIconButton,.catalog-view-action,.catalog-edit-action,.catalog-duplicate-action,.catalog-pdf-action,.catalogReadHeaderAction,.userIconAction,.appearanceRoundAction){background:transparent!important;color:var(--page-text)!important;border-color:transparent!important}
body:not(.public) :is(.actionIconButton,.catalog-view-action,.catalog-edit-action,.catalog-duplicate-action,.catalog-pdf-action,.catalogReadHeaderAction,.userIconAction,.appearanceRoundAction):hover,
body:not(.public) :is(.actionIconButton,.catalog-view-action,.catalog-edit-action,.catalog-duplicate-action,.catalog-pdf-action,.catalogReadHeaderAction,.userIconAction,.appearanceRoundAction):focus-visible{background:var(--icon-action-hover)!important;color:var(--page-text)!important}
body:not(.public) :is(.catalog-delete-action,.dangerText){color:#b4232a!important;background:transparent!important}
body:not(.public) :is(.catalog-delete-action,.dangerText):hover{background:#fff0f0!important;color:#941b21!important}
body:not(.public) .danger{background:#b4232a!important;color:#fff!important;border-color:#b4232a!important}
.sidebarGroupToggle.active,.sidebar nav>a.active,.sidebarSubmenu a.active{color:var(--menu-active-text)!important}
.sidebarGroupToggle.active,.sidebar nav>a.active{border-left-color:var(--menu-active-color)!important}
.sidebarSubmenu a.active::before{background:var(--menu-active-color)!important}
.backendPreview{--preview-primary-button-text:#fff;--preview-secondary-button-text:#173b36;--preview-secondary-button-border:#d6d6d6;--preview-icon-hover:#edf3f1;--preview-menu-active-text:#173b36}
.backendPreview aside span.is-active{color:var(--preview-menu-active-text)!important}


/* SHE-LINK V11 FIX14 — tema rapido e menu laterale a pannello */
:root{--ui-radius:12px;--sidebar-width:240px}
body.theme-radius-square{--ui-radius:4px}body.theme-radius-soft{--ui-radius:12px}body.theme-radius-round{--ui-radius:999px}
body:not(.public) :is(button,.button,input,select,textarea,.panel,.card,.appearanceColorInput,.typographyCard,.appearancePreview){border-radius:var(--ui-radius)!important}
body.theme-buttons-outline:not(.public) :is(button,.button,input[type="submit"]):not(.subtle):not(.danger):not(.dangerText):not(.actionIconButton):not(.catalog-view-action):not(.catalog-edit-action):not(.catalog-duplicate-action):not(.catalog-delete-action):not(.catalog-pdf-action):not(.catalogReadHeaderAction):not(.appearanceRoundAction):not(.userIconAction){background:transparent!important;color:var(--primary-button-bg)!important;border:1px solid var(--primary-button-bg)!important}
body.theme-buttons-outline:not(.public) :is(.button.subtle,.fieldResetButton,.catalogDuplicateClose,.draftButton){background:transparent!important;color:var(--secondary-button-fg)!important;border:1px solid var(--secondary-button-stroke)!important}
body.theme-menu-filled .sidebarGroupToggle.active,body.theme-menu-filled .sidebar nav>a.active{background:var(--menu-active-color)!important;border-left-color:transparent!important;color:var(--menu-active-text)!important}
body.theme-menu-filled .sidebarSubmenu a.active{background:color-mix(in srgb,var(--menu-active-color) 70%,white)!important;color:var(--menu-active-text)!important;border-radius:8px!important}
.simplifiedAppearanceLayout{grid-template-columns:minmax(320px,.72fr) minmax(0,1.28fr)}
.simplifiedThemeControls{display:grid;gap:16px;align-content:start}.simplifiedThemeCard{border:1px solid var(--line);border-radius:14px;background:var(--surface-color);padding:18px}.simplifiedThemeCard h3{margin:0 0 6px}.simplifiedThemeCard>p{margin:0 0 14px;color:var(--muted-color);font-size:13px}.themeChoiceGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.themeChoiceGrid label{display:grid;gap:7px;font-weight:700}.previewActionRow{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.previewIconAction{width:40px;height:40px;padding:0!important;display:grid;place-items:center}
.backendPreview[data-radius-style="square"] :is(button,article,section,span.is-active){border-radius:4px!important}.backendPreview[data-radius-style="soft"] :is(button,article,section,span.is-active){border-radius:10px!important}.backendPreview[data-radius-style="round"] button{border-radius:999px!important}.backendPreview[data-radius-style="round"] span.is-active{border-radius:999px!important}
.backendPreview[data-button-style="outline"] button{background:transparent!important;color:var(--preview-primary)!important;border:1px solid var(--preview-primary)!important}.backendPreview[data-button-style="outline"] button.subtle{color:var(--preview-secondary-button-text)!important;border-color:var(--preview-secondary-button-border)!important}
.backendPreview[data-menu-style="minimal"] aside span.is-active{background:transparent!important;border-left:3px solid var(--preview-menu-active)!important;color:var(--preview-text)!important}.backendPreview[data-menu-style="filled"] aside span.is-active{background:var(--preview-menu-active)!important;color:var(--preview-menu-active-text)!important}
/* Flyout desktop come SiteGround */
@media(min-width:901px){
 .sidebar{width:var(--sidebar-width);overflow:visible!important;z-index:80}
 .workspace{margin-left:var(--sidebar-width)}
 .sidebarGroup{position:relative}
 .sidebarGroup>.sidebarSubmenu{display:grid!important;position:fixed;left:var(--sidebar-width);top:0;bottom:0;width:310px;padding:86px 20px 28px;background:var(--surface-color);border-left:1px solid var(--line);border-right:1px solid var(--line);box-shadow:18px 0 32px rgba(0,0,0,.09);transform:translateX(-18px);opacity:0;visibility:hidden;pointer-events:none;transition:transform .22s ease,opacity .18s ease,visibility .18s;align-content:start;gap:8px;z-index:79}
 .sidebarGroup>.sidebarSubmenu::before{content:attr(data-title);display:block;font-family:var(--backend-heading-font),Georgia,serif;font-size:26px;font-weight:800;color:var(--page-text);margin:0 0 18px;padding-bottom:16px;border-bottom:1px solid var(--line)}
 .sidebarGroup.is-open>.sidebarSubmenu{transform:translateX(0);opacity:1;visibility:visible;pointer-events:auto}
 .sidebarSubmenu a,.sidebarSubmenu span{font-size:17px!important;padding:13px 15px!important;border-radius:10px!important}
 .sidebarSubmenu a::before{display:none!important}
 body.sidebar-flyout-open .workspace::before{content:"";position:fixed;inset:0 0 0 calc(var(--sidebar-width) + 310px);background:rgba(255,255,255,.35);backdrop-filter:blur(1px);z-index:45;pointer-events:none}
}
@media(max-width:900px){.simplifiedAppearanceLayout{grid-template-columns:1fr}.themeChoiceGrid{grid-template-columns:1fr}.sidebarGroup>.sidebarSubmenu{position:static}}

/* SHE-LINK V11 FIX15 — stile sidebar approvato */
@media (min-width:901px){
  body:not(.public) .sidebar{
    background:#2F4550!important;
    color:#F4F4F9!important;
    border-right:0!important;
    box-shadow:2px 0 14px rgba(25,36,43,.14)!important;
  }
  body:not(.public) .sidebar .brand,
  body:not(.public) .sidebar .account,
  body:not(.public) .sidebar .account strong,
  body:not(.public) .sidebar .account small,
  body:not(.public) .sidebar .account a{
    color:#F4F4F9!important;
  }
  body:not(.public) .sidebar .brand i{
    background:#F4F4F9!important;
    color:#2F4550!important;
  }
  body:not(.public) .sidebar nav a,
  body:not(.public) .sidebar nav span,
  body:not(.public) .sidebarGroupToggle,
  body:not(.public) .sidebarChevron{
    color:#F4F4F9!important;
  }
  body:not(.public) .sidebarGroupToggle,
  body:not(.public) .sidebar nav>a{
    width:calc(100% - 12px)!important;
    min-height:42px!important;
    margin:2px 6px!important;
    padding:9px 11px!important;
    border:0!important;
    border-radius:9px!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  body:not(.public) .sidebarGroupToggle:hover,
  body:not(.public) .sidebarGroupToggle.active,
  body:not(.public) .sidebar nav>a:hover,
  body:not(.public) .sidebar nav>a.active{
    background:#586F7C!important;
    color:#F4F4F9!important;
    border:0!important;
  }
  body:not(.public) .sidebar .account,
  body:not(.public) .sidebar nav .adminLinks .settingsLink+ .settingsLink{
    border-color:rgba(244,244,249,.22)!important;
  }
  body:not(.public) .sidebarGroup>.sidebarSubmenu{
    background:#F4F4F9!important;
    color:#2C2C2C!important;
    border-left:0!important;
    border-right:1px solid #DFDFE4!important;
    box-shadow:16px 0 34px rgba(25,36,43,.15)!important;
  }
  body:not(.public) .sidebarGroup>.sidebarSubmenu::before{
    color:#2C2C2C!important;
    border-bottom-color:#D9D9DE!important;
  }
  body:not(.public) .sidebarSubmenu a,
  body:not(.public) .sidebarSubmenu span{
    color:#2C2C2C!important;
    background:transparent!important;
  }
  body:not(.public) .sidebarSubmenu a:hover,
  body:not(.public) .sidebarSubmenu a.active{
    color:#2C2C2C!important;
    background:#E5E5EA!important;
    font-weight:700!important;
  }
}


/* SHE-LINK V11 FIX16 — rifiniture sidebar approvate */
@media (min-width:901px){
  body:not(.public) .sidebarGroupToggle,
  body:not(.public) .sidebar nav>a{
    border:0!important;
    outline:0!important;
    box-shadow:none!important;
    appearance:none!important;
    -webkit-appearance:none!important;
  }
  body:not(.public) .sidebarGroupToggle:hover,
  body:not(.public) .sidebarGroupToggle:focus,
  body:not(.public) .sidebarGroupToggle:focus-visible,
  body:not(.public) .sidebarGroupToggle.active,
  body:not(.public) .sidebar nav>a:hover,
  body:not(.public) .sidebar nav>a:focus,
  body:not(.public) .sidebar nav>a:focus-visible,
  body:not(.public) .sidebar nav>a.active{
    border:0!important;
    outline:0!important;
    box-shadow:none!important;
  }
  body:not(.public) .sidebarChevron{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:18px!important;
    font-family:Arial,sans-serif!important;
    font-size:24px!important;
    line-height:1!important;
    transform:none!important;
    transition:transform .18s ease!important;
  }
  body:not(.public) .sidebarGroup.is-open>.sidebarGroupToggle .sidebarChevron{
    transform:none!important;
  }
  body:not(.public) .sidebarGroup>.sidebarSubmenu,
  body:not(.public) .sidebarGroup>.sidebarSubmenu *,
  body:not(.public) .sidebarGroup>.sidebarSubmenu::before{
    color:#2C2C2C!important;
  }
  body:not(.public) .sidebarGroup>.sidebarSubmenu svg,
  body:not(.public) .sidebarGroup>.sidebarSubmenu svg *{
    stroke:#2C2C2C!important;
    color:#2C2C2C!important;
  }
}

/* SHE-LINK V11 FIX17 — menu senza bordi e pulsanti outline #2F4550 */
@media (min-width:901px){
  /* Le voci della sidebar non sono pulsanti di interfaccia */
  body.theme-buttons-outline:not(.public) .sidebar .sidebarGroupToggle,
  body.theme-buttons-outline:not(.public) .sidebar nav>a,
  body:not(.public) .sidebar .sidebarGroupToggle,
  body:not(.public) .sidebar nav>a{
    border:0!important;
    outline:0!important;
    box-shadow:none!important;
    background:transparent!important;
    color:#F4F4F9!important;
  }
  body.theme-buttons-outline:not(.public) .sidebar .sidebarGroupToggle:hover,
  body.theme-buttons-outline:not(.public) .sidebar .sidebarGroupToggle.active,
  body.theme-buttons-outline:not(.public) .sidebar nav>a:hover,
  body.theme-buttons-outline:not(.public) .sidebar nav>a.active,
  body:not(.public) .sidebar .sidebarGroupToggle:hover,
  body:not(.public) .sidebar .sidebarGroupToggle.active,
  body:not(.public) .sidebar nav>a:hover,
  body:not(.public) .sidebar nav>a.active{
    border:0!important;
    outline:0!important;
    box-shadow:none!important;
    background:#586F7C!important;
    color:#F4F4F9!important;
  }
  body:not(.public) .sidebar .sidebarChevron,
  body:not(.public) .sidebar .sidebarGroupToggle:hover .sidebarChevron,
  body:not(.public) .sidebar .sidebarGroupToggle.active .sidebarChevron{
    color:#F4F4F9!important;
  }
}

/* Veri pulsanti: outline fisso, definito dal design YMYSY */
body:not(.public) :is(
  button,
  .button,
  input[type="submit"],
  input[type="button"]
):not(.danger):not(.dangerText):not(.catalog-delete-action):not(.sidebarGroupToggle):not(.appearanceRoundAction):not(.actionIconButton):not(.catalog-view-action):not(.catalog-edit-action):not(.catalog-duplicate-action):not(.catalog-pdf-action):not(.catalogReadHeaderAction):not(.userIconAction){
  border:1.5px solid #2F4550!important;
  background:#FFFFFF!important;
  color:#2F4550!important;
  box-shadow:none!important;
}
body:not(.public) :is(
  button,
  .button,
  input[type="submit"],
  input[type="button"]
):not(.danger):not(.dangerText):not(.catalog-delete-action):not(.sidebarGroupToggle):not(.appearanceRoundAction):not(.actionIconButton):not(.catalog-view-action):not(.catalog-edit-action):not(.catalog-duplicate-action):not(.catalog-pdf-action):not(.catalogReadHeaderAction):not(.userIconAction):hover{
  border-color:#2F4550!important;
  background:#2F4550!important;
  color:#F4F4F9!important;
}
body:not(.public) :is(
  button,
  .button,
  input[type="submit"],
  input[type="button"]
):not(.danger):not(.dangerText):not(.catalog-delete-action):not(.sidebarGroupToggle):not(.appearanceRoundAction):not(.actionIconButton):not(.catalog-view-action):not(.catalog-edit-action):not(.catalog-duplicate-action):not(.catalog-pdf-action):not(.catalogReadHeaderAction):not(.userIconAction) svg,
body:not(.public) :is(
  button,
  .button,
  input[type="submit"],
  input[type="button"]
):not(.danger):not(.dangerText):not(.catalog-delete-action):not(.sidebarGroupToggle):not(.appearanceRoundAction):not(.actionIconButton):not(.catalog-view-action):not(.catalog-edit-action):not(.catalog-duplicate-action):not(.catalog-pdf-action):not(.catalogReadHeaderAction):not(.userIconAction) svg *{
  stroke:currentColor!important;
}

/* SHE-LINK V11 FIX18 — allineamento mobile menu e pulsanti */
@media (max-width:900px){
  body:not(.public) .sidebar{
    background:#2F4550!important;
    color:#F4F4F9!important;
    border-right:0!important;
    box-shadow:8px 0 26px rgba(25,36,43,.22)!important;
  }
  body:not(.public) .sidebar .brand,
  body:not(.public) .sidebar .account,
  body:not(.public) .sidebar .account strong,
  body:not(.public) .sidebar .account small,
  body:not(.public) .sidebar .account a,
  body:not(.public) .sidebar nav a,
  body:not(.public) .sidebar nav span,
  body:not(.public) .sidebarGroupToggle,
  body:not(.public) .sidebarChevron{
    color:#F4F4F9!important;
  }
  body:not(.public) .sidebar .brand i{
    background:#F4F4F9!important;
    color:#2F4550!important;
  }
  body.theme-buttons-outline:not(.public) .sidebar .sidebarGroupToggle,
  body.theme-buttons-outline:not(.public) .sidebar nav>a,
  body:not(.public) .sidebar .sidebarGroupToggle,
  body:not(.public) .sidebar nav>a{
    width:calc(100% - 12px)!important;
    min-height:42px!important;
    margin:2px 6px!important;
    padding:9px 11px!important;
    border:0!important;
    outline:0!important;
    box-shadow:none!important;
    background:transparent!important;
    color:#F4F4F9!important;
    border-radius:9px!important;
  }
  body.theme-buttons-outline:not(.public) .sidebar .sidebarGroupToggle:hover,
  body.theme-buttons-outline:not(.public) .sidebar .sidebarGroupToggle.active,
  body.theme-buttons-outline:not(.public) .sidebar nav>a:hover,
  body.theme-buttons-outline:not(.public) .sidebar nav>a.active,
  body:not(.public) .sidebar .sidebarGroupToggle:hover,
  body:not(.public) .sidebar .sidebarGroupToggle.active,
  body:not(.public) .sidebar nav>a:hover,
  body:not(.public) .sidebar nav>a.active{
    border:0!important;
    outline:0!important;
    box-shadow:none!important;
    background:#586F7C!important;
    color:#F4F4F9!important;
  }
  body:not(.public) .sidebarChevron{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:18px!important;
    font-family:Arial,sans-serif!important;
    font-size:24px!important;
    line-height:1!important;
    transform:none!important;
  }
  body:not(.public) .sidebarGroup>.sidebarSubmenu{
    margin:4px 8px 8px!important;
    padding:8px!important;
    background:#F4F4F9!important;
    color:#2C2C2C!important;
    border:0!important;
    border-radius:10px!important;
    box-shadow:none!important;
  }
  body:not(.public) .sidebarGroup>.sidebarSubmenu::before{display:none!important}
  body:not(.public) .sidebarSubmenu a,
  body:not(.public) .sidebarSubmenu span{
    color:#2C2C2C!important;
    background:transparent!important;
    border:0!important;
    border-radius:8px!important;
    padding:11px 12px!important;
  }
  body:not(.public) .sidebarSubmenu a:hover,
  body:not(.public) .sidebarSubmenu a.active{
    color:#2C2C2C!important;
    background:#E5E5EA!important;
    font-weight:700!important;
  }
  body:not(.public) .sidebarSubmenu a::before{display:none!important}
  body:not(.public) .sidebar .account{border-color:rgba(244,244,249,.22)!important}

  /* Pulsanti reali anche su mobile */
  body:not(.public) :is(button,.button,input[type="submit"],input[type="button"]):not(.danger):not(.dangerText):not(.catalog-delete-action):not(.sidebarGroupToggle):not(.appearanceRoundAction):not(.actionIconButton):not(.catalog-view-action):not(.catalog-edit-action):not(.catalog-duplicate-action):not(.catalog-pdf-action):not(.catalogReadHeaderAction):not(.userIconAction){
    border:1.5px solid #2F4550!important;
    background:#FFFFFF!important;
    color:#2F4550!important;
    box-shadow:none!important;
  }
  body:not(.public) :is(button,.button,input[type="submit"],input[type="button"]):not(.danger):not(.dangerText):not(.catalog-delete-action):not(.sidebarGroupToggle):not(.appearanceRoundAction):not(.actionIconButton):not(.catalog-view-action):not(.catalog-edit-action):not(.catalog-duplicate-action):not(.catalog-pdf-action):not(.catalogReadHeaderAction):not(.userIconAction):active,
  body:not(.public) :is(button,.button,input[type="submit"],input[type="button"]):not(.danger):not(.dangerText):not(.catalog-delete-action):not(.sidebarGroupToggle):not(.appearanceRoundAction):not(.actionIconButton):not(.catalog-view-action):not(.catalog-edit-action):not(.catalog-duplicate-action):not(.catalog-pdf-action):not(.catalogReadHeaderAction):not(.userIconAction):focus-visible{
    border-color:#2F4550!important;
    background:#2F4550!important;
    color:#F4F4F9!important;
  }
}

/* SHE-LINK V11 FIX20 — correzione mirata hover/voce aperta, base FIX18 */
body:not(.public) .sidebar .sidebarGroupToggle,
body:not(.public) .sidebar nav > a{
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
  color:#F4F4F9!important;
}
body:not(.public) .sidebar .sidebarGroupToggle:hover,
body:not(.public) .sidebar .sidebarGroupToggle:focus-visible,
body:not(.public) .sidebar .sidebarGroupToggle.active,
body:not(.public) .sidebar .sidebarGroup.is-open > .sidebarGroupToggle,
body:not(.public) .sidebar nav > a:hover,
body:not(.public) .sidebar nav > a:focus-visible,
body:not(.public) .sidebar nav > a.active{
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:#586F7C!important;
  color:#F4F4F9!important;
}
body:not(.public) .sidebar .sidebarGroup.is-open > .sidebarGroupToggle .sidebarChevron,
body:not(.public) .sidebar .sidebarGroupToggle:hover .sidebarChevron,
body:not(.public) .sidebar .sidebarGroupToggle:focus-visible .sidebarChevron,
body:not(.public) .sidebar nav > a:hover svg,
body:not(.public) .sidebar nav > a.active svg{
  color:#F4F4F9!important;
  stroke:#F4F4F9!important;
}
body:not(.public) .sidebar .sidebarGroupToggle:hover svg *,
body:not(.public) .sidebar .sidebarGroup.is-open > .sidebarGroupToggle svg *,
body:not(.public) .sidebar nav > a:hover svg *,
body:not(.public) .sidebar nav > a.active svg *{
  stroke:currentColor!important;
}

/* SHE-LINK V11 FIX21 — backend a colori fissi, nessuna sovrascrittura da impostazioni */
body:not(.public){
  --accent:#2F4550!important;
  --secondary:#F4F4F9!important;
  --button-color:#2F4550!important;
  --secondary-button-color:#FFFFFF!important;
  --primary-button-text:#F4F4F9!important;
  --secondary-button-text:#2F4550!important;
  --secondary-button-border:#2F4550!important;
  --icon-hover-color:#EEF1F3!important;
  --menu-active-text:#F4F4F9!important;
  --menu-active-color:#586F7C!important;
  --page-bg:#F7F9F8!important;
  --surface-color:#FFFFFF!important;
  --page-text:#2C2C2C!important;
  --muted-color:#6B7280!important;
}
body:not(.public) .sidebar{background:#2F4550!important;color:#F4F4F9!important}
body:not(.public) .sidebar .sidebarGroupToggle,
body:not(.public) .sidebar nav>a{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  color:#F4F4F9!important;
}
body:not(.public) .sidebar .sidebarGroupToggle:hover,
body:not(.public) .sidebar .sidebarGroupToggle:focus-visible,
body:not(.public) .sidebar .sidebarGroup.is-open>.sidebarGroupToggle,
body:not(.public) .sidebar .sidebarGroupToggle.active,
body:not(.public) .sidebar nav>a:hover,
body:not(.public) .sidebar nav>a:focus-visible,
body:not(.public) .sidebar nav>a.active{
  background:#586F7C!important;
  border:0!important;
  color:#F4F4F9!important;
  box-shadow:none!important;
}
body:not(.public) .sidebar .sidebarGroupToggle svg,
body:not(.public) .sidebar .sidebarGroupToggle svg *,
body:not(.public) .sidebar nav>a svg,
body:not(.public) .sidebar nav>a svg *,
body:not(.public) .sidebarChevron{stroke:currentColor!important;color:#F4F4F9!important}
body:not(.public) .sidebarGroup>.sidebarSubmenu{background:#F4F4F9!important;color:#2C2C2C!important}
body:not(.public) .sidebarGroup>.sidebarSubmenu *,
body:not(.public) .sidebarGroup>.sidebarSubmenu::before{color:#2C2C2C!important}
body:not(.public) .sidebarSubmenu a:hover,
body:not(.public) .sidebarSubmenu a.active{background:#E7EAEC!important;color:#2C2C2C!important}
.fixedBackendThemeNotice{padding:20px 22px;border:1px solid #dce3e1;border-radius:14px;background:#fff;margin:0 0 22px}
.fixedBackendThemeNotice h3{margin:0 0 7px}.fixedBackendThemeNotice p{margin:0 0 16px;color:#6B7280}
.fixedThemeSwatches{display:flex;flex-wrap:wrap;gap:12px 20px}.fixedThemeSwatches span{display:inline-flex;align-items:center;gap:8px;font-weight:700}.fixedThemeSwatches i{width:22px;height:22px;border-radius:7px;border:1px solid #d5dcda;display:inline-block}
@media(max-width:900px){
 body:not(.public) .sidebar{background:#2F4550!important}
 body:not(.public) .sidebar .sidebarGroupToggle,
 body:not(.public) .sidebar nav>a{background:transparent!important;border:0!important;color:#F4F4F9!important}
 body:not(.public) .sidebar .sidebarGroupToggle:hover,
 body:not(.public) .sidebar .sidebarGroup.is-open>.sidebarGroupToggle,
 body:not(.public) .sidebar .sidebarGroupToggle.active,
 body:not(.public) .sidebar nav>a:hover,
 body:not(.public) .sidebar nav>a.active{background:#586F7C!important;color:#F4F4F9!important}
 .fixedThemeSwatches{display:grid;grid-template-columns:1fr 1fr}
}

/* SHE-LINK V11 FIX22 — evidenziazione menu forzata e indipendente dal tema */
body:not(.public) .sidebar .sidebarGroupToggle[aria-expanded="true"],
body:not(.public) .sidebar .sidebarGroupToggle[data-menu-highlight="true"],
body:not(.public) .sidebar nav > a[data-menu-highlight="true"]{
  background:#586F7C!important;
  color:#F4F4F9!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
}
body:not(.public) .sidebar .sidebarGroupToggle[aria-expanded="true"] *,
body:not(.public) .sidebar .sidebarGroupToggle[data-menu-highlight="true"] *,
body:not(.public) .sidebar nav > a[data-menu-highlight="true"] *{
  color:#F4F4F9!important;
  stroke:currentColor!important;
}

/* SHE-LINK V11 FIX23 — altezza uniforme e sezione padre persistente */
body:not(.public) .sidebar .sidebarGroupToggle,
body:not(.public) .sidebar nav > a{
  display:flex!important;
  align-items:center!important;
  min-height:52px!important;
  height:52px!important;
  max-height:52px!important;
  padding:0 14px!important;
  margin:2px 6px!important;
  line-height:1.2!important;
  border-radius:9px!important;
}
body:not(.public) .sidebar .sidebarGroup.has-active-child > .sidebarGroupToggle,
body:not(.public) .sidebar .sidebarGroup:has(> .sidebarSubmenu a.active) > .sidebarGroupToggle{
  background:#586F7C!important;
  color:#F4F4F9!important;
  border:0!important;
  box-shadow:none!important;
}
body:not(.public) .sidebar .sidebarGroup.has-active-child > .sidebarGroupToggle *,
body:not(.public) .sidebar .sidebarGroup:has(> .sidebarSubmenu a.active) > .sidebarGroupToggle *{
  color:#F4F4F9!important;
  stroke:currentColor!important;
}
@media(max-width:900px){
  body:not(.public) .sidebar .sidebarGroupToggle,
  body:not(.public) .sidebar nav > a{
    min-height:52px!important;
    height:52px!important;
    max-height:52px!important;
    padding:0 14px!important;
  }
}

/* SHE-LINK V11 FIX27 — pulsanti pieni uniformati alla palette backend */
body:not(.public) .traceTabs a.active,
body:not(.public) .editorTabs button.active,
body:not(.public) .productArchive .catalog-view-button.is-active,
body:not(.public) .productArchive .catalog-view-button[aria-pressed="true"],
body:not(.public) .catalogPagination .catalogPageNumber.is-active,
body:not(.public) .appearanceSaveAction,
body:not(.public) .appearanceRoundAction.appearanceSaveAction,
body:not(.public) .button.primary,
body:not(.public) button.primary,
body:not(.public) [data-primary-action="true"]{
  background:#2F4550!important;
  border-color:#2F4550!important;
  color:#F4F4F9!important;
  box-shadow:none!important;
}
body:not(.public) .traceTabs a.active:hover,
body:not(.public) .editorTabs button.active:hover,
body:not(.public) .productArchive .catalog-view-button.is-active:hover,
body:not(.public) .productArchive .catalog-view-button[aria-pressed="true"]:hover,
body:not(.public) .catalogPagination .catalogPageNumber.is-active:hover,
body:not(.public) .appearanceSaveAction:hover,
body:not(.public) .button.primary:hover,
body:not(.public) button.primary:hover,
body:not(.public) [data-primary-action="true"]:hover{
  background:#586F7C!important;
  border-color:#586F7C!important;
  color:#F4F4F9!important;
}
body:not(.public) .traceTabs a:not(.active),
body:not(.public) .editorTabs button:not(.active){
  background:transparent!important;
  color:#2F4550!important;
}
body:not(.public) .actionIconButton:active{
  background:#2F4550!important;
  color:#F4F4F9!important;
}
body:not(.public) .catalogImageLightbox>button{
  background:#2F4550!important;
  color:#F4F4F9!important;
}

/* SHE-LINK V11 FIX28 — accordion di sistema uniformi */
body:not(.public) details.systemAccordion{
  margin:12px 0;
  border:1px solid #D8E0E3!important;
  border-radius:12px!important;
  background:#FFFFFF!important;
  overflow:hidden;
  box-shadow:none!important;
}
body:not(.public) details.systemAccordion > summary{
  margin:0!important;
  padding:12px 14px!important;
  background:#F4F4F9!important;
  color:#2F4550!important;
  border:0!important;
  border-radius:0!important;
  cursor:pointer;
  font-weight:800!important;
  transition:background-color .16s ease,color .16s ease;
}
body:not(.public) details.systemAccordion > summary:hover{
  background:#E7EAEC!important;
  color:#2F4550!important;
}
body:not(.public) details.systemAccordion[open] > summary{
  background:#586F7C!important;
  color:#F4F4F9!important;
}
body:not(.public) details.systemAccordion[open] > summary *,
body:not(.public) details.systemAccordion[open] > summary::marker{
  color:#F4F4F9!important;
  stroke:currentColor!important;
}
body:not(.public) details.systemAccordion > summary::-webkit-details-marker{
  color:currentColor;
}
body:not(.public) .settingsPage .userPermissions.systemAccordion{
  background:#FFFFFF!important;
}
body:not(.public) .settingsPage .userPermissions.systemAccordion form{
  padding:14px!important;
}
@media(max-width:900px){
  body:not(.public) details.systemAccordion > summary{
    min-height:48px;
    display:flex;
    align-items:center;
    padding:11px 13px!important;
  }
}

/* FIX29 — gerarchia Nuovo lotto / Lotti */
.workspace .traceCreateGrid{
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(330px,.85fr);
  align-items:start;
  gap:20px;
}
.workspace .traceCreatePanel{order:1;min-width:0}
.workspace .traceLotsPanel{order:2;min-width:0}
.workspace .traceLotsPanel .lotTable th,
.workspace .traceLotsPanel .lotTable td{padding-left:10px;padding-right:10px}
.workspace .traceLotsPanel .lotTable th:nth-child(3),
.workspace .traceLotsPanel .lotTable td:nth-child(3){white-space:nowrap}
.workspace .traceLotsPanel .lotActions{justify-content:flex-end}

@media(max-width:1050px){
  .workspace .traceCreateGrid{grid-template-columns:minmax(0,1.35fr) minmax(300px,.8fr)}
}
@media(max-width:900px){
  .workspace .traceCreateGrid{grid-template-columns:1fr}
  .workspace .traceCreatePanel{order:1}
  .workspace .traceLotsPanel{order:2}
}

/* SHE-LINK V11 FIX30 — creazione lotto progressiva e lista editoriale */
.workspace .traceCreateGrid{
  grid-template-columns:minmax(0,1.55fr) minmax(420px,.95fr);
  gap:22px;
}
.traceCreatePanelHead,.traceLotsHead{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.traceCreatePanelHead h2,.traceLotsHead h2{margin:0}
.traceCreatePanelHead p,.traceLotsHead p{margin:6px 0 0;color:#6B7280}
.traceLotsHead>span{white-space:nowrap;font-size:12px;font-weight:800;color:#6B7280;background:#F4F4F9;border-radius:999px;padding:7px 10px}
.traceCreateClose{width:38px;height:38px;padding:0;border-radius:50%;background:#F4F4F9!important;color:#2F4550!important;border:1px solid #D8E0E3!important;font-size:24px;line-height:1}
.traceCreateClose:hover{background:#E7EAEC!important;color:#2F4550!important}
.traceCreateEmpty{min-height:560px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:44px 24px;border:1px solid #D8E0E3;border-radius:16px;background:linear-gradient(180deg,#fff 0%,#fbfcfc 100%)}
.traceCreateEmpty[hidden],.traceCreateFormWrap[hidden],.traceCreateClose[hidden]{display:none!important}
.traceCreateEmptyIcon{width:78px;height:78px;display:grid;place-items:center;border-radius:50%;background:#EEF3F2;color:#2F4550;margin-bottom:20px}
.traceCreateEmptyIcon svg{width:40px;height:40px}
.traceCreateEmpty h3{font-size:25px;margin:0 0 10px}
.traceCreateEmpty p{max-width:410px;margin:0 0 24px;color:#6B7280;line-height:1.55}
.traceCreateFormWrap{animation:traceCreatorReveal .2s ease}
@keyframes traceCreatorReveal{from{opacity:.3;transform:translateY(6px)}to{opacity:1;transform:none}}

/* drag & drop: area operativa sempre riconoscibile */
.traceCreateFormWrap .codeBuilder{border:1px solid #D8E0E3;border-radius:15px;background:#F8FAFA;padding:14px;gap:14px}
.traceCreateFormWrap .codePalette{border:1px dashed #AEBCC1;border-radius:12px;background:#fff;padding:14px}
.traceCreateFormWrap .codeCanvas{border:1px dashed #83959C;border-radius:12px;background:#fff;min-height:180px;padding:14px;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}
.traceCreateFormWrap .codeCanvas:has(.dragOver),.traceCreateFormWrap .codeCanvas.dragOver{border-color:#2F4550;background:#F4F7F7;box-shadow:0 0 0 3px rgba(47,69,80,.08)}
.traceCreateFormWrap .codeDropHint{border:1px dashed #B9C5C9;border-radius:10px;padding:12px;text-align:center;color:#6B7280;background:#FAFBFB}
.traceCreateFormWrap .inlineCodeField{cursor:grab}
.traceCreateFormWrap .inlineCodeField.dragging{opacity:.45;transform:scale(.99)}
.traceCreateFormWrap .inlineCodeField.dragOver{box-shadow:inset 0 3px 0 #2F4550}
.traceCreateFormWrap .dragHandle{touch-action:none;user-select:none}

/* lista lotti non tabellare */
.traceLotsPanel{overflow:hidden}
.traceLotList{display:grid}
.traceLotItem{padding:18px 0;border-bottom:1px solid #E3E8E7}
.traceLotItem:first-child{padding-top:4px}
.traceLotItem:last-child{border-bottom:0;padding-bottom:4px}
.traceLotCode{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:15px;font-weight:800;color:#2F4550;text-decoration:none;margin-bottom:12px}
.traceLotCode:hover{text-decoration:underline}
.traceLotInfo{display:grid;grid-template-columns:minmax(105px,1fr) max-content max-content max-content;align-items:center;gap:12px}
.traceLotProduct{min-width:0;display:grid;gap:4px}
.traceLotProduct strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}
.traceLotProduct small{font-size:11px;color:#71817D;text-transform:none}
.traceLotQuantity{white-space:nowrap;font-weight:700;color:#2C2C2C}
.traceLotItem .status{white-space:nowrap;justify-self:start}
.traceLotItem .lotActions{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:4px}
.traceLotItem .inlineDelete{display:inline-flex}

@media(max-width:1180px){
  .workspace .traceCreateGrid{grid-template-columns:minmax(0,1.35fr) minmax(360px,.9fr)}
  .traceLotInfo{grid-template-columns:minmax(90px,1fr) max-content;gap:8px 12px}
  .traceLotQuantity{grid-column:1}
  .traceLotItem .status{grid-column:2;grid-row:2}
  .traceLotItem .lotActions{grid-column:2;grid-row:1}
}
@media(max-width:900px){
  .workspace .traceCreateGrid{grid-template-columns:1fr}
  .traceCreatePanel{order:1}.traceLotsPanel{order:2}
  .traceCreateEmpty{min-height:360px}
  .traceLotInfo{grid-template-columns:minmax(0,1fr) max-content max-content;gap:9px}
  .traceLotProduct{grid-column:1}
  .traceLotQuantity{grid-column:2;grid-row:1}
  .traceLotItem .status{grid-column:1;grid-row:2}
  .traceLotItem .lotActions{grid-column:3;grid-row:1/3}
}
@media(max-width:560px){
  .traceCreatePanel,.traceLotsPanel{padding:16px}
  .traceCreateEmpty{min-height:300px;padding:30px 16px}
  .traceLotCode{font-size:13px}
  .traceLotInfo{grid-template-columns:1fr auto}
  .traceLotProduct{grid-column:1}
  .traceLotQuantity{grid-column:1;grid-row:2}
  .traceLotItem .status{grid-column:1;grid-row:3}
  .traceLotItem .lotActions{grid-column:2;grid-row:1/4}
  .traceCreateFormWrap .codeBuilder{padding:10px}
}

/* SHE-LINK V11 FIX31 — archivio lotti, Scheda lotto e builder rifinito */
.lotArchiveTable .lotArchiveActionsHead{width:92px}
.lotArchiveTable .lotArchiveActions{display:flex;align-items:center;justify-content:flex-end;gap:6px;white-space:nowrap}
.lotArchiveTable .lotArchiveActions .inlineDelete{display:inline-flex;margin:0}
.lotArchiveTable .actionIconButton{background:transparent!important;border:0!important;box-shadow:none!important;color:#2F4550!important}
.lotArchiveTable .actionIconButton:hover{background:#EDF1F2!important;color:#2F4550!important}
.lotArchiveTable .actionIconButton.dangerIcon{color:#A52E2E!important}
.lotArchiveTable .actionIconButton.dangerIcon:hover{background:#FBEDED!important;color:#A52E2E!important}

/* Il dettaglio del lotto deve risultare immediatamente riconoscibile dopo la creazione. */
.batchDetail{margin-top:24px}
.batchDetail>.batchHead{padding-bottom:20px;border-bottom:1px solid #D8E0E3;margin-bottom:20px}
.batchDetail>.batchHead .eyebrow{color:#71817D;letter-spacing:.15em}
.batchDetail>.batchHead h2{margin-top:7px}

/* Restyling approvato per Campi disponibili / Campi del lotto, senza alterare il drag & drop. */
.traceCreateFormWrap .codeBuilder{display:grid;grid-template-columns:1fr!important;gap:18px;background:transparent;border:0;padding:0}
.traceCreateFormWrap .codePalette,
.traceCreateFormWrap .codeCanvas{border:1px solid #D8E0E3!important;border-radius:14px!important;background:#fff!important;box-shadow:0 4px 16px rgba(47,69,80,.035);padding:20px!important}
.traceCreateFormWrap .codePalette{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important}
.traceCreateFormWrap .codePalette>strong{font-size:22px;line-height:1.15;color:#2C2C2C}
.traceCreateFormWrap .codePalette>small:first-of-type{font-size:13px;color:#71817D;margin-top:-6px}
.traceCreateFormWrap .paletteItem{min-height:82px;border:1px solid #AEBCC1!important;border-radius:12px!important;background:#fff!important;color:#2F4550!important;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:7px;font-size:24px;font-weight:800;box-shadow:none!important}
.traceCreateFormWrap .paletteItem span{font-size:13px;font-weight:700;color:#2C2C2C}
.traceCreateFormWrap .paletteItem:hover,
.traceCreateFormWrap .paletteItem:focus-visible{border-color:#2F4550!important;background:#F4F4F9!important;transform:translateY(-1px)}
.traceCreateFormWrap .codeCanvasHead{display:flex!important;align-items:center!important;justify-content:space-between!important;flex-direction:row!important;gap:16px;margin-bottom:14px}
.traceCreateFormWrap .codeCanvasHead strong{font-size:22px;color:#2C2C2C}
.traceCreateFormWrap .codeCanvasHead small{font-size:13px;color:#71817D}
.traceCreateFormWrap .inlineCodeFields{gap:10px!important}
.traceCreateFormWrap .inlineCodeField{grid-template-columns:32px minmax(210px,.95fr) minmax(230px,1fr) 44px!important;grid-template-rows:auto!important;align-items:center!important;gap:12px!important;padding:12px 14px!important;border:1px solid #D8E0E3!important;border-radius:12px!important;background:#fff!important;box-shadow:none!important;min-height:82px}
.traceCreateFormWrap .inlineCodeField:hover{border-color:#AEBCC1!important;background:#FCFDFD!important}
.traceCreateFormWrap .inlineCodeField.dragging{opacity:.48;transform:scale(.995)}
.traceCreateFormWrap .inlineCodeField.dragOver{border-color:#2F4550!important;box-shadow:inset 0 3px 0 #2F4550!important;background:#F7F9FA!important}
.traceCreateFormWrap .inlineCodeField>.dragHandle{grid-column:1!important;grid-row:1!important;align-self:center!important;justify-self:center;font-size:0;color:#71817D;cursor:grab}
.traceCreateFormWrap .inlineCodeField>.dragHandle::before{content:'⠿';font-size:24px;line-height:1}
.traceCreateFormWrap .inlineFieldToggle{grid-column:2!important;grid-row:1!important;min-height:58px;border:1px solid #AEBCC1!important;border-radius:10px!important;background:#F8FAFA!important;padding:10px 14px!important;color:#2F4550!important}
.traceCreateFormWrap .inlineFieldToggle strong{font-size:15px}
.traceCreateFormWrap .inlineFieldToggle small{font-size:11px;color:#71817D;letter-spacing:.04em}
.traceCreateFormWrap .inlineMainValue{grid-column:3!important;grid-row:1!important;margin:0!important;font-size:12px;font-weight:700;color:#2C2C2C}
.traceCreateFormWrap .inlineMainValue input{margin-top:6px;min-height:46px;background:#fff}
.traceCreateFormWrap .removeInlineField{grid-column:4!important;grid-row:1!important;width:42px!important;height:42px!important;align-self:center!important;border:1px solid #2F4550!important;border-radius:50%!important;background:#fff!important;color:#2F4550!important;font-size:22px!important;line-height:1!important}
.traceCreateFormWrap .removeInlineField:hover{background:#2F4550!important;color:#F4F4F9!important}
.traceCreateFormWrap .inlineFieldOptions{grid-column:2/5!important;grid-row:2!important;margin-top:0!important;padding:14px!important;border-radius:10px;background:#F4F4F9;border:1px solid #D8E0E3}
.traceCreateFormWrap .codeDropHint{min-height:64px;border:1px dashed #AEBCC1!important;border-radius:12px!important;background:#FCFDFD!important;display:flex;align-items:center;justify-content:center;color:#71817D;font-size:13px;margin-top:12px}
.traceCreateFormWrap .codeDropHint::before{content:'＋';display:inline-grid;place-items:center;width:26px;height:26px;margin-right:8px;border:1px solid #71817D;border-radius:50%;font-size:18px;color:#2F4550}

@media(max-width:900px){
  .lotArchiveTable .lotArchiveActions{justify-content:flex-start}
  .traceCreateFormWrap .codePalette{grid-template-columns:repeat(3,minmax(90px,1fr))!important}
  .traceCreateFormWrap .inlineCodeField{grid-template-columns:28px minmax(0,1fr) 44px!important;grid-template-rows:auto auto!important}
  .traceCreateFormWrap .inlineFieldToggle{grid-column:2!important;grid-row:1!important}
  .traceCreateFormWrap .inlineMainValue{grid-column:2!important;grid-row:2!important}
  .traceCreateFormWrap .removeInlineField{grid-column:3!important;grid-row:1/3!important}
  .traceCreateFormWrap .inlineFieldOptions{grid-column:2/4!important;grid-row:3!important}
}
@media(max-width:560px){
  .traceCreateFormWrap .codePalette{grid-template-columns:1fr!important}
  .traceCreateFormWrap .codePalette,.traceCreateFormWrap .codeCanvas{padding:15px!important}
  .traceCreateFormWrap .codeCanvasHead{align-items:flex-start!important;flex-direction:column!important;gap:4px}
}

.lotCatalogFields[hidden],.lotManualFields[hidden]{display:none!important}

/* FIX34 — sorgente prodotto lotto */
.lotProductAddRow{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px;align-items:center}
.lotProductAddRow .button{width:auto;min-height:38px;padding:8px 14px}
.lotCatalogFields[hidden],.lotManualFields[hidden]{display:none!important}
@media(max-width:700px){.lotProductAddRow{align-items:stretch}.lotProductAddRow .button{flex:1 1 100%}}

/* FIX34 — scelta sorgente prodotto nel nuovo lotto */
.lotProductAddRow{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px;align-items:center}
.lotProductAddRow .button{width:auto;min-height:38px;padding:8px 14px}
.lotCatalogFields[hidden],.lotManualFields[hidden]{display:none!important}
@media(max-width:700px){.lotProductAddRow{align-items:stretch}.lotProductAddRow .button{flex:1 1 100%}}


/* FIX35 — visibilità sorgente prodotto e allineamento campi catalogo */
.lotProductSource[data-product-source="manual"] .lotCatalogFields{display:none!important}
.lotProductSource[data-product-source="catalog"] .lotManualFields{display:none!important}
.lotCatalogFields{align-items:start}
.lotCatalogField{display:grid;grid-template-rows:auto 52px;align-content:start;gap:8px;margin:0}
.lotCatalogField select{width:100%;height:52px;min-height:52px;margin:0}
.lotProductAddRow{grid-column:1/-1;margin-top:0}
.lotCatalogFields>.helpText{grid-column:1/-1;margin-top:0}
@media(max-width:900px){.lotCatalogField{grid-template-rows:auto 50px}.lotCatalogField select{height:50px;min-height:50px}}


/* FIX36 — sorgente prodotto e cestino prodotti */
.lotCatalogFields[hidden],.lotManualFields[hidden]{display:none!important}
.lotProductSource[data-product-source="manual"] .lotCatalogFields{display:none!important}
.lotProductSource[data-product-source="catalog"] .lotManualFields{display:none!important}
.catalogTrashRetentionNotice{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;padding:13px 15px;border:1px solid #d8e0e3;border-radius:11px;background:#f4f4f9;color:#2f4550}.catalogTrashRetentionNotice span{color:#586f7c;font-size:13px}.catalogTrashAction{display:flex!important;align-items:center;justify-content:center;gap:7px}.catalogTrashAction form{margin:0}.catalogPurgeAction{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #c53b3b;border-radius:9px;background:#fff;color:#b52f2f;cursor:pointer}.catalogPurgeAction:hover{background:#b52f2f;color:#fff}.catalogTrashTable td[data-label="Eliminazione automatica"] strong,.catalogTrashTable td[data-label="Eliminazione automatica"] small{display:block}.catalogTrashTable td[data-label="Eliminazione automatica"] small{margin-top:3px;color:#6b7280}.catalogTrashBulk .button.danger{background:#b52f2f!important;border-color:#b52f2f!important;color:#fff!important}
@media(max-width:900px){.catalogTrashRetentionNotice{align-items:flex-start;flex-direction:column}.catalogTrashAction{justify-content:flex-start!important}}

/* FIX37 — leggibilità cestino prodotti */
.catalogTrashPage{min-width:0}
.catalogTrashPage .catalogTrashTable{
  width:100%;
  max-width:100%;
  table-layout:fixed;
}
.catalogTrashPage .catalogTrashTable th,
.catalogTrashPage .catalogTrashTable td{
  overflow:hidden;
  text-overflow:ellipsis;
}
.catalogTrashPage .catalogTrashTable th:first-child{width:44px}
.catalogTrashPage .catalogTrashTable th:nth-child(2){width:58px}
.catalogTrashPage .catalogTrashTable th:nth-child(3){width:170px}
.catalogTrashPage .catalogTrashTable th:nth-child(4){width:128px}
.catalogTrashPage .catalogTrashTable th:nth-child(5){width:100px}
.catalogTrashPage .catalogTrashTable th:nth-child(6){width:92px}
.catalogTrashPage .catalogTrashTable th:nth-child(7){width:96px}
.catalogTrashPage .catalogTrashTable th:nth-child(8){width:132px}
.catalogTrashPage .catalogTrashTable th:nth-child(9){width:130px}
.catalogTrashPage .catalogTrashTable th:last-child{width:108px}
.catalogTrashPage .catalogTrashAction{
  min-width:100px;
  justify-content:flex-end!important;
  white-space:nowrap;
}
.catalogTrashPage .catalogRestoreAction,
.catalogTrashPage .catalogPurgeAction{
  width:40px;
  height:40px;
  min-width:40px;
}
.catalogTrashPage .catalogTrashImage img,
.catalogTrashPage .catalogTrashImage>span{
  width:44px;
  height:44px;
}
@media (max-width:1180px) and (min-width:761px){
  .catalogTrashPage{overflow-x:auto}
  .catalogTrashPage .catalogTrashTable{min-width:1040px}
}

/* FIX38 — Schede lotto base e pubblicazione separata */
.templateLibrary,.batchSetupChoice{max-width:1180px}.templateCreate{display:grid;grid-template-columns:1fr 1.4fr auto;gap:16px;align-items:end;margin:24px 0}.templateGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.templateGrid article{border:1px solid #d8e0e3;border-radius:14px;padding:20px;background:#fff;display:flex;flex-direction:column;justify-content:space-between;gap:18px}.templateGrid small{color:#586f7c;font-weight:700}.templateEditorHead{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:20px}.templateEditorHead>div{display:flex;gap:10px}.templateEditorHead form{margin:0}.staticTabs{margin-bottom:20px}.templatePanel{display:none}.templatePanel.activePanel{display:block}.templateEvent{display:flex;justify-content:space-between;gap:18px;border:1px solid #d8e0e3;border-radius:12px;padding:16px;margin-bottom:10px}.templateEvent p{margin:.4rem 0 0}.batchSetupGrid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:24px}.batchSetupGrid>form{border:1px solid #d8e0e3;border-radius:16px;padding:26px;background:#fff;display:flex;flex-direction:column;gap:12px}.batchSetupGrid>form>span{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#f4f4f9;color:#2f4550;font-size:25px}.publishPanel{padding:4px}.publishChecklist>div{border:1px solid #d8e0e3;border-radius:12px;padding:18px;margin:14px 0}.publishChecklist .warning{background:#fff9eb;border-color:#ead49a}.publishChecklist .complete{background:#f2f7f5;border-color:#b9d2c9}.publishedActions{display:grid;gap:18px;justify-items:start}.publishPanel .qr{margin-top:4px}.publishPanel button[disabled]{opacity:.45;cursor:not-allowed}.detailGrid>.publishPanel{display:none}.detailGrid>.publishPanel.activePanel{display:block}
@media(max-width:800px){.templateCreate,.batchSetupGrid{grid-template-columns:1fr}.templateEditorHead{align-items:flex-start;flex-direction:column}.templateEditorHead>div{flex-wrap:wrap}.editorTabs{overflow-x:auto;white-space:nowrap}}

/* SHE-LINK V11 FIX40 — allineamento campi creazione Scheda lotto */
.templateCreate{
  align-items:end;
}
.templateCreate>label{
  display:grid;
  grid-template-rows:auto 58px;
  gap:8px;
  margin:0;
  align-self:stretch;
}
.templateCreate>label>input,
.templateCreate>label>textarea{
  width:100%;
  height:58px;
  min-height:58px;
  box-sizing:border-box;
  margin:0;
}
.templateCreate>label>textarea{
  resize:vertical;
  padding-top:14px;
}
.templateCreate>button{
  min-height:58px;
  margin:0;
}
@media(max-width:800px){
  .templateCreate>label{
    grid-template-rows:auto auto;
  }
  .templateCreate>label>input,
  .templateCreate>label>textarea,
  .templateCreate>button{
    min-height:52px;
    height:auto;
  }
}

/* SHE-LINK V11 FIX41 — allineamento superiore creazione Scheda lotto */
.templateCreate{
  align-items:start;
}
.templateCreate>label{
  align-self:start;
}
.templateCreate>button{
  align-self:start;
  margin-top:30px;
}
@media(max-width:800px){
  .templateCreate>button{
    margin-top:0;
  }
}

/* FIX44 – evidenza flag schema tecnico */
.technicalSheetToggle{
  display:flex;
  align-items:center;
  gap:12px;
  font-size:19px;
  font-weight:700;
  line-height:1.35;
  margin-top:14px;
}
.technicalSheetToggle input[type="checkbox"]{
  width:28px;
  height:28px;
  min-width:28px;
  margin:0;
  accent-color:#2f4550;
  cursor:pointer;
}
.technicalSheetToggle span{cursor:pointer}
.technicalSheetHelp{
  display:block;
  margin-top:7px;
  max-width:920px;
}
@media(max-width:800px){
  .technicalSheetToggle{font-size:17px;align-items:flex-start}
  .technicalSheetToggle input[type="checkbox"]{width:25px;height:25px;min-width:25px;margin-top:1px}
}

/* FIX46 — Passaporto digitale: Modelli e Aspetto modelli */
.passportTabs{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0 26px;padding-bottom:12px;border-bottom:1px solid #D8E0E3}
.passportTabs a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border:1px solid #2F4550;border-radius:12px;color:#2F4550;text-decoration:none;font-weight:700;background:#fff}
.passportTabs a:hover{background:#EEF1F3}
.passportTabs a.active{background:#2F4550;color:#F4F4F9;border-color:#2F4550}
.passportAppearanceHelp{margin-top:-4px;margin-bottom:20px}
@media(max-width:700px){.passportTabs{display:grid;grid-template-columns:1fr}.passportTabs a{width:100%}}


/* FIX47 — anteprima colori Passaporto digitale */
.publicColorGrid{align-items:start}
.publicColorField{gap:10px!important}
.publicColorField>span:first-child{font-size:13px;font-weight:800}
.publicColorPicker{--selected-color:#ffffff;display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;min-height:54px;border:1px solid #d8e0e3;border-radius:12px;background:#fff;overflow:hidden}
.publicColorPicker input[type="color"]{appearance:none!important;-webkit-appearance:none!important;width:64px!important;height:54px!important;min-height:54px!important;padding:5px!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;cursor:pointer}
.publicColorPicker input[type="color"]::-webkit-color-swatch-wrapper{padding:0}
.publicColorPicker input[type="color"]::-webkit-color-swatch{border:0;border-radius:8px}
.publicColorPicker input[type="color"]::-moz-color-swatch{border:0;border-radius:8px}
.publicColorPicker output{display:flex;align-items:center;height:100%;padding:0 14px;border-left:1px solid #d8e0e3;font-size:13px;font-weight:800;letter-spacing:.04em;color:#2c2c2c}
@media(max-width:800px){.publicColorPicker{grid-template-columns:72px minmax(0,1fr)}.publicColorPicker input[type="color"]{width:72px!important}}

/* FIX49: colori del passaporto digitale */
.publicMain h1,.publicMain h2,.publicMain h3{color:var(--accent)}
.hero h1,.hero h2,.hero h3{color:#fff}
.publicColorGrid{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:1100px){.publicColorGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.publicColorGrid{grid-template-columns:1fr}}

/* SHE-LINK V11 FIX50 — editor Blocchi della pagina disposto in verticale */
body:not(.public) details.templateEvent{
  display:block!important;
  padding:0!important;
  background:#fff!important;
  color:#2c2c2c!important;
  overflow:hidden;
}
body:not(.public) details.templateEvent[open]{
  display:flex!important;
  flex-direction:column!important;
}
body:not(.public) details.templateEvent[open] > form:first-of-type{
  order:1;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  width:100%;
  padding:18px!important;
  background:#fff!important;
  color:#2c2c2c!important;
  border-bottom:1px solid #d8e0e3;
}
body:not(.public) details.templateEvent[open] > form:first-of-type > label{
  min-width:0;
  margin:0;
  color:#2c2c2c!important;
}
body:not(.public) details.templateEvent[open] > form:first-of-type > label:nth-of-type(1),
body:not(.public) details.templateEvent[open] > form:first-of-type > label:nth-of-type(2){
  grid-column:span 2;
}
body:not(.public) details.templateEvent[open] > form:first-of-type textarea{
  min-height:110px;
  background:#fff!important;
  color:#2c2c2c!important;
}
body:not(.public) details.templateEvent[open] > form:first-of-type input,
body:not(.public) details.templateEvent[open] > form:first-of-type select{
  background:#fff!important;
  color:#2c2c2c!important;
}
body:not(.public) details.templateEvent[open] > form:first-of-type .currentAttachment{
  grid-column:1/-1;
}
body:not(.public) details.templateEvent[open] > form:first-of-type > button{
  align-self:end;
  justify-self:start;
}
body:not(.public) details.templateEvent[open] > summary{
  order:2;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  gap:12px;
  width:100%;
  padding:18px!important;
  background:#fff!important;
  color:#2c2c2c!important;
  border:0!important;
}
body:not(.public) details.templateEvent[open] > summary:hover{
  background:#f7f8f8!important;
  color:#2c2c2c!important;
}
body:not(.public) details.templateEvent[open] > summary *,
body:not(.public) details.templateEvent[open] > summary::marker{
  color:#2c2c2c!important;
}
body:not(.public) details.templateEvent[open] > summary span:nth-child(2){
  display:grid;
  gap:8px;
}
body:not(.public) details.templateEvent[open] > summary small{
  color:#2c2c2c!important;
  font-size:14px;
  font-weight:400;
  line-height:1.6;
  white-space:pre-wrap;
}
body:not(.public) details.templateEvent[open] > form.inlineDelete{
  order:3;
  display:block;
  margin:0!important;
  padding:0 18px 18px;
  background:#fff;
}
@media(max-width:1000px){
  body:not(.public) details.templateEvent[open] > form:first-of-type{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:650px){
  body:not(.public) details.templateEvent[open] > form:first-of-type{
    grid-template-columns:1fr;
  }
  body:not(.public) details.templateEvent[open] > form:first-of-type > label:nth-of-type(1),
  body:not(.public) details.templateEvent[open] > form:first-of-type > label:nth-of-type(2){
    grid-column:auto;
  }
}

/* SHE-LINK V11 FIX51 — Blocchi della pagina, layout semplice approvato */
.templateBlocksHead{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin:6px 0 22px}.templateBlocksHead h3{margin:0 0 6px;font-size:24px}.templateBlocksHead p{margin:0;color:#68727f}.templateAddBlock{white-space:nowrap}
body:not(.public) details.templateEventClean{display:block!important;margin:0 0 18px!important;padding:0!important;border:1px solid #d8e0e3!important;border-radius:16px!important;background:#fff!important;overflow:hidden!important;color:#2c2c2c!important}
body:not(.public) details.templateEventClean>summary{display:grid!important;grid-template-columns:auto auto minmax(0,1fr) auto!important;align-items:center!important;gap:14px!important;padding:18px 20px!important;background:#fff!important;color:#2c2c2c!important;border:0!important;cursor:pointer!important;list-style:none!important}
body:not(.public) details.templateEventClean>summary::-webkit-details-marker{display:none}
body:not(.public) details.templateEventClean>summary:hover{background:#f7f8f8!important;color:#2c2c2c!important}
body:not(.public) details.templateEventClean>summary .dragHandle{font-size:20px;color:#586f7c!important;cursor:grab}
body:not(.public) details.templateEventClean>summary .templateNumberBadge{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#e3efeb;color:#586f7c!important;font-weight:800;font-size:15px}
body:not(.public) details.templateEventClean>summary>span:nth-of-type(3){display:block!important;min-width:0}
body:not(.public) details.templateEventClean>summary strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:17px;color:#2c2c2c!important}
body:not(.public) details.templateEventClean>summary>span:last-child{display:grid;place-items:center;width:42px;height:42px;border:1px solid #d8e0e3;border-radius:10px;font-size:20px;color:#2f4550!important}
body:not(.public) details.templateEventClean[open]>form:first-of-type{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;gap:16px!important;padding:20px!important;background:#fff!important;color:#2c2c2c!important;border-top:1px solid #eef1f3!important;border-bottom:0!important;order:initial!important}
body:not(.public) details.templateEventClean[open]>form:first-of-type>label{margin:0!important;min-width:0;color:#2c2c2c!important}
body:not(.public) details.templateEventClean .field-title{grid-column:span 6}
body:not(.public) details.templateEventClean .field-description{grid-column:span 6}
body:not(.public) details.templateEventClean .field-image{grid-column:span 3}
body:not(.public) details.templateEventClean .field-block_style{grid-column:span 3}
body:not(.public) details.templateEventClean .field-location{grid-column:span 3}
body:not(.public) details.templateEventClean .field-occurred_at{grid-column:span 3}
body:not(.public) details.templateEventClean .field-sort_order{grid-column:span 3}
body:not(.public) details.templateEventClean .field-is_public{grid-column:span 5;align-self:center;min-height:52px;display:flex!important;align-items:center!important}
body:not(.public) details.templateEventClean[open]>form:first-of-type>button{grid-column:11/13;justify-self:stretch!important;align-self:end!important;min-height:50px}
body:not(.public) details.templateEventClean textarea{min-height:112px!important;background:#fff!important;color:#2c2c2c!important}
body:not(.public) details.templateEventClean input,body:not(.public) details.templateEventClean select{background:#fff!important;color:#2c2c2c!important}
body:not(.public) details.templateEventClean .currentAttachment{grid-column:1/-1!important;margin:0!important}
.templateBlockPreview{margin:0 20px 20px;padding:18px 0 0;border-top:1px solid #d8e0e3;background:#fff;color:#2c2c2c}
.templateBlockPreview>small{display:block;margin-bottom:20px;font-weight:800;color:#2c2c2c}.templateBlockPreview>small span{font-weight:400}
.templateBlockPreview>div{display:grid;grid-template-columns:56px minmax(0,1fr);gap:18px;align-items:start}
.templateBlockPreview b{font-size:28px;line-height:1;color:#9bb3ad}.templateBlockPreview h4{margin:0 0 8px;font-size:17px;color:#111}.templateBlockPreview p{margin:0;color:#111;line-height:1.65;white-space:pre-wrap}
body:not(.public) details.templateEventClean>form.inlineDelete{display:block!important;margin:0!important;padding:0 20px 20px!important;background:#fff!important;order:initial!important}
body:not(.public) details.templateEventClean>form.inlineDelete .danger{min-width:138px}
@media(max-width:1000px){body:not(.public) details.templateEventClean[open]>form:first-of-type{grid-template-columns:repeat(2,minmax(0,1fr))!important}.templateEventClean [class*="field-"]{grid-column:auto!important}body:not(.public) details.templateEventClean[open]>form:first-of-type>button{grid-column:auto!important}}
@media(max-width:650px){.templateBlocksHead{flex-direction:column}.templateAddBlock{width:100%}body:not(.public) details.templateEventClean>summary{grid-template-columns:auto auto minmax(0,1fr) auto!important;padding:14px!important}.templateBlockPreview{margin:0 14px 16px}.templateBlockPreview>div{grid-template-columns:42px minmax(0,1fr)}body:not(.public) details.templateEventClean[open]>form:first-of-type{grid-template-columns:1fr!important;padding:14px!important}body:not(.public) details.templateEventClean>form.inlineDelete{padding:0 14px 16px!important}}

/* FIX52 — layout approvato per Blocchi della pagina nel singolo lotto */
body:not(.public) details.eventEditorClean{position:relative;display:block!important;margin:0 0 18px!important;padding:0!important;border:1px solid #d8e0e3!important;border-radius:16px!important;background:#fff!important;overflow:hidden!important;color:#2c2c2c!important;box-shadow:none!important}
body:not(.public) details.eventEditorClean>summary{display:grid!important;grid-template-columns:auto auto minmax(0,1fr) auto!important;align-items:center!important;gap:16px!important;padding:20px 88px 18px 20px!important;background:#fff!important;color:#2c2c2c!important;border:0!important;cursor:pointer!important;list-style:none!important}
body:not(.public) details.eventEditorClean>summary::-webkit-details-marker{display:none}
body:not(.public) details.eventEditorClean>summary:hover{background:#fafbfb!important}
body:not(.public) details.eventEditorClean>summary .dragHandle{font-size:22px;color:#586f7c!important;cursor:grab}
body:not(.public) details.eventEditorClean .eventNumberBadge{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#e3efeb;color:#5f7784!important;font-weight:800;font-size:15px;line-height:1}
body:not(.public) details.eventEditorClean>summary>span:nth-of-type(2){display:block!important;min-width:0}
body:not(.public) details.eventEditorClean>summary strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:17px;color:#2c2c2c!important}
body:not(.public) details.eventEditorClean .eventToggleIcon{display:grid!important;place-items:center;width:42px;height:42px;border:1px solid #d8e0e3;border-radius:10px;font-size:20px;color:#2f4550!important;background:#fff!important}
body:not(.public) details.eventEditorClean .eventHeaderActions{position:absolute;top:20px;right:20px;display:flex;align-items:center;gap:10px;z-index:2}
body:not(.public) details.eventEditorClean .eventHeaderDelete{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;border:1px solid #f0d4d7;background:#fff7f8;color:#bf343d;font-size:18px;line-height:1;padding:0}
body:not(.public) details.eventEditorClean[open]>form:first-of-type{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;gap:16px!important;padding:0 20px 18px!important;background:#fff!important;color:#2c2c2c!important;border:0!important}
body:not(.public) details.eventEditorClean[open]>form:first-of-type>label{margin:0!important;min-width:0;color:#2c2c2c!important}
body:not(.public) details.eventEditorClean .field-title{grid-column:span 6}
body:not(.public) details.eventEditorClean .field-description{grid-column:span 6}
body:not(.public) details.eventEditorClean .field-image{grid-column:span 3}
body:not(.public) details.eventEditorClean .field-block_style{grid-column:span 3}
body:not(.public) details.eventEditorClean .field-location{grid-column:span 3}
body:not(.public) details.eventEditorClean .field-occurred_at{grid-column:span 3}
body:not(.public) details.eventEditorClean .field-sort_order{grid-column:span 3}
body:not(.public) details.eventEditorClean .field-is_public{grid-column:span 5;display:flex!important;align-items:center!important;align-self:center;min-height:52px;padding-top:12px}
body:not(.public) details.eventEditorClean[open]>form:first-of-type>button{grid-column:11/13;justify-self:stretch!important;align-self:end!important;min-height:56px;margin-top:8px}
body:not(.public) details.eventEditorClean textarea{min-height:150px!important;background:#fff!important;color:#2c2c2c!important}
body:not(.public) details.eventEditorClean input,body:not(.public) details.eventEditorClean select{background:#fff!important;color:#2c2c2c!important}
body:not(.public) details.eventEditorClean .currentAttachment{grid-column:1/-1!important;margin:0!important}
body:not(.public) details.eventEditorClean .eventBlockPreview{margin:0 20px;padding:18px 0 20px;border-top:1px solid #eef1f3;background:#fff!important}
body:not(.public) details.eventEditorClean .eventBlockPreview small{display:block;margin-bottom:16px;font-size:14px;font-weight:800;color:#2c2c2c;letter-spacing:0}
body:not(.public) details.eventEditorClean .eventBlockPreview small span{color:#586f7c;font-weight:700}
body:not(.public) details.eventEditorClean .eventBlockPreview>div{display:grid;grid-template-columns:52px minmax(0,1fr);gap:24px;align-items:start}
body:not(.public) details.eventEditorClean .eventBlockPreview b{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#e3efeb;color:#a3b8b1;font-size:26px;font-weight:700;line-height:1}
body:not(.public) details.eventEditorClean .eventBlockPreview article{min-width:0}
body:not(.public) details.eventEditorClean .eventBlockPreview h4{margin:4px 0 12px;font-size:20px;color:#202020}
body:not(.public) details.eventEditorClean .eventBlockPreview p{margin:0;color:#202020;line-height:1.7;white-space:normal}
body:not(.public) details.eventEditorClean>form.inlineDelete{display:block!important;margin:0!important;padding:0 20px 20px!important;background:#fff!important}
body:not(.public) details.eventEditorClean>form.inlineDelete .danger{min-width:160px}
@media(max-width:1000px){body:not(.public) details.eventEditorClean[open]>form:first-of-type{grid-template-columns:repeat(2,minmax(0,1fr))!important}body:not(.public) details.eventEditorClean .field-title,body:not(.public) details.eventEditorClean .field-description,body:not(.public) details.eventEditorClean .field-image,body:not(.public) details.eventEditorClean .field-block_style,body:not(.public) details.eventEditorClean .field-location,body:not(.public) details.eventEditorClean .field-occurred_at,body:not(.public) details.eventEditorClean .field-sort_order,body:not(.public) details.eventEditorClean .field-is_public{grid-column:auto!important}body:not(.public) details.eventEditorClean[open]>form:first-of-type>button{grid-column:auto!important}}
@media(max-width:650px){body:not(.public) details.eventEditorClean>summary{padding:16px 70px 16px 14px!important;gap:12px!important}body:not(.public) details.eventEditorClean .eventHeaderActions{top:16px;right:14px}.eventEditorClean .eventBlockPreview{margin:0 14px}.eventEditorClean .eventBlockPreview>div{grid-template-columns:44px minmax(0,1fr);gap:16px}body:not(.public) details.eventEditorClean[open]>form:first-of-type{grid-template-columns:1fr!important;padding:0 14px 16px!important}body:not(.public) details.eventEditorClean>form.inlineDelete{padding:0 14px 16px!important}}

/* FIX53 — struttura HTML definitiva: nessun elemento duplicato */
body:not(.public) details.eventEditorClean>summary>span.eventSummaryTitle{display:block!important;min-width:0!important}
body:not(.public) details.eventEditorClean>summary>span.eventSummaryTitle strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body:not(.public) details.eventEditorClean>button.eventHeaderDelete{position:absolute!important;top:20px!important;right:20px!important;z-index:4!important;display:grid!important;place-items:center!important;width:42px!important;height:42px!important;min-width:42px!important;padding:0!important;margin:0!important;border-radius:10px!important;border:1px solid #f0d4d7!important;background:#fff7f8!important;color:#bf343d!important;font-size:19px!important;line-height:1!important}
body:not(.public) details.eventEditorClean>summary{padding-right:138px!important}
body:not(.public) details.eventEditorClean>summary .eventToggleIcon{position:absolute;top:20px;right:72px}
body:not(.public) details.eventEditorClean:not([open])>.eventEditForm,
body:not(.public) details.eventEditorClean:not([open])>.eventBlockPreview,
body:not(.public) details.eventEditorClean:not([open])>.editorDelete{display:none!important}
@media(max-width:650px){body:not(.public) details.eventEditorClean>button.eventHeaderDelete{top:14px!important;right:14px!important}body:not(.public) details.eventEditorClean>summary .eventToggleIcon{top:14px;right:66px}body:not(.public) details.eventEditorClean>summary{padding-right:124px!important}}

/* FIX54 — struttura reale a scheda, senza details/summary */
body:not(.public) article.eventEditorClean{position:relative;display:block!important;margin:0 0 18px!important;padding:0!important;border:1px solid #d8e0e3!important;border-radius:16px!important;background:#fff!important;overflow:hidden!important;color:#2c2c2c!important;box-shadow:none!important}
body:not(.public) article.eventEditorClean .eventCardHeader{display:grid!important;grid-template-columns:auto auto minmax(0,1fr) auto!important;align-items:center!important;gap:16px!important;padding:18px 20px!important;background:#fff!important;border-bottom:1px solid #eef1f3!important}
body:not(.public) article.eventEditorClean .eventCardHeader .dragHandle{font-size:22px;color:#586f7c!important;cursor:grab}
body:not(.public) article.eventEditorClean .eventNumberBadge{display:grid!important;place-items:center;width:44px;height:44px;border-radius:50%;background:#e3efeb;color:#5f7784!important;font-weight:800;font-size:15px;line-height:1}
body:not(.public) article.eventEditorClean .eventSummaryTitle{display:block;min-width:0}
body:not(.public) article.eventEditorClean .eventSummaryTitle strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:17px;color:#2c2c2c!important}
body:not(.public) article.eventEditorClean .eventCardActions{display:flex;align-items:center;gap:10px}
body:not(.public) article.eventEditorClean .eventCardToggle,body:not(.public) article.eventEditorClean .eventHeaderDelete{display:grid!important;place-items:center;width:42px!important;height:42px!important;min-width:42px!important;padding:0!important;margin:0!important;border-radius:10px!important;background:#fff!important;font-size:19px!important;line-height:1!important}
body:not(.public) article.eventEditorClean .eventCardToggle{border:1px solid #d8e0e3!important;color:#2f4550!important}
body:not(.public) article.eventEditorClean .eventHeaderDelete{border:1px solid #f0d4d7!important;background:#fff7f8!important;color:#bf343d!important}
body:not(.public) article.eventEditorClean .eventEditForm{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;gap:16px!important;padding:20px!important;background:#fff!important;color:#2c2c2c!important;border:0!important}
body:not(.public) article.eventEditorClean .eventEditForm>label{margin:0!important;min-width:0;color:#2c2c2c!important}
body:not(.public) article.eventEditorClean .field-title{grid-column:span 6}
body:not(.public) article.eventEditorClean .field-description{grid-column:span 6}
body:not(.public) article.eventEditorClean .field-image{grid-column:span 3}
body:not(.public) article.eventEditorClean .field-block_style{grid-column:span 3}
body:not(.public) article.eventEditorClean .field-location{grid-column:span 3}
body:not(.public) article.eventEditorClean .field-occurred_at{grid-column:span 3}
body:not(.public) article.eventEditorClean .field-sort_order{grid-column:span 3}
body:not(.public) article.eventEditorClean .field-is_public{grid-column:span 5;display:flex!important;align-items:center!important;align-self:center;min-height:52px;padding-top:12px}
body:not(.public) article.eventEditorClean .eventEditForm>button{grid-column:11/13;justify-self:stretch!important;align-self:end!important;min-height:56px;margin-top:8px}
body:not(.public) article.eventEditorClean textarea{min-height:150px!important;background:#fff!important;color:#2c2c2c!important}
body:not(.public) article.eventEditorClean input,body:not(.public) article.eventEditorClean select{background:#fff!important;color:#2c2c2c!important}
body:not(.public) article.eventEditorClean .currentAttachment{grid-column:1/-1!important;margin:0!important}
body:not(.public) article.eventEditorClean .eventBlockPreview{margin:0 20px;padding:18px 0 20px;border-top:1px solid #eef1f3;background:#fff!important}
body:not(.public) article.eventEditorClean .eventBlockPreview small{display:block;margin-bottom:16px;font-size:14px;font-weight:800;color:#2c2c2c;letter-spacing:0}
body:not(.public) article.eventEditorClean .eventBlockPreview small span{color:#586f7c;font-weight:700}
body:not(.public) article.eventEditorClean .eventBlockPreview>div{display:grid;grid-template-columns:52px minmax(0,1fr);gap:24px;align-items:start}
body:not(.public) article.eventEditorClean .eventBlockPreview b{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#e3efeb;color:#a3b8b1;font-size:26px;font-weight:700;line-height:1}
body:not(.public) article.eventEditorClean .eventBlockPreview h4{margin:4px 0 12px;font-size:20px;color:#202020}
body:not(.public) article.eventEditorClean .eventBlockPreview p{margin:0;color:#202020;line-height:1.7}
body:not(.public) article.eventEditorClean>form.inlineDelete{display:block!important;margin:0!important;padding:0 20px 20px!important;background:#fff!important}
body:not(.public) article.eventEditorClean>form.inlineDelete .danger{min-width:160px}
body:not(.public) article.eventEditorClean.is-collapsed .eventCardHeader{border-bottom:0!important}
@media(max-width:1000px){body:not(.public) article.eventEditorClean .eventEditForm{grid-template-columns:repeat(2,minmax(0,1fr))!important}body:not(.public) article.eventEditorClean .field-title,body:not(.public) article.eventEditorClean .field-description,body:not(.public) article.eventEditorClean .field-image,body:not(.public) article.eventEditorClean .field-block_style,body:not(.public) article.eventEditorClean .field-location,body:not(.public) article.eventEditorClean .field-occurred_at,body:not(.public) article.eventEditorClean .field-sort_order,body:not(.public) article.eventEditorClean .field-is_public{grid-column:auto!important}body:not(.public) article.eventEditorClean .eventEditForm>button{grid-column:auto!important}}
@media(max-width:650px){body:not(.public) article.eventEditorClean .eventCardHeader{grid-template-columns:auto auto minmax(0,1fr)!important;padding:14px!important;gap:12px!important}body:not(.public) article.eventEditorClean .eventCardActions{grid-column:1/-1;justify-content:flex-end}body:not(.public) article.eventEditorClean .eventEditForm{grid-template-columns:1fr!important;padding:14px!important}body:not(.public) article.eventEditorClean .eventBlockPreview{margin:0 14px}body:not(.public) article.eventEditorClean>form.inlineDelete{padding:0 14px 16px!important}}

/* FIX55 — layout approvato per i Blocchi della pagina dei Modelli */
body:not(.public) article.templateEventClean{display:block;margin:0 0 18px;border:1px solid #d8e0e3;border-radius:16px;background:#fff;overflow:hidden;color:#2c2c2c}
body:not(.public) article.templateEventClean .templateCardHeader{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:18px 20px;background:#fff;border-bottom:1px solid #eef1f3}
body:not(.public) article.templateEventClean .templateCardHeader .dragHandle{font-size:21px;color:#586f7c;cursor:grab}
body:not(.public) article.templateEventClean .templateNumberBadge{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#e3efeb;color:#586f7c;font-size:15px;font-weight:800}
body:not(.public) article.templateEventClean .templateCardTitle{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:17px;color:#2c2c2c}
body:not(.public) article.templateEventClean .templateCardActions{display:flex;align-items:center;gap:10px}
body:not(.public) article.templateEventClean .templateCardToggle,
body:not(.public) article.templateEventClean .templateHeaderDelete{display:grid;place-items:center;width:42px;height:42px;padding:0;border-radius:10px;background:#fff}
body:not(.public) article.templateEventClean .templateCardToggle{border:1px solid #d8e0e3;color:#2f4550}
body:not(.public) article.templateEventClean .templateHeaderDelete{border:1px solid #f0d4d7;background:#fff7f8;color:#bf343d}
body:not(.public) article.templateEventClean .templateCardBody{display:block}
body:not(.public) article.templateEventClean.is-collapsed .templateCardBody{display:none}
body:not(.public) article.templateEventClean .templateEditForm{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;padding:20px;background:#fff}
body:not(.public) article.templateEventClean .templateEditForm>label{margin:0;min-width:0}
body:not(.public) article.templateEventClean .templateEditForm .field-title{grid-column:span 6}
body:not(.public) article.templateEventClean .templateEditForm .field-description{grid-column:span 6}
body:not(.public) article.templateEventClean .templateEditForm .field-image{grid-column:span 3}
body:not(.public) article.templateEventClean .templateEditForm .field-block_style{grid-column:span 3}
body:not(.public) article.templateEventClean .templateEditForm .field-location{grid-column:span 3}
body:not(.public) article.templateEventClean .templateEditForm .field-occurred_at{grid-column:span 3}
body:not(.public) article.templateEventClean .templateEditForm .field-sort_order{grid-column:span 3}
body:not(.public) article.templateEventClean .templateEditForm .field-is_public{grid-column:span 5;display:flex;align-items:center;align-self:center;min-height:52px;padding-top:10px}
body:not(.public) article.templateEventClean .templateEditForm>button{grid-column:11/13;align-self:end;min-height:54px}
body:not(.public) article.templateEventClean .templateEditForm textarea{min-height:118px;background:#fff;color:#2c2c2c}
body:not(.public) article.templateEventClean .templateEditForm input,
body:not(.public) article.templateEventClean .templateEditForm select{background:#fff;color:#2c2c2c}
body:not(.public) article.templateEventClean .templateEditForm .currentAttachment{grid-column:1/-1;margin:0}
body:not(.public) article.templateEventClean .templateBlockPreview{margin:0 20px;padding:18px 0 20px;border-top:1px solid #eef1f3;background:#fff}
body:not(.public) article.templateEventClean .templateBlockPreview>small{display:block;margin-bottom:16px;font-size:14px;font-weight:800;color:#2c2c2c}
body:not(.public) article.templateEventClean .templateBlockPreview>small span{color:#586f7c}
body:not(.public) article.templateEventClean .templateBlockPreview>div{display:grid;grid-template-columns:52px minmax(0,1fr);gap:24px;align-items:start}
body:not(.public) article.templateEventClean .templateBlockPreview b{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#e3efeb;color:#9eb5ae;font-size:26px;line-height:1}
body:not(.public) article.templateEventClean .templateBlockPreview h4{margin:4px 0 10px;font-size:20px;color:#202020}
body:not(.public) article.templateEventClean .templateBlockPreview p{margin:0;color:#202020;line-height:1.7}
body:not(.public) article.templateEventClean>form.inlineDelete{display:block;margin:0;padding:0 20px 20px;background:#fff}
body:not(.public) article.templateEventClean>form.inlineDelete .danger{min-width:150px}
@media(max-width:1000px){body:not(.public) article.templateEventClean .templateEditForm{grid-template-columns:repeat(2,minmax(0,1fr))}body:not(.public) article.templateEventClean .templateEditForm [class*="field-"]{grid-column:auto}body:not(.public) article.templateEventClean .templateEditForm>button{grid-column:auto}}
@media(max-width:650px){body:not(.public) article.templateEventClean .templateCardHeader{grid-template-columns:auto auto minmax(0,1fr);padding:14px}body:not(.public) article.templateEventClean .templateCardActions{grid-column:1/-1;justify-content:flex-end}body:not(.public) article.templateEventClean .templateEditForm{grid-template-columns:1fr;padding:14px}body:not(.public) article.templateEventClean .templateBlockPreview{margin:0 14px}body:not(.public) article.templateEventClean .templateBlockPreview>div{grid-template-columns:44px minmax(0,1fr);gap:16px}body:not(.public) article.templateEventClean>form.inlineDelete{padding:0 14px 16px}}

/* FIX56 — azioni modello come icone */
.templateEditorHead .templateModelActions{display:flex;align-items:center;gap:14px}
.templateEditorHead .templateModelActions form{margin:0}
.templateModelIconAction{display:grid!important;place-items:center!important;width:58px!important;height:58px!important;min-width:58px!important;padding:0!important;border:1px solid #d8e0e3!important;border-radius:50%!important;background:#fff!important;color:#2f4550!important;text-decoration:none!important;box-shadow:none!important}
.templateModelIconAction svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.templateModelIconAction:hover{background:#f4f4f9!important;border-color:#bfcbd0!important;color:#2f4550!important}
.templateModelIconAction.dangerIcon{border-radius:14px!important;border-color:#e7b9bd!important;background:#fff!important;color:#bf2d35!important}
.templateModelIconAction.dangerIcon:hover{background:#fff3f4!important;border-color:#bf2d35!important;color:#a91f28!important}
@media(max-width:650px){.templateEditorHead .templateModelActions{gap:10px}.templateModelIconAction{width:50px!important;height:50px!important;min-width:50px!important}.templateModelIconAction svg{width:24px;height:24px}}

/* FIX57 — standard unico per le azioni icona negli header */
body:not(.public) .templateEditorHead .templateModelActions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:12px!important;
  flex-wrap:wrap!important;
}
body:not(.public) .templateEditorHead .templateModelActions form{
  display:inline-flex!important;
  width:auto!important;
  margin:0!important;
}
body:not(.public) .templateEditorHead .templateModelIconAction,
body:not(.public) .templateEditorHead .templateModelIconAction.dangerIcon{
  position:relative!important;
  display:inline-grid!important;
  place-items:center!important;
  width:58px!important;
  min-width:58px!important;
  height:58px!important;
  min-height:58px!important;
  padding:0!important;
  margin:0!important;
  border:1px solid #d3dfdc!important;
  border-radius:50%!important;
  background:#f7faf9!important;
  color:#173b36!important;
  box-shadow:none!important;
  text-decoration:none!important;
  cursor:pointer!important;
  overflow:visible!important;
  transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease,box-shadow .16s ease!important;
}
body:not(.public) .templateEditorHead .templateModelIconAction svg{
  display:block!important;
  width:25px!important;
  height:25px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:2!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  pointer-events:none!important;
}
body:not(.public) .templateEditorHead .templateModelIconAction:hover,
body:not(.public) .templateEditorHead .templateModelIconAction:focus-visible{
  border-color:#a9c5bd!important;
  background:#e7f0ed!important;
  color:#102f2a!important;
  box-shadow:0 8px 20px rgba(20,53,47,.10)!important;
  transform:translateY(-1px)!important;
}
body:not(.public) .templateEditorHead .templateModelIconAction.dangerIcon{
  border-color:#e7b9bd!important;
  color:#bf2d35!important;
}
body:not(.public) .templateEditorHead .templateModelIconAction.dangerIcon:hover,
body:not(.public) .templateEditorHead .templateModelIconAction.dangerIcon:focus-visible{
  border-color:#bf2d35!important;
  background:#fff3f4!important;
  color:#a91f28!important;
}
body:not(.public) .templateEditorHead .templateModelIconAction:focus-visible{
  outline:3px solid rgba(73,145,125,.26)!important;
  outline-offset:3px!important;
}
@media(max-width:650px){
  body:not(.public) .templateEditorHead .templateModelIconAction,
  body:not(.public) .templateEditorHead .templateModelIconAction.dangerIcon{
    width:52px!important;
    min-width:52px!important;
    height:52px!important;
    min-height:52px!important;
  }
  body:not(.public) .templateEditorHead .templateModelIconAction svg{
    width:23px!important;
    height:23px!important;
  }
}

/* FIX58 — hover uniforme per tutte le azioni modello */
body:not(.public) .templateEditorHead a.templateModelIconAction:hover,
body:not(.public) .templateEditorHead a.templateModelIconAction:focus-visible,
body:not(.public) .templateEditorHead button.templateModelIconAction:hover,
body:not(.public) .templateEditorHead button.templateModelIconAction:focus-visible{
  background:#2F4550!important;
  border-color:#2F4550!important;
  color:#F4F4F9!important;
  box-shadow:0 8px 20px rgba(47,69,80,.18)!important;
}
body:not(.public) .templateEditorHead button.templateModelIconAction.dangerIcon:hover,
body:not(.public) .templateEditorHead button.templateModelIconAction.dangerIcon:focus-visible{
  background:#bf2d35!important;
  border-color:#bf2d35!important;
  color:#fff!important;
}

/* FIX59 — Apri modello allineato al titolo */
.templateGrid article{display:block!important}
.templateGrid .templateCardContent{display:grid;gap:12px;min-width:0}
.templateGrid .templateCardTitleRow{display:flex;align-items:center;justify-content:space-between;gap:20px;min-width:0}
.templateGrid .templateCardTitleRow h3{margin:0;min-width:0;overflow-wrap:anywhere}
.templateGrid .templateOpenButton{flex:0 0 auto;white-space:nowrap;margin:0}
.templateGrid .templateCardContent>p{margin:0;color:var(--muted)}
@media(max-width:650px){.templateGrid .templateCardTitleRow{align-items:flex-start;flex-direction:column;gap:12px}.templateGrid .templateOpenButton{width:100%;text-align:center}}

/* FIX60 - Tutti i modelli allineato alla navigazione Passaporto digitale */
.passportTabsRow{display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid #d8e0e3}
.passportTabsRow .passportTabs{border-bottom:0!important;margin-bottom:0!important;flex:0 1 auto}
.passportBackModels{margin-left:auto;white-space:nowrap;align-self:center}
.templateEditorHead{justify-content:flex-end!important}
.templateEditorHead>span[aria-hidden="true"]{display:none}
@media(max-width:700px){.passportTabsRow{align-items:stretch;flex-direction:column;padding-bottom:14px}.passportTabsRow .passportTabs{width:100%;overflow-x:auto}.passportBackModels{margin-left:0;width:100%;text-align:center;justify-content:center}.templateEditorHead{justify-content:flex-start!important}}

/* FIX61 — azioni modello nella riga Modelli / Aspetto modelli */
body:not(.public) .passportTabsRow .passportModelActions{display:flex;align-items:center;gap:14px;flex:0 0 auto;margin-left:auto}
body:not(.public) .passportTabsRow .passportModelActions form{display:flex;margin:0}
body:not(.public) .passportTabsRow .templateModelIconAction,
body:not(.public) .passportTabsRow .templateModelIconAction.dangerIcon{display:inline-grid!important;place-items:center!important;width:58px!important;height:58px!important;min-width:58px!important;min-height:58px!important;padding:0!important;border:1px solid #d8e0e3!important;border-radius:50%!important;background:#fff!important;color:#2f4550!important;text-decoration:none!important;box-shadow:none!important;transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease!important}
body:not(.public) .passportTabsRow .templateModelIconAction svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
body:not(.public) .passportTabsRow a.templateModelIconAction:hover,
body:not(.public) .passportTabsRow a.templateModelIconAction:focus-visible,
body:not(.public) .passportTabsRow button.templateModelIconAction:hover,
body:not(.public) .passportTabsRow button.templateModelIconAction:focus-visible{background:#2f4550!important;border-color:#2f4550!important;color:#f4f4f9!important;transform:translateY(-1px)}
body:not(.public) .passportTabsRow button.templateModelIconAction.dangerIcon:hover,
body:not(.public) .passportTabsRow button.templateModelIconAction.dangerIcon:focus-visible{background:#c1262d!important;border-color:#c1262d!important;color:#fff!important}
body:not(.public) .passportTabsRow .templateModelIconAction:focus-visible{outline:3px solid rgba(47,69,80,.2)!important;outline-offset:3px!important}
body:not(.public) .templateLibrary>.editorTabs.staticTabs{margin-top:24px}
@media(max-width:700px){body:not(.public) .passportTabsRow{align-items:center!important;flex-direction:row!important;flex-wrap:wrap;padding-bottom:14px}body:not(.public) .passportTabsRow .passportTabs{width:auto!important;flex:1 1 100%;overflow-x:auto}body:not(.public) .passportTabsRow .passportModelActions{margin-left:0;gap:10px}body:not(.public) .passportTabsRow .templateModelIconAction,body:not(.public) .passportTabsRow .templateModelIconAction.dangerIcon{width:52px!important;height:52px!important;min-width:52px!important;min-height:52px!important}}


/* FIX65 — ricerca lotti mobile più ampia e leggibile */
@media(max-width:800px){
  .workspace .catalogPage .searchForm{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin-top:18px}
  .workspace .catalogPage .searchForm input,
  .workspace .catalogPage .searchForm select{width:100%;min-width:0;min-height:54px;padding:14px 16px;border-radius:16px;font-size:18px;line-height:1.2}
  .workspace .catalogPage .searchForm button,
  .workspace .catalogPage .searchForm .button{width:100%;min-height:54px;padding:14px 16px;border-radius:16px;font-size:18px;line-height:1.2;text-align:center;justify-content:center}
}
@media(max-width:480px){
  .workspace .catalogPage .searchForm input,
  .workspace .catalogPage .searchForm select,
  .workspace .catalogPage .searchForm button,
  .workspace .catalogPage .searchForm .button{min-height:56px;font-size:19px}
}


/* FIX66 — azioni lotti allineate su mobile */
@media(max-width:800px){
  .workspace .lotArchiveTable td.lotArchiveActions{display:block!important;padding-top:10px;padding-bottom:10px}
  .workspace .lotArchiveTable td.lotArchiveActions::before{display:block;margin-bottom:12px}
  .workspace .lotArchiveTable td.lotArchiveActions>a,
  .workspace .lotArchiveTable td.lotArchiveActions>.inlineDelete{display:inline-flex!important;vertical-align:middle;align-items:center;justify-content:center;margin:0}
  .workspace .lotArchiveTable td.lotArchiveActions>.inlineDelete{margin-left:12px}
}

/* FIX67 — navigazione unica nella sidebar e azioni archivio prodotti a icone */
.productArchive .catalogHeaderActions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:12px!important;
  width:auto!important;
  min-width:0!important;
  flex-wrap:wrap!important;
}
.productArchive .catalogHeaderActions>*{
  width:58px!important;
  min-width:58px!important;
  max-width:58px!important;
  text-align:center!important;
}
body:not(.public) .productArchive .catalogHeaderIconAction{
  position:relative!important;
  display:inline-grid!important;
  place-items:center!important;
  width:58px!important;
  height:58px!important;
  min-width:58px!important;
  min-height:58px!important;
  max-width:58px!important;
  padding:0!important;
  margin:0!important;
  border:1px solid #d8e0e3!important;
  border-radius:50%!important;
  background:#fff!important;
  color:#2f4550!important;
  box-shadow:none!important;
  text-decoration:none!important;
  cursor:pointer!important;
  transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease!important;
}
body:not(.public) .productArchive .catalogHeaderIconAction svg{
  display:block!important;
  width:25px!important;
  height:25px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.9!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  pointer-events:none!important;
}
body:not(.public) .productArchive .catalogHeaderIconAction:hover,
body:not(.public) .productArchive .catalogHeaderIconAction:focus-visible{
  background:#2f4550!important;
  border-color:#2f4550!important;
  color:#f4f4f9!important;
  transform:translateY(-1px)!important;
}
body:not(.public) .productArchive .catalogHeaderIconAction.dangerIcon{
  color:#bf2d35!important;
}
body:not(.public) .productArchive .catalogHeaderIconAction.dangerIcon:hover,
body:not(.public) .productArchive .catalogHeaderIconAction.dangerIcon:focus-visible{
  background:#c1262d!important;
  border-color:#c1262d!important;
  color:#fff!important;
}
body:not(.public) .productArchive .catalogHeaderIconAction:focus-visible{
  outline:3px solid rgba(47,69,80,.2)!important;
  outline-offset:3px!important;
}
.productArchive .catalogHeaderActionBadge{
  position:absolute;
  top:-5px;
  right:-5px;
  display:grid;
  place-items:center;
  min-width:22px;
  height:22px;
  padding:0 6px;
  border:2px solid #fff;
  border-radius:999px;
  background:#c1262d;
  color:#fff;
  font-size:11px;
  font-weight:800;
  line-height:1;
}
@media(max-width:800px){
  .productArchive .productArchiveHeaderControls{
    width:100%!important;
    justify-items:end!important;
    gap:12px!important;
  }
  .productArchive .catalogHeaderActions{
    display:flex!important;
    justify-content:flex-end!important;
    gap:10px!important;
    width:100%!important;
  }
  .productArchive .catalogHeaderActions>*,
  body:not(.public) .productArchive .catalogHeaderIconAction{
    width:52px!important;
    height:52px!important;
    min-width:52px!important;
    min-height:52px!important;
    max-width:52px!important;
  }
  body:not(.public) .productArchive .catalogHeaderIconAction svg{
    width:23px!important;
    height:23px!important;
  }
  .productArchive .catalog-view-switcher{
    justify-content:flex-end!important;
  }
}


/* FIX68 — uniforma tutte le azioni a icone rotonde */
body:not(.public) .actionIconButton{
  border-radius:50%!important;
}

body:not(.public) .productArchive .catalog-view-switcher{
  gap:10px!important;
}
body:not(.public) .productArchive .catalog-view-button{
  display:grid!important;
  place-items:center!important;
  width:58px!important;
  height:58px!important;
  min-width:58px!important;
  min-height:58px!important;
  padding:0!important;
  border:1px solid #d8e0e3!important;
  border-radius:50%!important;
  background:#fff!important;
  color:#2f4550!important;
  box-shadow:none!important;
}
body:not(.public) .productArchive .catalog-view-button svg{
  width:24px!important;
  height:24px!important;
  stroke-width:1.9!important;
}
body:not(.public) .productArchive .catalog-view-button:hover,
body:not(.public) .productArchive .catalog-view-button:focus-visible{
  background:#eef1f3!important;
  border-color:#2f4550!important;
  color:#2f4550!important;
}
body:not(.public) .productArchive .catalog-view-button.is-active,
body:not(.public) .productArchive .catalog-view-button[aria-pressed="true"]{
  background:#fff!important;
  border-color:#2f4550!important;
  color:#2f4550!important;
}
body:not(.public) .productArchive .catalog-view-button.is-active:hover,
body:not(.public) .productArchive .catalog-view-button[aria-pressed="true"]:hover{
  background:#eef1f3!important;
  border-color:#2f4550!important;
  color:#2f4550!important;
}

body:not(.public) .catalogTrashPage .catalogRestoreAction,
body:not(.public) .catalogTrashPage .catalogPurgeAction{
  border-radius:50%!important;
}

@media(max-width:800px){
  body:not(.public) .productArchive .catalogHeaderActions>*,
  body:not(.public) .productArchive .catalogHeaderIconAction,
  body:not(.public) .productArchive .catalog-view-button{
    width:52px!important;
    height:52px!important;
    min-width:52px!important;
    min-height:52px!important;
    max-width:52px!important;
  }
  body:not(.public) .productArchive .catalogHeaderIconAction svg,
  body:not(.public) .productArchive .catalog-view-button svg{
    width:22px!important;
    height:22px!important;
  }
}


/* FIX69 — icone import/export corrette e switcher vista sulla riga cerca/ordina */
body:not(.public) .productArchive .productArchiveHeaderControls{
  gap:12px!important;
}
body:not(.public) .productArchive .catalogArchiveFilters{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 58px 220px 132px!important;
  align-items:end!important;
  gap:16px!important;
}
body:not(.public) .productArchive .catalogArchiveSearch{grid-column:1!important;}
body:not(.public) .productArchive .catalogFilterToggle{grid-column:2!important;}
body:not(.public) .productArchive .catalogArchiveSort{grid-column:3!important;}
body:not(.public) .productArchive .catalogArchiveViewControls{
  grid-column:4!important;
  align-self:end!important;
  justify-self:end!important;
}
body:not(.public) .productArchive .catalogArchiveViewControls.catalog-view-switcher{
  margin:0!important;
  padding:0!important;
  border:0!important;
  justify-content:flex-end!important;
  gap:10px!important;
}

@media(max-width:1050px){
  body:not(.public) .productArchive .catalogArchiveFilters{
    grid-template-columns:58px minmax(0,1fr) 132px!important;
  }
  body:not(.public) .productArchive .catalogArchiveSearch{grid-column:1/-1!important;}
  body:not(.public) .productArchive .catalogFilterToggle{grid-column:1!important;}
  body:not(.public) .productArchive .catalogArchiveSort{grid-column:2!important;}
  body:not(.public) .productArchive .catalogArchiveViewControls{grid-column:3!important;}
}
@media(max-width:650px){
  body:not(.public) .productArchive .catalogArchiveFilters{
    grid-template-columns:52px minmax(0,1fr) 114px!important;
    gap:10px!important;
  }
  body:not(.public) .productArchive .catalogArchiveSearch{grid-column:1/-1!important;}
  body:not(.public) .productArchive .catalogFilterToggle{grid-column:1!important;}
  body:not(.public) .productArchive .catalogArchiveSort{grid-column:2!important;}
  body:not(.public) .productArchive .catalogArchiveViewControls{grid-column:3!important;}
  body:not(.public) .productArchive .catalogArchiveViewControls.catalog-view-switcher{gap:8px!important;}
}


/* FIX70 — filtro dopo Ordina per e rotondo come le altre icone */
body:not(.public) .productArchive .catalogArchiveFilters{
  grid-template-columns:minmax(0,1fr) 220px 58px 132px!important;
}
body:not(.public) .productArchive .catalogArchiveSearch{grid-column:1!important;}
body:not(.public) .productArchive .catalogArchiveSort{grid-column:2!important;}
body:not(.public) .productArchive .catalogFilterToggle{
  position:relative!important;
  grid-column:3!important;
  align-self:end!important;
  display:grid!important;
  place-items:center!important;
  width:58px!important;
  height:58px!important;
  min-width:58px!important;
  min-height:58px!important;
  padding:0!important;
  margin:0!important;
  border:1px solid #d8e0e3!important;
  border-radius:50%!important;
  background:#fff!important;
  color:#2f4550!important;
  box-shadow:none!important;
}
body:not(.public) .productArchive .catalogFilterToggle svg{width:24px!important;height:24px!important;}
body:not(.public) .productArchive .catalogFilterToggle:hover,
body:not(.public) .productArchive .catalogFilterToggle:focus-visible,
body:not(.public) .productArchive .catalogFilterToggle[aria-expanded=true]{
  background:#eef1f3!important;
  border-color:#2f4550!important;
  color:#2f4550!important;
}
body:not(.public) .productArchive .catalogFilterToggle span{
  position:absolute!important;
  top:-5px!important;
  right:-5px!important;
  min-width:22px!important;
  height:22px!important;
  margin:0!important;
  padding:0 6px!important;
  border:2px solid #fff!important;
  border-radius:999px!important;
  background:#c1262d!important;
  color:#fff!important;
  font-size:11px!important;
}
body:not(.public) .productArchive .catalogArchiveViewControls{grid-column:4!important;}
@media(max-width:1050px){
  body:not(.public) .productArchive .catalogArchiveFilters{grid-template-columns:minmax(0,1fr) 58px 132px!important;}
  body:not(.public) .productArchive .catalogArchiveSearch{grid-column:1/-1!important;}
  body:not(.public) .productArchive .catalogArchiveSort{grid-column:1!important;}
  body:not(.public) .productArchive .catalogFilterToggle{grid-column:2!important;}
  body:not(.public) .productArchive .catalogArchiveViewControls{grid-column:3!important;}
}
@media(max-width:650px){
  body:not(.public) .productArchive .catalogArchiveFilters{grid-template-columns:minmax(0,1fr) 52px 114px!important;gap:10px!important;}
  body:not(.public) .productArchive .catalogArchiveSearch{grid-column:1/-1!important;}
  body:not(.public) .productArchive .catalogArchiveSort{grid-column:1!important;}
  body:not(.public) .productArchive .catalogFilterToggle{grid-column:2!important;width:52px!important;height:52px!important;min-width:52px!important;min-height:52px!important;}
  body:not(.public) .productArchive .catalogArchiveViewControls{grid-column:3!important;}
}


/* FIX71 — filtro allineato tra Ordina per e vista */
body:not(.public) .productArchive .catalogArchiveSort{
  align-self:end!important;
}
body:not(.public) .productArchive .catalogFilterToggle{
  justify-self:start!important;
}
body:not(.public) .productArchive .catalogArchiveViewControls{
  align-self:end!important;
  justify-self:end!important;
}


/* FIX72 — uniformazione dimensioni icone rotonde */
/* Standard:
   - azioni principali: 52px desktop / 48px mobile, icona 22/20px
   - azioni righe ed elenchi: 44px, icona 20px
   - azioni compatte: 36px, icona 18px
   - chiusura finestre: 40px, icona 20px
*/

/* 1) Azioni principali pagina */
body:not(.public) :is(
  .productArchive .catalogHeaderIconAction,
  .productArchive .catalogFilterToggle,
  .productArchive .catalog-view-button,
  .catalogReadHeaderAction,
  .appearanceSaveAction,
  .appearanceRoundAction.appearanceSaveAction
){
  display:grid!important;
  place-items:center!important;
  width:52px!important;
  height:52px!important;
  min-width:52px!important;
  min-height:52px!important;
  padding:0!important;
  border-radius:50%!important;
}
body:not(.public) :is(
  .productArchive .catalogHeaderIconAction,
  .productArchive .catalogFilterToggle,
  .productArchive .catalog-view-button,
  .catalogReadHeaderAction,
  .appearanceSaveAction,
  .appearanceRoundAction.appearanceSaveAction
) svg{
  width:22px!important;
  height:22px!important;
}
body:not(.public) .productArchive .catalogFilterToggle span{
  top:-4px!important;
  right:-4px!important;
}

/* 2) Azioni in righe, card ed elenchi */
body:not(.public) :is(
  .actionIconButton,
  .catalog-view-action,
  .catalog-pdf-action,
  .catalog-edit-action,
  .catalog-duplicate-action,
  .catalog-delete-action,
  .catalogTrashPage .catalogRestoreAction,
  .catalogTrashPage .catalogPurgeAction,
  .catalogRestoreAction,
  .catalogPurgeAction,
  .userIconAction
){
  display:grid!important;
  place-items:center!important;
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  min-height:44px!important;
  padding:0!important;
  border-radius:50%!important;
}
body:not(.public) :is(
  .actionIconButton,
  .catalog-view-action,
  .catalog-pdf-action,
  .catalog-edit-action,
  .catalog-duplicate-action,
  .catalog-delete-action,
  .catalogTrashPage .catalogRestoreAction,
  .catalogTrashPage .catalogPurgeAction,
  .catalogRestoreAction,
  .catalogPurgeAction,
  .userIconAction
) svg{
  width:20px!important;
  height:20px!important;
}
body:not(.public) .productArchive .catalogProductCardActions,
body:not(.public) .productArchive .catalog-row-actions,
body:not(.public) .lotArchiveTable .lotArchiveActions,
body:not(.public) .catalogTrashAction,
body:not(.public) .userActions{
  gap:8px!important;
}
body:not(.public) .productArchive .catalog-list-col-action{
  width:252px!important;
}
body:not(.public) .lotArchiveTable .lotArchiveActionsHead{
  width:116px!important;
}

/* 3) Azioni compatte nei moduli */
body:not(.public) :is(
  .variantRemove,
  .catalogImageZoom
){
  display:grid!important;
  place-items:center!important;
  width:36px!important;
  height:36px!important;
  min-width:36px!important;
  min-height:36px!important;
  padding:0!important;
  border-radius:50%!important;
}
body:not(.public) :is(
  .variantRemove,
  .catalogImageZoom
) svg{
  width:18px!important;
  height:18px!important;
}
body:not(.public) .variantRemove{
  font-size:20px!important;
}

/* 4) Chiusura finestre */
body:not(.public) :is(
  .catalogDuplicateClose,
  .catalogImageLightbox>button
){
  display:grid!important;
  place-items:center!important;
  width:40px!important;
  height:40px!important;
  min-width:40px!important;
  min-height:40px!important;
  padding:0!important;
  border-radius:50%!important;
}
body:not(.public) :is(
  .catalogDuplicateClose,
  .catalogImageLightbox>button
) svg{
  width:20px!important;
  height:20px!important;
}

/* 5) Mobile */
@media(max-width:800px){
  body:not(.public) :is(
    .productArchive .catalogHeaderIconAction,
    .productArchive .catalogFilterToggle,
    .productArchive .catalog-view-button,
    .catalogReadHeaderAction,
    .appearanceSaveAction,
    .appearanceRoundAction.appearanceSaveAction
  ){
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
    min-height:48px!important;
  }
  body:not(.public) :is(
    .productArchive .catalogHeaderIconAction,
    .productArchive .catalogFilterToggle,
    .productArchive .catalog-view-button,
    .catalogReadHeaderAction,
    .appearanceSaveAction,
    .appearanceRoundAction.appearanceSaveAction
  ) svg{
    width:20px!important;
    height:20px!important;
  }
}


/* FIX74 — sezione Aspetto backend semplificata e responsive */
.settingsHub .backendTypeSettings{display:grid;gap:20px;margin-top:22px}
.settingsHub .backendTypeTopbar{display:flex;align-items:center;justify-content:space-between;gap:18px}
.settingsHub .backendTypeInfo{display:flex;align-items:center;gap:12px;min-width:0;padding:13px 16px;border:1px solid #d7e2e6;border-radius:12px;background:#f7fafc;color:#40516a;flex:1}
.settingsHub .backendTypeInfo>span,.settingsHub .backendTypePreviewNotice>span{display:grid;place-items:center;width:24px;height:24px;min-width:24px;border-radius:50%;background:#2f4550;color:#fff;font-weight:800;font-style:normal}
.settingsHub .backendTypeInfo p,.settingsHub .backendTypePreviewNotice p{margin:0;line-height:1.5}
.settingsHub .backendTypeTopSave,.settingsHub .backendTypeActionBar .button{display:inline-flex;align-items:center;justify-content:center;gap:9px;white-space:nowrap}
.settingsHub .backendTypeTopSave svg,.settingsHub .backendTypeActionBar .button svg{width:19px;height:19px}
.settingsHub .backendTypeLayout{display:grid;grid-template-columns:minmax(380px,.92fr) minmax(0,1.08fr);border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}
.settingsHub .backendTypeControls,.settingsHub .backendTypePreviewColumn{padding:24px}
.settingsHub .backendTypePreviewColumn{border-left:1px solid var(--line);background:#fbfcfc}
.settingsHub .backendTypeControls>header,.settingsHub .backendTypePreviewColumn>header{padding-bottom:18px;border-bottom:1px solid var(--line)}
.settingsHub .backendTypeControls>header h3,.settingsHub .backendTypePreviewColumn>header h3{margin:0 0 6px}
.settingsHub .backendTypeControls>header p,.settingsHub .backendTypePreviewColumn>header p{margin:0;color:var(--muted-color)}
.settingsHub .backendTypeGroup{display:grid;grid-template-columns:54px minmax(0,1fr);gap:16px;padding:22px 0;border-bottom:1px solid var(--line)}
.settingsHub .backendTypeGroupIcon{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#e7f1ed;color:#155a4b;font-size:20px;font-weight:800}
.settingsHub .backendTypeGroupBody h4{margin:0 0 5px;font-size:18px}
.settingsHub .backendTypeGroupBody>p{margin:0 0 16px;color:var(--muted-color)}
.settingsHub .backendTypeTwoCols,.settingsHub .backendTypeThreeCols{display:grid;gap:14px}
.settingsHub .backendTypeTwoCols{grid-template-columns:repeat(2,minmax(0,1fr))}
.settingsHub .backendTypeThreeCols{grid-template-columns:repeat(3,minmax(0,1fr))}
.settingsHub .backendTypeGroup label{display:grid;gap:7px;margin:0;color:#24333f;font-size:12px;font-weight:800}
.settingsHub .backendTypeGroup label small{display:block;color:#6b7280;font-size:10px;font-weight:500;text-transform:none}
.settingsHub .backendTypeGroup input,.settingsHub .backendTypeGroup select{width:100%;height:46px;margin:0;padding:10px 13px;border-radius:10px}
.settingsHub .backendTypeNumber{position:relative;display:block}
.settingsHub .backendTypeNumber input{padding-right:42px}
.settingsHub .backendTypeNumber i{position:absolute;right:13px;top:50%;transform:translateY(-50%);color:#6b7280;font-style:normal;font-weight:700;pointer-events:none}
.settingsHub .backendTypeLiveNote{display:flex;align-items:flex-start;gap:12px;margin-top:20px;padding:16px;border:1px solid #d5e7df;border-radius:12px;background:#f4faf7}
.settingsHub .backendTypeLiveNote>span{font-size:22px}
.settingsHub .backendTypeLiveNote strong{display:block;margin-bottom:4px}
.settingsHub .backendTypeLiveNote p{margin:0;color:#53615f;line-height:1.5}
.settingsHub .backendTypePreview{--type-heading:Helvetica;--type-body:Helvetica;--type-h1:36px;--type-h2:28px;--type-h3:22px;--type-body-size:16px;--type-line-height:1.6;--type-button-size:14px;--type-letter-spacing:0px;display:grid;gap:14px;margin-top:18px}
.settingsHub .backendTypePreview>section,.settingsHub .backendTypePreviewNotice{padding:18px;border:1px solid var(--line);border-radius:12px;background:#fff}
.settingsHub .backendTypePreview>section>small{display:block;margin-bottom:14px;color:#40516a;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.settingsHub .backendTypePreview h1,.settingsHub .backendTypePreview h2,.settingsHub .backendTypePreview h3{font-family:Helvetica,Arial,sans-serif!important;letter-spacing:var(--type-letter-spacing)!important}
.settingsHub .backendTypePreview h1{margin:0 0 14px;font-size:var(--type-h1)!important}
.settingsHub .backendTypePreview h2{margin:0 0 12px;font-size:var(--type-h2)!important}
.settingsHub .backendTypePreview h3{margin:0;font-size:var(--type-h3)!important}
.settingsHub .backendTypePreview p,.settingsHub .backendTypePreviewTable{font-family:Helvetica,Arial,sans-serif!important;font-size:var(--type-body-size)!important;line-height:var(--type-line-height)!important;letter-spacing:var(--type-letter-spacing)!important}
.settingsHub .backendTypePreview>section>p{margin:0}
.settingsHub .backendTypePreviewActions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.settingsHub .backendTypePreviewActions button{font-size:var(--type-button-size)!important;letter-spacing:var(--type-letter-spacing)!important}
.settingsHub .backendTypePreviewActions a{color:#155a4b;font-weight:700}
.settingsHub .backendTypePreviewTable{border:1px solid var(--line);border-radius:9px;overflow:hidden}
.settingsHub .backendTypePreviewTableRow{display:grid;grid-template-columns:1.2fr 1fr .8fr .9fr}
.settingsHub .backendTypePreviewTableRow>span{min-width:0;padding:10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.settingsHub .backendTypePreviewTableRow>span:last-child{border-right:0}
.settingsHub .backendTypePreviewTableRow:last-child>span{border-bottom:0}
.settingsHub .backendTypePreviewTableRow.is-head{background:#f4f6f7;font-weight:800}
.settingsHub .backendTypePreviewTable .status{font-size:11px!important}
.settingsHub .backendTypePreviewNotice{display:flex;align-items:flex-start;gap:12px;background:#f7f9fb;color:#53615f}
.settingsHub .backendTypeActionBar{display:flex;align-items:center;justify-content:space-between;gap:16px}
@media(max-width:1050px){
  .settingsHub .backendTypeLayout{grid-template-columns:1fr}
  .settingsHub .backendTypePreviewColumn{border-top:1px solid var(--line);border-left:0}
}
@media(max-width:700px){
  .settingsHub .backendTypeTopbar{align-items:stretch;flex-direction:column}
  .settingsHub .backendTypeTopSave{width:100%}
  .settingsHub .backendTypeControls,.settingsHub .backendTypePreviewColumn{padding:18px 14px}
  .settingsHub .backendTypeGroup{grid-template-columns:42px minmax(0,1fr);gap:11px;padding:18px 0}
  .settingsHub .backendTypeGroupIcon{width:38px;height:38px;font-size:16px}
  .settingsHub .backendTypeTwoCols,.settingsHub .backendTypeThreeCols{grid-template-columns:1fr}
  .settingsHub .backendTypePreviewActions{align-items:stretch;flex-direction:column}
  .settingsHub .backendTypePreviewActions button,.settingsHub .backendTypePreviewActions .button,.settingsHub .backendTypePreviewActions a{width:100%;text-align:center}
  .settingsHub .backendTypePreviewTable{overflow-x:auto}
  .settingsHub .backendTypePreviewTableRow{min-width:560px}
  .settingsHub .backendTypeActionBar{align-items:stretch;flex-direction:column-reverse}
  .settingsHub .backendTypeActionBar .button{width:100%}
}
@media(max-width:420px){
  .settingsHub .backendTypeInfo{align-items:flex-start}
  .settingsHub .backendTypeGroup{grid-template-columns:1fr}
  .settingsHub .backendTypeGroupIcon{margin-bottom:-4px}
}


/* FIX75 — Helvetica uniforme in tutto il backend */
body:not(.public){
  --backend-heading-font:Helvetica!important;
  --backend-body-font:Helvetica!important;
  font-family:Helvetica,Arial,sans-serif!important;
}
body:not(.public) *{
  font-family:Helvetica,Arial,sans-serif!important;
}
.settingsHub .backendHelveticaNotice{
  display:flex;
  align-items:center;
  gap:14px;
  margin-top:18px;
  padding:15px 16px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#f7f9f8;
}
.settingsHub .backendHelveticaNotice>span{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  min-width:42px;
  border-radius:50%;
  background:#e7f1ed;
  color:#155a4b;
  font-size:18px;
  font-weight:800;
}
.settingsHub .backendHelveticaNotice strong,
.settingsHub .backendHelveticaNotice p{display:block}
.settingsHub .backendHelveticaNotice p{margin:4px 0 0;color:var(--muted-color)}
.settingsHub .backendTypePreview{
  --type-heading:Helvetica!important;
  --type-body:Helvetica!important;
}
@media(max-width:650px){
  .settingsHub .backendHelveticaNotice{align-items:flex-start}
}


/* FIX76 — anteprima del logo in Impostazioni > Generali */
.settingsHub .generalSettingsForm{margin-top:18px}
.settingsHub .generalSettingsGrid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:22px;align-items:start}
.settingsHub .generalSettingsFields{display:grid;gap:16px}
.settingsHub .generalSettingsFields>label{margin:0}
.settingsHub .generalSettingsFields>button{justify-self:start;margin-top:2px}
.settingsHub .generalLogoHelp{margin:-10px 0 0}
.settingsHub .generalLogoPreview{position:sticky;top:24px;padding:22px;border:1px solid var(--line);border-radius:16px;background:#fff}
.settingsHub .generalLogoPreview h3{margin:4px 0 8px}
.settingsHub .generalLogoPreview>p:not(.eyebrow){margin:0 0 18px;color:var(--muted-color);line-height:1.5}
.settingsHub .generalLogoCanvas{display:grid;place-items:center;min-height:220px;padding:22px;border:1px dashed #cfd9d6;border-radius:14px;background:#f8faf9;overflow:hidden}
.settingsHub .generalLogoCanvas img{display:block;width:var(--general-logo-size);height:var(--general-logo-size);max-width:100%;object-fit:contain}
.settingsHub .generalLogoCanvas span{color:var(--muted-color);font-weight:700;text-align:center}
.settingsHub .generalBrandPreview{display:flex;align-items:center;gap:12px;margin-top:16px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff}
.settingsHub .generalBrandPreviewMark{display:grid;place-items:center;width:48px;height:48px;min-width:48px;border-radius:12px;background:#f1f4f5;overflow:hidden}
.settingsHub .generalBrandPreviewMark img{display:block;width:100%;height:100%;object-fit:contain}
.settingsHub .generalBrandPreviewMark i{font-style:normal;font-size:24px;font-weight:800;color:#2f4550}
.settingsHub .generalLogoPreview>small{display:block;margin-top:12px;color:var(--muted-color)}
@media(max-width:900px){
  .settingsHub .generalSettingsGrid{grid-template-columns:1fr}
  .settingsHub .generalLogoPreview{position:static;top:auto;order:-1}
}
@media(max-width:650px){
  .settingsHub .generalLogoPreview{padding:18px}
  .settingsHub .generalLogoCanvas{min-height:180px;padding:16px}
  .settingsHub .generalSettingsFields>button{width:100%;justify-self:stretch}
}


/* FIX77 — permessi dinamici per moduli attivi */
.settingsPage .userPermissionGroups{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:start}
.settingsPage .userPermissions form>button{min-width:170px}
body:not(.can-trace-edit) :is(form[action="/batch/content"],form[action="/batch/section-titles"],form[action="/event/create"],form[action="/event/update"],form[action="/event/delete"],.sortableEvents .dragHandle){display:none!important}
body:not(.can-trace-docs) :is(form[action="/upload"],form[action="/document/delete"]){display:none!important}
body:not(.can-trace-messages) #messagesPanel :is(form,textarea,button){display:none!important}
body:not(.can-trace-publish) #publishPanel :is(form[action="/batch/publish"],form[action="/batch/unpublish"]){display:none!important}
@media(max-width:700px){.settingsPage .userPermissionGroups{grid-template-columns:1fr}.settingsPage .userPermissions form>button{width:100%}}

.settingsPage .userPermissionModuleNote{margin:0 0 14px;padding:12px 14px;border:1px solid #d8e0e3;border-radius:10px;background:#f7f9f8;color:#586f7c;font-size:13px;line-height:1.45}

/* FIX78 — Super Admin, identità globale, footer pubblico e intro post-login */
.superAdminBadge{display:inline-flex;margin-left:auto;padding:4px 7px;border-radius:999px;background:#6c63ff;color:#fff;font-size:9px;line-height:1;letter-spacing:.08em;white-space:nowrap}
.superAdminGroup>.sidebarGroupToggle{border:1px solid rgba(108,99,255,.18);background:linear-gradient(135deg,rgba(108,99,255,.08),rgba(73,95,196,.04))}
.superAdminGroup>.sidebarGroupToggle.active{background:linear-gradient(135deg,#5b55df,#454bb4)!important;color:#fff!important}
.superAdminPage{padding:0;overflow:hidden}
.superAdminPageHead{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:30px 32px 22px;border-bottom:1px solid #e7e9ef}
.superAdminPageHead h2{margin:4px 0 8px}.superAdminPageHead p{margin:0;max-width:760px;color:var(--muted-color)}
.superAdminTabs{display:flex;gap:8px;padding:14px 32px;border-bottom:1px solid #e7e9ef;background:#fafbfc;overflow-x:auto}
.superAdminTabs a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 14px;border-radius:10px;text-decoration:none;font-weight:700;color:#48505d;white-space:nowrap}
.superAdminTabs a.active{background:#4f55c8;color:#fff;box-shadow:0 7px 18px rgba(79,85,200,.18)}
.superAdminForm{padding:28px 32px 34px}.superAdminForm>button{margin-top:24px}
.superAdminGrid,.introAdminLayout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:24px}
.superAdminGrid>section,.introAdminLayout>section{padding:24px;border:1px solid #e5e7ec;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(31,41,55,.04)}
.superAdminGrid h3,.introAdminLayout h3{margin:0 0 18px}
.superAdminSwitch{display:flex!important;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;background:#f5f6ff;border:1px solid #e0e3ff;margin-bottom:22px!important}
.superAdminSwitch input{width:20px;height:20px;flex:0 0 auto}.superAdminSwitch span{font-weight:700}
.platformLogoPreview{display:flex;align-items:center;gap:16px;padding:18px;border-radius:16px;background:#f7f8fa;border:1px dashed #cfd4dc;margin-bottom:18px}
.platformLogoPreview img{max-width:180px;max-height:70px;object-fit:contain}.platformLogoPreview>div{display:grid;gap:9px;min-width:0}.platformLogoPreview strong{overflow-wrap:anywhere}
.platformLogoPlaceholder{display:grid;place-items:center;gap:8px;min-height:146px;border:1px dashed #cfd4dc;border-radius:16px;background:#fafbfc;margin-bottom:18px;color:#69717e}
.platformLogoPlaceholder span,.platformFooterPreview>span,.introMiniPreview span{display:grid;place-items:center;width:58px;height:58px;border:1.5px solid currentColor;border-radius:50%;font-size:26px;font-weight:500}
.superAdminPreviewCard{margin-top:24px;padding:18px 20px;border:1px solid #e4e7ec;border-radius:16px;background:linear-gradient(180deg,#fff,#f8f9fb)}
.superAdminPreviewCard>small{display:block;margin-bottom:14px;color:#727b88;font-weight:800;letter-spacing:.08em}
.platformFooterPreview{display:flex;align-items:center;gap:18px}.platformFooterPreview img{width:120px;max-height:48px;object-fit:contain}.platformFooterPreview div{display:grid;gap:4px}.platformFooterPreview small{color:#667085}
.introTypeChoices{display:grid;gap:10px;margin-bottom:20px}.introTypeChoices label{display:flex;align-items:flex-start;gap:12px;padding:14px;border:1px solid #e3e6eb;border-radius:14px;cursor:pointer}.introTypeChoices label:has(input:checked){border-color:#646bdb;background:#f5f5ff;box-shadow:0 0 0 3px rgba(100,107,219,.08)}
.introTypeChoices input{margin-top:4px}.introTypeChoices span{display:grid;gap:3px}.introTypeChoices small{color:#707986;font-weight:400}
.currentPlatformFile{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;align-items:center;padding:12px 14px;border-radius:12px;background:#f5f7fa;margin:-8px 0 16px}.currentPlatformFile span{font-size:12px;color:#707986;text-transform:uppercase;font-weight:800}.currentPlatformFile strong{overflow-wrap:anywhere}.currentPlatformFile label{grid-column:1/-1;margin:4px 0 0!important}
.introBehaviorGrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.introMiniPreview{min-height:330px;margin-top:22px;border-radius:18px;background:radial-gradient(circle at 70% 25%,rgba(82,78,255,.35),transparent 32%),linear-gradient(145deg,#10182f,#050913);background-size:cover;background-position:center;display:grid;place-items:center;padding:30px;color:#fff;text-align:center;overflow:hidden}
.introMiniPreview>div{display:grid;justify-items:center;gap:12px;max-width:430px}.introMiniPreview img{max-width:180px;max-height:60px;object-fit:contain}.introMiniPreview h4{font-size:28px;margin:6px 0 0}.introMiniPreview p{margin:0;color:rgba(255,255,255,.82)}.introMiniPreview b{margin-top:8px;padding:11px 16px;border-radius:10px;background:#5d61dc}
.moduleAdminList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.moduleAdminCard{display:grid!important;grid-template-columns:auto auto 1fr;align-items:center;gap:14px;padding:20px!important;border:1px solid #e2e5ea;border-radius:16px;background:#fff;cursor:pointer;margin:0!important}.moduleAdminCard:has(input:checked){border-color:#6268d6;background:#f7f7ff;box-shadow:0 9px 24px rgba(69,75,180,.08)}.moduleAdminCard>input{position:absolute;opacity:0;pointer-events:none}.moduleToggle{position:relative;width:44px;height:24px;border-radius:999px;background:#c9ced7;transition:.2s}.moduleToggle:after{content:"";position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(0,0,0,.2);transition:.2s}.moduleAdminCard input:checked+.moduleToggle{background:#575dcc}.moduleAdminCard input:checked+.moduleToggle:after{transform:translateX(20px)}.moduleAdminCard>span:last-child{display:grid;gap:4px}.moduleAdminCard small{color:#69717e}.moduleAdminCard em{font-size:12px;color:#575dcc;font-style:normal;font-weight:800}
.superAdminInfo{margin-top:20px;padding:16px 18px;border-radius:14px;background:#f1f5f9;border-left:4px solid #5e64cf}.superAdminInfo p{margin:4px 0 0;color:#5f6875}
.platformPublicFooter{max-width:1200px;margin:0 auto;padding:0 24px 42px}.platformPublicFooterBrand{display:flex;align-items:center;gap:20px;padding:28px 0 0;border-top:1px solid rgba(100,116,139,.2)}.platformPublicFooterBrand img{width:auto;max-width:150px;max-height:54px;object-fit:contain}.platformPublicFooterBrand>span{display:grid;place-items:center;width:54px;height:54px;border:1px solid currentColor;border-radius:50%;font-size:23px}.platformPublicFooterBrand>div{display:grid;gap:5px}.platformPublicFooterBrand a{font-size:14px;font-weight:700;text-decoration:none;color:var(--accent)}
.platformIntroPage{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;overflow:hidden;background:#050914;color:#fff}.platformIntroBackdrop{position:absolute;inset:0;background:radial-gradient(circle at 18% 20%,rgba(54,70,255,.32),transparent 34%),radial-gradient(circle at 78% 36%,rgba(105,61,255,.28),transparent 32%),linear-gradient(145deg,#0d1630,#03050c);background-size:cover;background-position:center;transform:scale(1.04)}
.platformIntroBackdrop:after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(133,150,255,.55) 1px,transparent 1px);background-size:42px 42px;opacity:.16;mask-image:linear-gradient(to bottom,transparent,#000 20%,#000 80%,transparent)}
.platformIntroMedia,.platformIntroLottie{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.72}.platformIntroImage{object-fit:cover}.platformIntroLottie svg{width:100%!important;height:100%!important;object-fit:cover}
.platformIntroContent{position:relative;z-index:2;display:grid;justify-items:center;max-width:760px;padding:40px;text-align:center;text-shadow:0 2px 18px rgba(0,0,0,.42)}
.platformIntroIdentity{display:flex;align-items:center;gap:16px;margin-bottom:24px}.platformIntroIdentity img{max-width:220px;max-height:74px;object-fit:contain}.platformIntroIdentity span{display:grid;place-items:center;width:72px;height:72px;border:1.5px solid currentColor;border-radius:50%;font-size:30px}.platformIntroIdentity strong{font-size:clamp(24px,3vw,40px);letter-spacing:.08em;text-transform:uppercase}
.platformIntroContent h1{margin:0 0 14px;font-size:clamp(34px,5vw,68px);line-height:1.05}.platformIntroContent p{margin:0;max-width:620px;font-size:clamp(16px,2vw,22px);line-height:1.55;color:rgba(255,255,255,.86)}
.platformIntroEnter{display:inline-flex;align-items:center;gap:14px;margin-top:30px;padding:15px 22px;border-radius:12px;background:linear-gradient(135deg,#6366f1,#7c3aed);color:#fff;text-decoration:none;font-weight:800;box-shadow:0 18px 45px rgba(75,71,220,.34);text-shadow:none}.platformIntroEnter b{font-size:20px}.platformIntroSkip{margin-top:16px;color:rgba(255,255,255,.72);font-size:14px;text-decoration:none}
@media(max-width:900px){.superAdminPageHead{padding:24px 20px}.superAdminTabs{padding:12px 20px}.superAdminForm{padding:22px 20px 28px}.superAdminGrid,.introAdminLayout{grid-template-columns:1fr}.moduleAdminList{grid-template-columns:1fr}.platformPublicFooter{padding:0 20px 30px}.introBehaviorGrid{grid-template-columns:1fr}}
@media(max-width:600px){.superAdminPageHead{display:grid}.superAdminPageHead .button{width:100%}.platformPublicFooterBrand{align-items:flex-start;gap:14px}.platformPublicFooterBrand img{max-width:110px}.platformIntroContent{padding:26px 22px}.platformIntroIdentity{display:grid;justify-items:center}.platformIntroIdentity strong{font-size:23px}.platformIntroContent h1{font-size:38px}.introMiniPreview{min-height:280px}}

/* FIX79 — logo globale della piattaforma nel menu */
.appSidebar .platformSidebarBrand{display:grid;gap:9px;min-width:0}
.appSidebar .platformSidebarBrandMain{display:flex;align-items:center;gap:10px;min-width:0}
.appSidebar .platformSidebarLogo{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;padding:4px;border-radius:10px;background:#F4F4F9;overflow:hidden;box-shadow:0 1px 4px rgba(15,23,42,.12)}
.appSidebar .platformSidebarLogo img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain}
.appSidebar .platformSidebarLogo b{display:grid;place-items:center;width:100%;height:100%;font:700 23px/1 Helvetica,Arial,sans-serif;color:#2F4550}
.appSidebar .platformSidebarName{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:inherit;font-weight:800}
.appSidebar .platformSidebarBrand .superAdminBadge{justify-self:start;margin-left:0}
@media(max-width:900px){
  .appSidebar .platformSidebarLogo{flex-basis:40px;width:40px;height:40px}
  .appSidebar .platformSidebarName{max-width:150px}
}

/* FIX80 — marchio del menu configurabile dal Super Admin */
.appSidebar .platformSidebarBrandMain{gap:var(--platform-brand-gap,10px)}
.appSidebar .platformSidebarLogo{
  display:flex;align-items:center;justify-content:center;flex:0 0 auto;
  width:auto;height:var(--platform-logo-size,42px);padding:0;border-radius:0;
  background:transparent;overflow:visible;box-shadow:none
}
.appSidebar .platformSidebarLogo img{
  display:block;width:auto;height:100%;max-width:180px;max-height:100%;object-fit:contain
}
.appSidebar .platformSidebarName{
  font-size:var(--platform-name-size,24px);line-height:1.05
}
.appSidebar .platformSidebarBrand--logo_only .platformSidebarBrandMain{justify-content:flex-start}
.appSidebar .platformSidebarBrand--name_only .platformSidebarBrandMain{min-height:var(--platform-logo-size,42px);align-items:center}

.platformMenuBrandSettings{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:24px;margin-top:24px;padding:24px;border:1px solid #e5e7ec;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(31,41,55,.04)}
.platformMenuBrandSettings h3{margin:4px 0 8px}.platformMenuBrandSettings .eyebrow{margin:0;color:#5d64cf;font-size:11px;font-weight:800;letter-spacing:.14em}.platformMenuBrandControls{display:grid;gap:20px}.platformMenuBrandControls fieldset{margin:0;padding:0;border:0}.platformBrandModes legend{margin-bottom:10px;font-size:13px;font-weight:800}.platformBrandModes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.platformBrandModes label{position:relative;display:block;margin:0}.platformBrandModes input{position:absolute;opacity:0;pointer-events:none}.platformBrandModes span{display:grid;gap:4px;min-height:76px;padding:14px;border:1px solid #dfe3eb;border-radius:13px;background:#fff;cursor:pointer;transition:.18s ease}.platformBrandModes small{color:#6b7280;font-size:12px;line-height:1.35}.platformBrandModes input:checked+span{border-color:#6266dc;background:#f2f3ff;box-shadow:0 0 0 2px rgba(98,102,220,.12)}.platformBrandModes input:focus-visible+span{outline:3px solid rgba(98,102,220,.24);outline-offset:2px}
.platformBrandSizing{display:grid;gap:15px}.platformBrandSizing>label{display:grid;gap:7px;margin:0;font-size:13px;font-weight:700}.platformBrandSizing>label>span{display:grid;grid-template-columns:minmax(0,1fr) 64px;align-items:center;gap:12px}.platformBrandSizing input[type=range]{width:100%;margin:0}.platformBrandSizing output{display:block;padding:7px 8px;border:1px solid #dde2ea;border-radius:9px;background:#f8fafc;text-align:center;font-size:12px;font-weight:800;color:#3f4655}
.platformMenuBrandPreview{display:grid;align-content:start;gap:12px;padding:20px;border-radius:16px;background:#edf1f7}.platformBrandPreviewSidebar{min-height:225px;padding:25px 22px;border-radius:14px;background:#2f4a56;color:#fff;overflow:hidden}.platformBrandPreviewMain{display:flex;align-items:center;gap:var(--preview-brand-gap,10px);min-width:0}.platformBrandPreviewLogo{display:flex;align-items:center;justify-content:center;flex:0 0 auto;height:var(--preview-logo-size,42px)}.platformBrandPreviewLogo img{display:block;width:auto;height:100%;max-width:180px;object-fit:contain}.platformBrandPreviewMain strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--preview-name-size,24px);line-height:1.05}.platformBrandPreviewSidebar>b{display:inline-flex;margin-top:16px;padding:5px 9px;border-radius:999px;background:#675cff;color:#fff;font-size:10px;letter-spacing:.05em}.platformMenuBrandPreview>small{color:#667085;line-height:1.45}

@media(max-width:900px){
  .appSidebar .platformSidebarLogo{height:var(--platform-logo-size-mobile,40px)}
  .appSidebar .platformSidebarLogo img{max-width:150px}
  .platformMenuBrandSettings{grid-template-columns:1fr}
}
@media(max-width:640px){
  .platformMenuBrandSettings{padding:18px}.platformBrandModes{grid-template-columns:1fr}.platformBrandModes span{min-height:0}
}

/* FIX81 — anagrafica clienti e moduli per azienda */
.clientAdminLayout{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:24px;align-items:start}
.clientAdminListPanel,.clientAdminEditor{min-width:0}
.clientAdminListPanel{background:var(--surface-color,#fff);border:1px solid #e2e8e6;border-radius:22px;padding:18px;position:sticky;top:24px}
.clientAdminHead{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:4px 4px 16px}
.clientAdminHead h3{margin:3px 0 0}.clientAdminHead>span{display:inline-flex;align-items:center;min-height:32px;padding:6px 10px;border-radius:999px;background:#eef3f2;color:#4d625e;font-size:12px;font-weight:700;white-space:nowrap}
.clientAdminList{display:grid;gap:8px}
.clientAdminListItem{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;border:1px solid transparent;border-radius:16px;color:inherit;text-decoration:none;background:#f7f9f8;transition:.18s ease}
.clientAdminListItem:hover{border-color:#ccd9d5;background:#fff}.clientAdminListItem.active{border-color:var(--accent);background:var(--secondary)}
.clientAdminListItem>span{display:grid;gap:4px;min-width:0}.clientAdminListItem>span:last-child{justify-items:end;flex:none}.clientAdminListItem strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clientAdminListItem small{color:var(--muted-color);font-size:12px}
.clientStatus{display:inline-flex;align-items:center;min-height:24px;padding:4px 8px;border-radius:999px;font-size:10px;line-height:1;font-style:normal;text-transform:uppercase;letter-spacing:.05em}
.clientStatus--active{background:#dff5e8;color:#17633a}.clientStatus--suspended{background:#fde6e6;color:#9b2929}.clientStatus--setup{background:#fff1ce;color:#7e5710}
.clientAdminEditor{display:grid;gap:18px}.clientAdminEditor>.superAdminForm{margin:0}
.clientEditorTitle,.clientModuleTitle{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:22px}.clientEditorTitle h3,.clientModuleTitle h3{margin:4px 0}.clientEditorTitle p,.clientModuleTitle p{margin:5px 0 0;color:var(--muted-color)}
.currentInstallationBadge{display:inline-flex;align-items:center;min-height:30px;padding:6px 10px;border-radius:999px;background:#111;color:#fff;font-size:10px;font-weight:800;letter-spacing:.06em;white-space:nowrap}
.clientFieldsGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.clientFieldsGrid label{margin:0}.clientFieldsGrid label small{display:block;margin-top:6px;color:var(--muted-color);font-weight:400}.clientDatabaseField,.clientNotesField{grid-column:1/-1}
.clientDataForm,.clientCreateForm,.clientModuleForm{border:1px solid #e2e8e6;border-radius:22px;background:#fff;padding:24px}
.clientModuleForm .moduleAdminList{margin-bottom:20px}.clientArchitectureNotice{margin-top:0}
.clientDatabaseCard{display:grid;gap:22px;min-width:0;padding:24px;border:1px solid #e2e8e6;border-radius:22px;background:#fff}.clientDatabaseTitle{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.clientDatabaseTitle h3{margin:4px 0}.clientDatabaseTitle p:not(.eyebrow){margin:5px 0 0;color:var(--muted-color)}.clientDatabaseStatus{display:inline-flex;align-items:center;justify-content:center;max-width:100%;padding:7px 10px;border-radius:999px;background:#eef1f0;color:#52635f;font-size:10px;font-weight:800;letter-spacing:.04em;text-align:center}.clientDatabaseStatus.is-verified{background:#e3f4ea;color:#176747}.clientDatabaseStatus.is-configured{background:#fff2d9;color:#845b13}.clientDatabaseStatus.is-connection_error{background:#fff0f0;color:#9b3030}.clientDatabaseStatus.is-managed{background:#edf0ff;color:#4d46bf}.clientDatabaseForm{display:grid;gap:18px;margin:0}.clientDatabaseGrid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(110px,.45fr);gap:16px}.clientDatabaseGrid label{min-width:0;margin:0}.clientDatabaseGrid label:nth-child(3),.clientDatabasePassword{grid-column:1/-1}.clientDatabaseGrid small{display:block;margin-top:6px;color:var(--muted-color);font-weight:400}.clientDatabaseResult{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;padding-top:20px;border-top:1px solid var(--line)}.clientDatabaseResult>div:first-child{display:grid;gap:5px}.clientDatabaseResult small,.clientDatabaseReadonly small{color:var(--muted-color)}.clientDatabaseResult p{margin:2px 0 0;color:#9b3030}.clientDatabaseActions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}.clientDatabaseActions form{margin:0}.clientDatabaseActions small{flex-basis:100%;text-align:right;color:var(--muted-color)}.clientDatabaseReadonly{display:grid;gap:12px;padding:18px;border-radius:15px;background:#f7f9f8}.clientDatabaseReadonly span{display:grid;gap:4px}.clientDatabaseReadonly p{margin:0;color:var(--muted-color)}.clientDatabaseCard button:disabled{cursor:not-allowed;opacity:.5}
@media(max-width:980px){.clientAdminLayout{grid-template-columns:1fr}.clientAdminListPanel{position:static}.clientAdminList{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.clientAdminList{grid-template-columns:1fr}.clientFieldsGrid,.clientDatabaseGrid{grid-template-columns:1fr}.clientDatabaseField,.clientNotesField,.clientDatabaseGrid label:nth-child(3),.clientDatabasePassword{grid-column:auto}.clientEditorTitle,.clientModuleTitle,.clientDatabaseTitle{display:grid}.clientDatabaseStatus,.currentInstallationBadge{justify-self:start}.clientDatabaseResult{align-items:stretch;flex-direction:column}.clientDatabaseActions{display:grid;grid-template-columns:1fr}.clientDatabaseActions form,.clientDatabaseActions .button{width:100%}.clientDatabaseActions small{text-align:left}.clientDataForm,.clientCreateForm,.clientModuleForm,.clientDatabaseCard,.clientAdminListPanel{padding:18px;border-radius:18px}}

/* FIX82 — vincolo e-mail globale e per cliente */
.emailSecurityGrid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:24px;align-items:stretch}
.emailSecurityCard,.emailSecurityStatus{min-width:0;border:1px solid #e3e8e6;border-radius:22px;padding:24px;background:#fff}
.emailSecurityCardHead{display:flex;align-items:flex-start;gap:16px;margin-bottom:22px}
.emailSecurityCardHead>span{display:flex;align-items:center;justify-content:center;flex:0 0 48px;height:48px;border-radius:15px;background:#edf2ff;color:#5057c8;font-size:22px;font-weight:800}
.emailSecurityCardHead h3{margin:4px 0 7px}.emailSecurityCardHead p{margin:0;color:var(--muted-color)}
.emailSecurityCard textarea{min-height:150px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.55}
.emailSecurityStatus{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;background:linear-gradient(145deg,#eef6f3,#f9fbfa)}
.emailSecurityStatus.is-open{background:linear-gradient(145deg,#f1f3ff,#fbfbff)}
.emailSecurityStatusIcon{display:flex;align-items:center;justify-content:center;width:54px;height:54px;margin-bottom:18px;border-radius:18px;background:#173b36;color:#fff;font-size:23px;font-weight:900;box-shadow:0 10px 24px rgba(23,59,54,.16)}
.emailSecurityStatus.is-open .emailSecurityStatusIcon{background:#5359c9}
.emailSecurityStatus h3{margin:5px 0 8px}.emailSecurityStatus p{margin:0 0 14px;color:#56615e}.emailSecurityStatus>small{margin-top:18px;color:#6c7673;line-height:1.45}
.emailDomainBadges{display:flex;flex-wrap:wrap;gap:8px}.emailDomainBadges span{display:inline-flex;align-items:center;min-height:30px;padding:6px 10px;border-radius:999px;background:#fff;border:1px solid #d8e3df;color:#244a43;font-size:12px;font-weight:800}
.clientEmailDomainsField{grid-column:1/-1}.inviteEmailRuleNotice{margin:14px 0 18px}
@media(max-width:900px){.emailSecurityGrid{grid-template-columns:1fr}}
@media(max-width:640px){.emailSecurityCard,.emailSecurityStatus{padding:18px;border-radius:18px}.clientEmailDomainsField{grid-column:auto}}

/* FIX83 — separazione Super Admin piattaforma / amministratore cliente */
.platformAccessLayout{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.35fr);gap:20px;align-items:start;min-width:0;max-width:100%}
.platformAccessLayout>.panel{margin:0;padding:24px;border:1px solid #dfe5e8;border-radius:20px;box-shadow:none}
.platformAccessAccounts{min-width:0;max-width:100%}
.platformAccessInvite h3,.platformAccessAccounts h3{margin:4px 0 8px;font-size:24px}
.platformAccessInvite>p:not(.eyebrow){margin:0 0 20px;color:var(--muted,#657083);line-height:1.55}
.platformAccessInvite form{display:grid;gap:14px;margin:0 0 18px}
.platformAccessInvite form label{display:grid;gap:7px;font-weight:700}
.platformAccessInvite form button{justify-self:start}
.platformAccessInvite .superAdminInfo{margin:0;padding:16px;border-radius:15px}
.platformAccessHead{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:18px}
.platformAccessHead>span{display:inline-flex;align-items:center;justify-content:center;min-width:76px;padding:8px 12px;border-radius:999px;background:#eef0ff;color:#4f46d8;font-weight:800;font-size:13px}
.platformAccessList{display:grid;gap:12px}
.platformAccessCard{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(150px,.8fr) minmax(210px,1fr);gap:16px;align-items:center;min-width:0;max-width:100%;padding:16px;border:1px solid #e2e7ea;border-radius:16px;background:#fff}
.platformAccessCard.is-pending{background:#fbfbff;border-style:dashed}
.platformAccessIdentity{display:flex;align-items:center;gap:12px;min-width:0}
.platformAccessIdentity>span{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:13px;background:#edf0ff;color:#5048d7;font-size:18px;font-weight:900}
.platformAccessIdentity div,.platformAccessMeta{display:grid;gap:4px;min-width:0}
.platformAccessIdentity strong,.platformAccessIdentity small{overflow-wrap:anywhere}
.platformAccessIdentity small,.platformAccessMeta small{color:var(--muted,#657083);font-size:12px}
.platformAccessMeta b{justify-self:start;display:inline-flex;padding:6px 9px;border-radius:999px;font-size:10px;letter-spacing:.05em}
.platformAccessMeta b.is-client{background:#e8f4ee;color:#176747}
.platformAccessMeta b.is-platform{background:#eceaff;color:#4b42c8}
.platformAccessActions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;min-width:0;max-width:100%}
.platformAccessActions form{flex:0 1 auto;min-width:0;max-width:100%;margin:0}
.platformAccessActions .button{max-width:100%;min-height:38px;padding:8px 12px;font-size:12px;white-space:normal;overflow-wrap:anywhere}
.platformAccessActions .danger{border-color:#efd2d2;color:#a12d2d;background:#fff7f7}
.platformTransferNotice{margin-top:16px;padding:16px 18px;border-left:4px solid #635bde;border-radius:14px;background:#f2f4f8}
.platformTransferNotice.is-ready{border-left-color:#24966a;background:#eef9f4}
.platformTransferNotice strong{display:block;margin-bottom:5px}
.platformTransferNotice p{margin:0;color:var(--muted,#657083);line-height:1.5}
@media(max-width:1100px){.platformAccessLayout{grid-template-columns:minmax(0,1fr)}}
@media(max-width:900px){.platformAccessCard{grid-template-columns:minmax(0,1fr) minmax(150px,auto)}.platformAccessIdentity{grid-column:1}.platformAccessMeta{grid-column:2}.platformAccessActions{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch}.platformAccessActions form,.platformAccessActions .button{width:100%;min-width:0}}
@media(max-width:720px){.platformAccessLayout>.panel{padding:18px}.platformAccessCard{grid-template-columns:minmax(0,1fr)}.platformAccessIdentity,.platformAccessMeta,.platformAccessActions{grid-column:1;grid-row:auto}.platformAccessActions{grid-template-columns:minmax(0,1fr);justify-content:stretch}.platformAccessHead{align-items:center}.platformAccessHead h3{font-size:21px}}

/* FIX84 - diagnostica inviti e link di attivazione manuale */
.platformActivationLink{display:grid;gap:16px;margin:0 0 20px;padding:20px;border:1px solid #cfd5ff;border-radius:18px;background:#f5f6ff}
.platformActivationLink h3{margin:3px 0 6px;font-size:21px}
.platformActivationLink p:not(.eyebrow){margin:0;color:var(--muted,#657083);line-height:1.5}
.platformActivationLinkControls{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:10px;align-items:center}
.platformActivationLinkControls input{min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}
.platformActivationLinkControls .button{min-height:42px;white-space:nowrap}
@media(max-width:760px){.platformActivationLinkControls{grid-template-columns:1fr}.platformActivationLinkControls .button{justify-content:center}}

/* FIX86 — moduli solo per cliente e diagnostica e-mail SMTP */
.emailDiagnostics{padding:28px 32px 34px;border-top:1px solid #e7e9ef;background:#fbfcfd}
.emailDiagnosticsHead{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}
.emailDiagnosticsHead h3{margin:4px 0 7px;font-size:24px}.emailDiagnosticsHead p:not(.eyebrow){margin:0;color:var(--muted-color);max-width:720px}
.smtpConfigBadge{display:inline-flex;align-items:center;min-height:34px;padding:7px 11px;border-radius:999px;font-size:11px;font-weight:800;white-space:nowrap}
.smtpConfigBadge.is-ready{background:#e4f5ec;color:#17633f}.smtpConfigBadge.is-error{background:#fde8e8;color:#9b2c2c}
.emailDiagnosticsGrid{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(360px,1.1fr);gap:20px}
.smtpConfigCard,.smtpTestCard{padding:22px;border:1px solid #e1e6e9;border-radius:18px;background:#fff}.smtpConfigCard h4,.smtpTestCard h4{margin:0 0 14px;font-size:19px}.smtpTestCard>p{margin:0 0 18px;color:var(--muted-color);line-height:1.5}
.smtpConfigCard dl{display:grid;gap:0;margin:0}.smtpConfigCard dl>div{display:grid;grid-template-columns:145px minmax(0,1fr);gap:12px;padding:10px 0;border-bottom:1px solid #edf0f2}.smtpConfigCard dl>div:last-child{border-bottom:0}.smtpConfigCard dt{color:var(--muted-color);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.smtpConfigCard dd{margin:0;overflow-wrap:anywhere;font-weight:700}
.smtpWarning,.smtpOk{margin-top:16px;padding:14px 15px;border-radius:13px}.smtpWarning{background:#fff5df;border-left:4px solid #d99717}.smtpOk{background:#ecf8f2;border-left:4px solid #24966a}.smtpWarning p,.smtpOk p{margin:4px 0 0;color:#5e6870;line-height:1.45}.smtpWarning code{font-size:12px}
.smtpTestCard form{display:grid;gap:14px}.smtpTestCard form label{display:grid;gap:7px;font-weight:700}.smtpTestCard form button{justify-self:start}.smtpTestCard form button:disabled{opacity:.45;cursor:not-allowed}
.smtpTestResult{display:grid;gap:7px;margin-top:20px;padding:17px 18px;border-radius:15px}.smtpTestResult.is-success{background:#eaf8f1;border-left:4px solid #25966a}.smtpTestResult.is-error{background:#fff0f0;border-left:4px solid #c74444}.smtpTestResult p{margin:0;color:#5d6870}.smtpTestResult code{display:block;padding:10px 12px;border-radius:10px;background:rgba(255,255,255,.75);white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.smtpTestResult small,.smtpTestResult em{color:#647078;font-size:12px}.smtpTestResult em{font-style:normal}
@media(max-width:900px){.emailDiagnosticsGrid{grid-template-columns:1fr}}
@media(max-width:640px){.emailDiagnostics{padding:20px 18px 26px}.emailDiagnosticsHead{display:grid}.smtpConfigBadge{justify-self:start}.smtpConfigCard,.smtpTestCard{padding:18px}.smtpConfigCard dl>div{grid-template-columns:1fr;gap:4px}}

/* FIX87 — sicurezza account Super Admin */
.superAdminSecurityGrid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr);gap:22px;align-items:start}
.superAdminSecurityCard{display:grid;gap:16px;max-width:820px}
.superAdminSecurityCard>h3,.superAdminSecurityStatus>h3{margin:0}
.superAdminSecurityCard>p,.superAdminSecurityStatus>p{margin:0;color:#667080;line-height:1.6}
.superAdminSecurityCard>label{margin:4px 0 0}
.superAdminSecurityCard>button{justify-self:start;margin-top:0}
.superAdminSecurityCard>small{color:#667080;line-height:1.5}
.superAdminRecoveryNotice{margin:0}
.superAdminRecoveryNotice .recoveryKey{display:inline-block;margin-top:10px;padding:10px 12px;border-radius:10px;background:#fff;border:1px solid #d9ddec;font-size:15px;letter-spacing:.08em;overflow-wrap:anywhere}
.superAdminSecurityStatus{display:grid;gap:10px;padding:24px;border:1px solid #dfe3ec;border-radius:18px;background:#f7f8fc}
.superAdminSecurityStatus>span{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;font-size:22px;font-weight:800}
.superAdminSecurityStatus.is-ready>span{background:#dcf4e8;color:#18744f}
.superAdminSecurityStatus.is-warning>span{background:#fff1d7;color:#98620b}
@media(max-width:900px){.superAdminSecurityGrid{grid-template-columns:1fr}.superAdminSecurityCard>button{width:100%}}

/* FIX88 — Modulo Nutrizione. Stili isolati con prefisso nutrition per non alterare i moduli esistenti. */
.nutritionPage{display:grid;gap:24px}
.nutritionPageHead{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
.nutritionPageHead h2{margin:4px 0 8px}
.nutritionPageHead p{margin:0;color:var(--muted-color)}
.nutritionBack{display:inline-flex;margin-bottom:16px;color:var(--page-text);font-weight:700;text-decoration:none}
.nutritionStats,.nutritionSummary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.nutritionSummary{grid-template-columns:repeat(4,minmax(0,1fr))}
.nutritionStats article,.nutritionSummary article{padding:20px 22px;border:1px solid #dfe7e5;border-radius:18px;background:var(--surface-color);box-shadow:0 8px 24px rgba(30,55,49,.05)}
.nutritionStats small,.nutritionSummary small{display:block;color:var(--muted-color);font-weight:700;margin-bottom:8px}
.nutritionStats strong,.nutritionSummary strong{display:block;font-size:30px;line-height:1.1;color:var(--page-text)}
.nutritionArchivePanel{padding:0;overflow:hidden}
.nutritionFilters{display:grid;grid-template-columns:minmax(260px,1fr) minmax(160px,220px) auto auto;align-items:end;gap:12px;padding:20px;border-bottom:1px solid #e4ece9}
.nutritionFilters label{margin:0}
.nutritionClientTable{display:grid}
.nutritionClientTableHead,.nutritionClientTable>article{display:grid;grid-template-columns:minmax(260px,1.6fr) minmax(130px,.7fr) minmax(120px,.6fr) 80px 48px;align-items:center;gap:18px;padding:15px 20px}
.nutritionClientTableHead{background:#f5f8f7;color:var(--muted-color);font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.nutritionClientTable>article{border-top:1px solid #e7edeb}
.nutritionClientTable>article:first-of-type{border-top:0}
.nutritionClientTable>article>div:first-child{display:flex;align-items:center;gap:12px;min-width:0}
.nutritionClientTable strong,.nutritionClientTable small{display:block}
.nutritionClientTable small{margin-top:3px;color:var(--muted-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nutritionAvatar{display:inline-flex;align-items:center;justify-content:center;flex:0 0 42px;width:42px;height:42px;border-radius:50%;background:var(--secondary);color:var(--accent);font-weight:900;font-size:13px}
.nutritionClientForm{display:grid;gap:24px}
.nutritionFormSection{display:grid;gap:16px;padding-bottom:24px;border-bottom:1px solid #e2e9e7}
.nutritionFormSection:last-of-type{border-bottom:0;padding-bottom:0}
.nutritionFormSection h3{margin:0}
.nutritionFormGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.nutritionFormGrid label{margin:0}
.nutritionWide{grid-column:1/-1}
.nutritionClientHead{align-items:center}
.nutritionClientHead form{margin:0}
.nutritionStatus{display:inline-flex;align-items:center;border-radius:999px;padding:4px 10px;margin-right:8px;font-size:12px;font-weight:800;background:#e6f4ed;color:#226a49}
.nutritionStatus--archived{background:#f0f1f2;color:#656b70}
.nutritionClientGrid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(340px,.8fr);gap:20px;align-items:start}
.nutritionPanelHead,.nutritionSectionHead{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.nutritionPanelHead h3,.nutritionSectionHead h3{margin:3px 0 6px}
.nutritionPanelHead p,.nutritionSectionHead p{margin:0;color:var(--muted-color)}
.nutritionReadOnly{display:inline-flex;border-radius:999px;padding:5px 10px;background:#f1f3f4;color:#697177;font-size:12px;font-weight:800}
.nutritionClientForm fieldset{border:0;padding:0;margin:0;min-width:0}
.nutritionClientForm fieldset:disabled{opacity:.78}
.nutritionProgress{position:sticky;top:20px}
.nutritionProgressTable{display:grid;overflow:auto}
.nutritionProgressTable>div{display:grid;grid-template-columns:minmax(130px,1fr) repeat(3,minmax(82px,.7fr));gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid #e6ecea;font-size:13px}
.nutritionProgressTable>div:first-child{color:var(--muted-color);font-size:11px;text-transform:uppercase;letter-spacing:.05em}
.nutritionProgressTable>div:last-child{border-bottom:0}
.nutritionProgressTable b{font-size:12px}
.nutritionProgressTable b.is-down{color:#28734f}
.nutritionProgressTable b.is-up{color:#a65b2e}
.nutritionVisits,.nutritionPlans{padding:24px}
.nutritionVisitGrid,.nutritionPlanGrid{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(0,1.25fr);gap:24px;align-items:start}
.nutritionVisitForm,.nutritionPlanForm{display:grid;gap:16px;padding:20px;border:1px solid #dfe7e5;border-radius:16px;background:#f8faf9}
.nutritionVisitForm h4,.nutritionVisitHistory h4{margin:0 0 4px}
.nutritionMeasurements{border:1px solid #dfe7e5;border-radius:14px;padding:14px;margin:0;background:#fff}
.nutritionMeasurements legend{padding:0 8px;font-weight:800;font-size:13px}
.nutritionMeasurements>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.nutritionMeasurements label{margin:0;font-size:13px}
.nutritionMeasurements small{color:var(--muted-color)}
.nutritionVisitHistory{display:grid;gap:12px;min-width:0}
.nutritionVisitCard{border:1px solid #dfe7e5;border-radius:16px;background:#fff;overflow:hidden}
.nutritionVisitCard summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;cursor:pointer;list-style:none}
.nutritionVisitCard summary::-webkit-details-marker{display:none}
.nutritionVisitCard summary span:first-child strong,.nutritionVisitCard summary span:first-child small{display:block}
.nutritionVisitCard summary small{color:var(--muted-color);margin-top:3px}
.nutritionVisitCard summary>span:last-child{font-size:12px;font-weight:800;color:var(--muted-color)}
.nutritionVisitBody{padding:0 18px 18px;border-top:1px solid #e6ecea}
.nutritionVisitBody dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;margin:0}
.nutritionVisitBody dl div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #edf1f0}
.nutritionVisitBody dt{color:var(--muted-color)}
.nutritionVisitBody dd{margin:0;font-weight:800}
.nutritionVisitBody p{display:grid;gap:5px;padding-top:14px;margin:0}
.nutritionPlanList{display:grid;gap:12px}
.nutritionPlanList>article{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:14px;align-items:center;padding:15px;border:1px solid #dfe7e5;border-radius:15px;background:#fff}
.nutritionPlanIcon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:12px;background:#f1f4f3;font-size:11px;font-weight:900}
.nutritionPlanList strong,.nutritionPlanList small{display:block}
.nutritionPlanList small{margin-top:3px;color:var(--muted-color)}
.nutritionPlanList p{margin:7px 0 0;font-size:12px;color:var(--muted-color)}
.nutritionPlanStatus{font-weight:800}
.nutritionPlanStatus--published{color:#226a49}
.nutritionPlanStatus--draft{color:#876729}
.nutritionPlanActions{display:flex;align-items:center;gap:7px}
.nutritionPlanActions form{margin:0}
.nutritionPlanForm small{display:block;margin-top:5px;color:var(--muted-color)}
@media(max-width:1100px){.nutritionClientGrid,.nutritionVisitGrid,.nutritionPlanGrid{grid-template-columns:1fr}.nutritionProgress{position:static}.nutritionClientTableHead,.nutritionClientTable>article{grid-template-columns:minmax(220px,1fr) repeat(3,minmax(90px,.55fr)) 44px}}
@media(max-width:760px){.nutritionPageHead{display:grid}.nutritionPageHead>.button{width:100%}.nutritionStats,.nutritionSummary{grid-template-columns:repeat(2,minmax(0,1fr))}.nutritionFilters{grid-template-columns:1fr}.nutritionFilters .button,.nutritionFilters button{width:100%}.nutritionClientTableHead{display:none}.nutritionClientTable>article{grid-template-columns:1fr auto;gap:10px 14px;padding:18px}.nutritionClientTable>article>span{display:flex;justify-content:space-between;gap:18px;grid-column:1/-1}.nutritionClientTable>article>span:before{content:attr(data-label);color:var(--muted-color);font-size:12px;font-weight:800}.nutritionClientTable>article>.actionIconButton{grid-column:2;grid-row:1}.nutritionFormGrid,.nutritionMeasurements>div,.nutritionVisitBody dl{grid-template-columns:1fr}.nutritionWide{grid-column:auto}.nutritionVisitGrid,.nutritionPlanGrid{grid-template-columns:1fr}.nutritionProgressTable>div{grid-template-columns:minmax(100px,1fr) repeat(3,minmax(72px,.7fr));font-size:11px}.nutritionPlanList>article{grid-template-columns:44px minmax(0,1fr)}.nutritionPlanActions{grid-column:1/-1;justify-content:flex-end}}

/* FIX89 — Redesign estetico isolato del modulo Nutrizione. */
.workspaceHeader.nutritionGlobalHeader{display:none}
.nutritionDashboard{
  --nutrition-green:#25a55f;
  --nutrition-green-dark:#177c45;
  --nutrition-green-soft:#eaf7ef;
  --nutrition-blue:#347bd6;
  --nutrition-blue-soft:#edf5ff;
  --nutrition-purple:#8a55cf;
  --nutrition-purple-soft:#f4effc;
  --nutrition-orange:#d98217;
  --nutrition-orange-soft:#fff5e7;
  display:grid;
  gap:24px;
}
.nutritionHero{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(220px,340px) auto;
  align-items:center;
  gap:28px;
  min-height:176px;
  padding:12px 0 2px;
  overflow:hidden;
}
.nutritionHeroCopy{position:relative;z-index:2;max-width:650px}
.nutritionKicker{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 0 10px;
  color:var(--nutrition-green);
  font-size:12px;
  font-weight:850;
  letter-spacing:.09em;
}
.nutritionKicker span{font-size:24px;line-height:1;transform:rotate(-18deg)}
.nutritionHero h1{margin:0;font-size:clamp(40px,4.2vw,62px);line-height:1.02;letter-spacing:-.045em;color:var(--page-text)}
.nutritionHeroCopy>p:last-child{max-width:660px;margin:14px 0 0;color:var(--muted-color);font-size:18px;line-height:1.55}
.nutritionHeroArt{position:relative;align-self:stretch;display:flex;align-items:center;justify-content:center;min-height:160px;opacity:.9}
.nutritionHeroArt:before{content:"";position:absolute;width:230px;height:150px;border-radius:50%;background:radial-gradient(circle at center,rgba(102,211,145,.22),rgba(102,211,145,0) 70%)}
.nutritionHeroArt svg{position:relative;width:min(100%,270px);height:auto;fill:none;stroke:#7fd5a4;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.nutritionHeroActions{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-end;gap:14px;min-width:210px}
.nutritionPrimaryButton{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 24px;border-color:var(--nutrition-green);background:linear-gradient(135deg,#36b96f,#20a258);color:#fff;box-shadow:0 14px 28px rgba(35,166,94,.2)}
.nutritionPrimaryButton:hover{border-color:var(--nutrition-green-dark);background:linear-gradient(135deg,#2fad68,#198f4c);color:#fff}
.nutritionPrimaryButton span{font-size:22px;font-weight:400}
.nutritionUpdated{color:var(--muted-color);font-size:12px;white-space:nowrap}

.nutritionStats--dashboard{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.nutritionStats--dashboard .nutritionStatCard{
  display:grid;
  grid-template-columns:58px minmax(0,1fr);
  align-items:center;
  gap:16px;
  min-height:138px;
  padding:22px;
  border:1px solid #e1e9e6;
  border-radius:20px;
  background:#fff;
  box-shadow:0 14px 36px rgba(33,55,48,.055);
}
.nutritionStatIcon{display:flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:50%;font-size:28px;font-weight:700}
.nutritionStatCard small{margin:0;color:#657184;font-size:13px;font-weight:750}
.nutritionStatCard strong{margin:4px 0 2px;font-size:32px;line-height:1;color:#172337}
.nutritionStatCard div>span{display:block;color:#7b8797;font-size:12px;line-height:1.35}
.nutritionStatCard--clients .nutritionStatIcon{background:var(--nutrition-green-soft);color:var(--nutrition-green)}
.nutritionStatCard--visits .nutritionStatIcon{background:var(--nutrition-blue-soft);color:var(--nutrition-blue)}
.nutritionStatCard--plans .nutritionStatIcon{background:var(--nutrition-purple-soft);color:var(--nutrition-purple)}
.nutritionStatCard--month .nutritionStatIcon{background:var(--nutrition-orange-soft);color:var(--nutrition-orange)}

.nutritionDirectory{overflow:hidden;border-color:#e1e8e6;border-radius:20px;box-shadow:0 16px 42px rgba(32,52,46,.055)}
.nutritionFilters--modern{
  display:grid;
  grid-template-columns:minmax(300px,1.5fr) minmax(150px,.48fr) minmax(175px,.55fr) auto auto;
  align-items:end;
  gap:14px;
  padding:18px 20px;
  border-bottom:1px solid #e7eeeb;
  background:#fff;
}
.nutritionFilters--modern label{margin:0;min-width:0}
.nutritionFieldLabel{display:block;margin:0 0 7px;color:#465367;font-size:12px;font-weight:800}
.nutritionFilters--modern input,.nutritionFilters--modern select{height:48px;border-color:#d9e3df;border-radius:13px;background:#fff}
.nutritionSearchField{position:relative}
.nutritionSearchField input{padding-left:43px}
.nutritionInputIcon{position:absolute;left:15px;bottom:12px;color:#778599;font-size:24px;line-height:1;pointer-events:none}
.nutritionFilterButton,.nutritionResetButton{min-height:48px;border-radius:13px;white-space:nowrap}
.nutritionFilterButton{border-color:#2f4756;background:#fff;color:#2f4756}
.nutritionFilterButton:hover{background:#f5f8f7}

.nutritionClientCards{display:grid;background:#fff}
.nutritionClientCard{
  position:relative;
  display:grid;
  grid-template-columns:minmax(230px,1.22fr) minmax(132px,.62fr) minmax(120px,.56fr) minmax(70px,.32fr) minmax(185px,.9fr) auto;
  align-items:center;
  gap:20px;
  padding:21px 20px;
  border-top:1px solid #edf1ef;
  transition:background .18s ease,transform .18s ease;
}
.nutritionClientCard:first-child{border-top:0}
.nutritionClientCard:hover{background:#fbfdfc}
.nutritionClientIdentity{display:flex;align-items:center;gap:14px;min-width:0}
.nutritionClientIdentity .nutritionAvatar{flex:0 0 54px;width:54px;height:54px;border:1px solid #def0e6;background:linear-gradient(135deg,#edf9f2,#e2f3e9);color:var(--nutrition-green-dark);font-size:16px}
.nutritionClientIdentity>div{min-width:0}
.nutritionClientIdentity strong,.nutritionClientIdentity small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nutritionClientIdentity strong{color:#172337;font-size:16px}
.nutritionClientIdentity small{margin-top:4px;color:#6e7b8e;font-size:13px}
.nutritionClientIdentity .nutritionStatus{margin-top:7px;margin-right:0;padding:3px 8px;background:#e7f6ed;color:#23764b;font-size:10px}
.nutritionClientMetric{min-width:0;padding-left:16px;border-left:1px solid #edf1ef}
.nutritionClientMetric small,.nutritionClientMetric strong,.nutritionClientMetric>span{display:block}
.nutritionClientMetric small{margin-bottom:6px;color:#7a8798;font-size:11px;font-weight:700}
.nutritionClientMetric strong{overflow:hidden;color:#253246;font-size:14px;font-weight:780;text-overflow:ellipsis;white-space:nowrap}
.nutritionClientMetric>span{margin-top:5px;color:#7c8998;font-size:11px;line-height:1.3}
.nutritionClientMetric--compact strong{font-size:20px}
.nutritionDelta.is-down{color:#1b9654}
.nutritionDelta.is-up{color:#c67319}
.nutritionDelta.is-flat{color:#6f7b89}
.nutritionClientPlan strong{max-width:190px}
.nutritionOpenButton{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:43px;padding:0 16px;border:1px solid #72c995;border-radius:12px;background:#fff;color:#158347;white-space:nowrap}
.nutritionOpenButton:hover{background:#f0faf4;color:#0d703a}
.nutritionEmptyState{padding:56px 24px}

/* Mantiene più curate anche le pagine interne, senza toccare gli altri moduli. */
.nutritionPage>.nutritionPageHead,.nutritionClientHead{padding:8px 0 2px}
.nutritionPage>.nutritionPageHead h2,.nutritionClientHead h2{font-size:clamp(32px,3.4vw,48px);letter-spacing:-.035em}
.nutritionPage .panel{border-color:#e1e9e6;box-shadow:0 14px 38px rgba(31,52,45,.05)}

@media(max-width:1260px){
  .nutritionHero{grid-template-columns:minmax(0,1fr) 220px auto;gap:18px}
  .nutritionStats--dashboard{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nutritionClientCard{grid-template-columns:minmax(220px,1.1fr) repeat(3,minmax(95px,.55fr)) minmax(170px,.8fr)}
  .nutritionOpenButton{grid-column:2/-1;justify-self:end}
}
@media(max-width:980px){
  .nutritionHero{grid-template-columns:minmax(0,1fr) auto}.nutritionHeroArt{display:none}
  .nutritionFilters--modern{grid-template-columns:minmax(240px,1fr) repeat(2,minmax(145px,.55fr))}.nutritionFilterButton,.nutritionResetButton{width:100%}
  .nutritionClientCard{grid-template-columns:minmax(220px,1fr) repeat(2,minmax(110px,.55fr))}
  .nutritionClientPlan{grid-column:1/3;margin-left:68px}.nutritionOpenButton{grid-column:3;align-self:center}
}
@media(max-width:760px){
  .workspaceHeader.nutritionGlobalHeader{display:none}
  .nutritionDashboard{gap:18px}
  .nutritionHero{grid-template-columns:1fr;min-height:0;padding-top:2px}
  .nutritionHero h1{font-size:42px}
  .nutritionHeroCopy>p:last-child{font-size:16px}
  .nutritionHeroActions{align-items:stretch;min-width:0}.nutritionPrimaryButton{width:100%}.nutritionUpdated{text-align:center}
  .nutritionStats--dashboard{grid-template-columns:1fr 1fr;gap:10px}
  .nutritionStats--dashboard .nutritionStatCard{grid-template-columns:42px minmax(0,1fr);min-height:112px;padding:15px;gap:11px;border-radius:16px}
  .nutritionStatIcon{width:42px;height:42px;font-size:21px}.nutritionStatCard strong{font-size:27px}.nutritionStatCard div>span{display:none}
  .nutritionFilters--modern{grid-template-columns:1fr;padding:15px}.nutritionFilterButton,.nutritionResetButton{width:100%}
  .nutritionClientCard{grid-template-columns:1fr 1fr;gap:16px;padding:18px}
  .nutritionClientIdentity{grid-column:1/-1}.nutritionClientMetric{padding:0;border:0}.nutritionClientMetric--compact{display:none}
  .nutritionClientPlan{grid-column:1/-1;margin-left:0;padding-top:14px;border-top:1px solid #edf1ef}.nutritionClientPlan strong{max-width:none}
  .nutritionOpenButton{grid-column:1/-1;width:100%;justify-self:stretch}
}
@media(max-width:480px){
  .nutritionStats--dashboard{grid-template-columns:1fr}
  .nutritionStats--dashboard .nutritionStatCard{grid-template-columns:50px minmax(0,1fr)}
  .nutritionStatIcon{width:50px;height:50px}
  .nutritionClientCard{grid-template-columns:1fr}.nutritionClientMetric,.nutritionClientPlan,.nutritionOpenButton{grid-column:1}
}

/* FIX90 — Allineamento fedele all'anteprima approvata del modulo Nutrizione. */
.nutritionDashboardApproved{--nutrition-approved-green:#28ad5f;--nutrition-approved-green-dark:#168347;--nutrition-approved-text:#142137;--nutrition-approved-muted:#6f7c91;gap:28px;max-width:1480px;margin:0 auto}
.nutritionHeroApproved{grid-template-columns:minmax(0,1fr) minmax(270px,360px) auto;min-height:190px;padding:0 0 2px;gap:34px}
.nutritionKickerApproved{color:var(--nutrition-approved-green);font-size:13px;letter-spacing:.02em;font-weight:760}
.nutritionKickerApproved svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.nutritionHeroApproved h1{font-size:clamp(48px,4.5vw,68px);color:var(--nutrition-approved-text)}
.nutritionHeroApproved .nutritionHeroCopy>p:last-child{font-size:19px;line-height:1.5;color:#65728a}
.nutritionHeroArtApproved{min-height:190px}
.nutritionHeroArtApproved:before{width:330px;height:210px;background:radial-gradient(circle at center,rgba(73,205,122,.18),rgba(73,205,122,0) 69%)}
.nutritionHeroArtApproved svg{width:min(100%,330px);stroke:#72d59c;stroke-width:2.3}
.nutritionHeroActionsApproved{gap:24px;min-width:245px}
.nutritionPrimaryButtonApproved{min-width:222px;min-height:58px;border:0;border-radius:9px;background:linear-gradient(135deg,#39bd70,#25a95c);box-shadow:0 13px 25px rgba(38,173,95,.19);font-size:16px;font-weight:780}
.nutritionPrimaryButtonApproved:hover{background:linear-gradient(135deg,#2fb368,#1f984f)}
.nutritionUpdatedApproved{display:flex;align-items:center;gap:8px;font-size:12px;color:#7a879b}
.nutritionUpdatedApproved svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.nutritionStatsApproved{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.nutritionStatsApproved .nutritionStatCard{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:16px;min-height:150px;padding:25px 22px;border:1px solid #e0e7e5;border-radius:16px;background:#fff;box-shadow:0 12px 32px rgba(39,57,50,.045)}
.nutritionStatsApproved .nutritionStatIcon{width:64px;height:64px}
.nutritionStatsApproved .nutritionStatIcon svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.nutritionStatsApproved .nutritionStatCard small{font-size:13px;color:#58657a}
.nutritionStatsApproved .nutritionStatCard strong{font-size:34px;color:var(--nutrition-approved-text)}
.nutritionStatsApproved .nutritionStatCard div>span{font-size:12px;color:#7b8798}
.nutritionTrend--green{color:#1d9d53!important}.nutritionTrend--blue{color:#2874cf!important}.nutritionTrend--orange{color:#d4770f!important}
.nutritionDirectoryApproved{border-radius:17px;border-color:#e1e7e5;box-shadow:0 16px 40px rgba(30,50,43,.045)}
.nutritionToolbarApproved{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:18px 20px;border-bottom:1px solid #e8edeb;background:#fff}
.nutritionFiltersApproved{display:grid;grid-template-columns:minmax(280px,1.4fr) minmax(130px,.42fr) minmax(155px,.48fr) auto auto;align-items:center;gap:14px;padding:0;border:0;background:transparent}
.nutritionFiltersApproved input,.nutritionFiltersApproved select{height:48px;border:1px solid #dce4e1;border-radius:11px;background:#fff}
.nutritionSearchFieldApproved{position:relative}
.nutritionSearchFieldApproved input{padding-left:47px}
.nutritionSearchIcon{position:absolute;left:16px;top:50%;width:19px;height:19px;transform:translateY(-50%);fill:none;stroke:#6e7b90;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.nutritionFilterButtonApproved{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 18px;border:1px solid #d8e0de;border-radius:11px;background:#fff;color:#445269;white-space:nowrap}
.nutritionFilterButtonApproved svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.nutritionViewSwitch{display:flex;border:1px solid #dde5e2;border-radius:11px;overflow:hidden;background:#fff}
.nutritionViewSwitch button{display:grid;place-items:center;width:48px;height:46px;padding:0;border:0;border-radius:0;background:#fff;color:#647286;box-shadow:none}
.nutritionViewSwitch button+button{border-left:1px solid #e1e7e5}
.nutritionViewSwitch button.active{background:#e9f7ee;color:#14884a}
.nutritionViewSwitch svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.nutritionClientCardsApproved{display:grid;background:#fff}
.nutritionClientCardApproved{grid-template-columns:minmax(260px,1.25fr) minmax(132px,.58fr) minmax(135px,.58fr) minmax(86px,.35fr) minmax(200px,.88fr) minmax(150px,.55fr);gap:22px;padding:22px 20px;border-top:1px solid #edf1ef}
.nutritionClientIdentityApproved .nutritionAvatar{width:58px;height:58px;flex-basis:58px;font-size:16px}
.nutritionClientIdentityApproved strong{font-size:16px}
.nutritionClientIdentityApproved small{margin-top:3px;font-size:12px;color:#6f7b8d}
.nutritionClientIdentityApproved .nutritionStatus{display:inline-flex;width:max-content;margin-top:7px}
.nutritionClientMetricApproved{padding-left:20px}
.nutritionClientMetricApproved small{display:flex;align-items:center;gap:6px;color:#748195;font-size:11px;font-weight:650}
.nutritionClientMetricApproved small svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.nutritionClientMetricApproved strong{font-size:14px;color:#1c2a41}
.nutritionClientMetricApproved>span{font-size:11px}
.nutritionClientMetricApproved em{display:block;margin-top:3px;color:#8a94a3;font-size:9px;font-style:normal}
.nutritionMetricPositive{color:#199a50!important}
.nutritionClientActionsApproved{position:relative;display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0}
.nutritionKebab{position:absolute;right:3px;top:-18px;width:30px;height:30px;padding:0;border:0;background:transparent;color:#526176;font-size:22px;box-shadow:none}
.nutritionOpenButtonApproved{min-width:132px;border-color:#5fc383;border-radius:10px;color:#138647}
.nutritionDirectoryFooter{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 20px;border-top:1px solid #e8edeb;background:#fff;color:#78859a;font-size:12px}
.nutritionDirectoryFooter label{display:flex;align-items:center;gap:8px;margin:0}
.nutritionDirectoryFooter select{height:38px;padding:0 34px 0 12px;border-radius:9px}
.nutritionPagination{display:flex;align-items:center;gap:10px}
.nutritionPagination button,.nutritionPagination strong{display:grid;place-items:center;width:36px;height:36px;border:1px solid #e1e7e5;border-radius:9px;background:#fff;color:#6f7b8d}
.nutritionPagination strong{border-color:#28aa5e;background:#28aa5e;color:#fff}
.nutritionPagination button:disabled{opacity:.55}
.srOnly{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.nutritionClientCardsApproved.is-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:14px;background:#f8fbf9}
.nutritionClientCardsApproved.is-grid .nutritionClientCardApproved{grid-template-columns:1fr 1fr;gap:16px;border:1px solid #e2e9e6;border-radius:14px;background:#fff}
.nutritionClientCardsApproved.is-grid .nutritionClientIdentityApproved{grid-column:1/-1}
.nutritionClientCardsApproved.is-grid .nutritionClientMetricApproved{padding:0;border:0}
.nutritionClientCardsApproved.is-grid .nutritionClientPlan{grid-column:1/-1;padding-top:13px;border-top:1px solid #edf1ef}
.nutritionClientCardsApproved.is-grid .nutritionClientActionsApproved{grid-column:1/-1}
.nutritionClientCardsApproved.is-grid .nutritionOpenButtonApproved{width:100%}
@media(max-width:1280px){.nutritionHeroApproved{grid-template-columns:minmax(0,1fr) 250px auto}.nutritionStatsApproved{grid-template-columns:repeat(2,minmax(0,1fr))}.nutritionClientCardApproved{grid-template-columns:minmax(240px,1.15fr) repeat(3,minmax(100px,.5fr)) minmax(180px,.8fr)}.nutritionClientActionsApproved{grid-column:2/-1}.nutritionToolbarApproved{grid-template-columns:1fr}.nutritionViewSwitch{justify-self:end}}
@media(max-width:980px){.nutritionHeroApproved{grid-template-columns:minmax(0,1fr) auto}.nutritionHeroArtApproved{display:none}.nutritionFiltersApproved{grid-template-columns:minmax(220px,1fr) 1fr 1fr}.nutritionFilterButtonApproved,.nutritionResetButton{width:100%}.nutritionClientCardApproved{grid-template-columns:minmax(230px,1fr) 1fr 1fr}.nutritionClientPlan{grid-column:1/3;margin-left:72px}.nutritionClientActionsApproved{grid-column:3}.nutritionClientCardsApproved.is-grid{grid-template-columns:1fr}}
@media(max-width:760px){.nutritionDashboardApproved{gap:20px}.nutritionHeroApproved{grid-template-columns:1fr}.nutritionDesktopBreak{display:none}.nutritionHeroActionsApproved{align-items:stretch}.nutritionPrimaryButtonApproved{width:100%}.nutritionUpdatedApproved{justify-content:center}.nutritionStatsApproved{grid-template-columns:1fr 1fr;gap:10px}.nutritionStatsApproved .nutritionStatCard{grid-template-columns:48px minmax(0,1fr);min-height:118px;padding:16px}.nutritionStatsApproved .nutritionStatIcon{width:48px;height:48px}.nutritionStatsApproved .nutritionStatIcon svg{width:24px;height:24px}.nutritionToolbarApproved{padding:14px}.nutritionFiltersApproved{grid-template-columns:1fr}.nutritionViewSwitch{justify-self:stretch}.nutritionViewSwitch button{width:50%}.nutritionClientCardApproved{grid-template-columns:1fr 1fr;gap:16px;padding:18px}.nutritionClientIdentityApproved{grid-column:1/-1}.nutritionClientMetricApproved{padding:0;border:0}.nutritionClientMetric--compact{display:none}.nutritionClientPlan{grid-column:1/-1;margin:0;padding-top:14px;border-top:1px solid #edf1ef}.nutritionClientActionsApproved{grid-column:1/-1}.nutritionOpenButtonApproved{width:100%}.nutritionDirectoryFooter{align-items:flex-start;flex-direction:column}.nutritionPagination{align-self:flex-end}}
@media(max-width:500px){.nutritionStatsApproved{grid-template-columns:1fr}.nutritionClientCardApproved{grid-template-columns:1fr}.nutritionClientMetricApproved,.nutritionClientPlan,.nutritionClientActionsApproved{grid-column:1}.nutritionClientCardsApproved.is-grid{padding:8px}}

/* FIX91 — Nutrizione allineato al layout grafico approvato. Solo interfaccia del modulo. */
.nutritionDashboardApproved{
  --nutrition-final-green:#27b45f;
  --nutrition-final-green-dark:#168548;
  --nutrition-final-text:#122039;
  --nutrition-final-muted:#6d7890;
  max-width:1500px;
  gap:24px;
}
.nutritionHeroApproved{
  position:relative;
  isolation:isolate;
  grid-template-columns:minmax(0,1.05fr) minmax(330px,.95fr) minmax(270px,.72fr);
  min-height:235px;
  gap:24px;
  padding:28px 34px 30px;
  overflow:hidden;
  border:1px solid #e9f2ec;
  border-radius:22px;
  background:linear-gradient(90deg,#fff 0%,#fff 34%,#f7fff9 67%,#eefbf2 100%);
  box-shadow:0 16px 42px rgba(31,82,52,.04);
}
.nutritionHeroApproved:after{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:radial-gradient(circle at 56% 46%,rgba(103,215,143,.13),rgba(103,215,143,0) 31%);
  pointer-events:none;
}
.nutritionHeroApproved .nutritionHeroCopy{align-self:center;max-width:620px}
.nutritionKickerApproved{
  gap:9px;
  margin:0 0 14px;
  color:var(--nutrition-final-green);
  font-size:13px;
  font-weight:800;
  letter-spacing:.025em;
}
.nutritionKickerApproved svg{width:18px;height:18px;stroke-width:2}
.nutritionHeroApproved h1{
  margin:0;
  color:var(--nutrition-final-text);
  font-size:clamp(46px,4vw,60px);
  line-height:.98;
  letter-spacing:-.045em;
}
.nutritionHeroApproved .nutritionHeroCopy>p:last-child{
  max-width:570px;
  margin:17px 0 0;
  color:var(--nutrition-final-muted);
  font-size:17px;
  line-height:1.48;
}
.nutritionHeroArtApproved{min-height:175px;align-self:center}
.nutritionHeroArtApproved:before{
  width:370px;
  height:220px;
  background:radial-gradient(circle at center,rgba(84,210,129,.17),rgba(84,210,129,0) 69%);
}
.nutritionHeroArtApproved svg{
  width:min(100%,390px);
  max-height:205px;
  overflow:visible;
  stroke:#61cc8b;
  stroke-width:2.25;
}
.nutritionHeroArtApproved .nutritionLeafVein{stroke:#80d79e;stroke-width:1.25;opacity:.7}
.nutritionHeroActionsApproved{align-self:center;gap:24px;min-width:270px}
.nutritionPrimaryButtonApproved{
  min-width:238px;
  min-height:58px;
  padding:0 26px;
  border-radius:10px;
  background:linear-gradient(135deg,#31bb68,#21a455);
  box-shadow:0 14px 28px rgba(38,173,95,.18);
  font-size:16px;
}
.nutritionUpdatedApproved{font-size:12px;white-space:nowrap}
.nutritionStatsApproved{gap:18px}
.nutritionStatsApproved .nutritionStatCard{
  min-height:142px;
  padding:23px 22px;
  border-radius:15px;
  box-shadow:0 10px 28px rgba(39,57,50,.035);
}
.nutritionStatsApproved .nutritionStatIcon{width:62px;height:62px}
.nutritionStatsApproved .nutritionStatCard strong{font-size:33px}
.nutritionDirectoryApproved{margin-top:2px}
.nutritionToolbarApproved{padding:17px 20px}
.nutritionFiltersApproved input,.nutritionFiltersApproved select{height:47px}
@media(max-width:1280px){
  .nutritionHeroApproved{grid-template-columns:minmax(0,1fr) minmax(260px,.75fr) auto;padding:26px 28px}
  .nutritionHeroArtApproved svg{width:min(100%,315px)}
}
@media(max-width:980px){
  .nutritionHeroApproved{grid-template-columns:minmax(0,1fr) auto;background:linear-gradient(105deg,#fff 0%,#fff 54%,#f1fcf4 100%)}
  .nutritionHeroArtApproved{display:none}
}
@media(max-width:760px){
  .nutritionHeroApproved{grid-template-columns:1fr;padding:22px 20px;border-radius:18px;background:linear-gradient(145deg,#fff 0%,#f1fcf4 100%)}
  .nutritionHeroApproved h1{font-size:44px}
  .nutritionHeroApproved .nutritionHeroCopy>p:last-child{font-size:16px}
  .nutritionHeroActionsApproved{min-width:0}
  .nutritionUpdatedApproved{white-space:normal}
}

/* FIX92 — Impostazioni aziendali e testate moduli isolate */
.generalSettingsV2Grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:24px;align-items:start}
.generalSettingsV2Main{display:grid;gap:18px}.settingsCardV2{background:var(--surface-color,#fff);border:1px solid #dfe8e5;border-radius:20px;padding:24px;box-shadow:0 12px 30px rgba(26,50,46,.04)}
.settingsCardV2>h3{margin:4px 0 8px;font-size:24px}.settingsCardV2>p:not(.eyebrow){margin:0 0 20px;color:var(--muted-color)}.settingsCardV2 label{display:grid;gap:8px;margin-top:16px;font-weight:700}.settingsCardV2 input,.settingsCardV2 textarea,.settingsCardV2 select{width:100%}.settingsToggleRow{display:flex!important;align-items:center;justify-content:space-between;gap:20px;padding:14px 16px;border:1px solid #e0e9e6;border-radius:14px;background:#f9fbfa}.settingsToggleRow input{width:44px;height:24px}.logoUsageGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.logoUsageGrid label{position:relative;padding:16px;border:1px solid #e0e8e5;border-radius:14px}.logoUsageGrid label small{position:absolute;right:28px;bottom:28px;color:var(--muted-color)}.settingsSaveV2{justify-self:start}.generalLogoPreviewV2{position:sticky;top:24px;border-radius:22px}.generalLogoPreviewV2 .generalLogoCanvas{min-height:260px}.generalLogoPreviewV2 .generalBrandPreview{margin-top:16px}
.moduleHeaderSettings{display:grid;gap:20px}.moduleHeaderTabs{display:flex;gap:10px;flex-wrap:wrap}.moduleHeaderTabs a{display:flex;align-items:center;gap:9px;padding:12px 16px;border:1px solid #dce6e2;border-radius:12px;background:#fff;color:var(--page-text);font-weight:800;text-decoration:none}.moduleHeaderTabs a svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8}.moduleHeaderTabs a.active{border-color:#24ad5d;background:#eefaf2;color:#139547;box-shadow:0 7px 18px rgba(35,174,91,.1)}
.moduleHeaderSettingsGrid{display:grid;grid-template-columns:minmax(360px,.8fr) minmax(520px,1.2fr);gap:22px;align-items:start}.moduleHeaderForm{display:grid;gap:16px}.moduleHeaderForm .settingsCardV2{padding:20px}.moduleHeaderForm .settingsCardV2 h3{font-size:20px}.moduleHeaderActions{display:flex;justify-content:space-between;gap:12px;padding-top:4px}.rangeWithOutput{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px}.rangeWithOutput input{min-width:0}.rangeWithOutput output{min-width:58px;text-align:right;color:var(--muted-color);font-weight:700}.backgroundModeChoices{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}.backgroundModeChoices label{display:flex;align-items:center;gap:8px;margin:0;padding:12px;border:1px solid #dce6e2;border-radius:12px;font-weight:700}.backgroundModeChoices input{width:auto}.moduleHeaderColors{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:10px;margin-top:14px}.moduleHeaderColors label{margin:0}.moduleHeaderColors input{height:48px;padding:4px}
.moduleHeaderPreviewPanel{position:sticky;top:24px;border:1px solid #dfe7e4;border-radius:20px;background:#fff;overflow:hidden;box-shadow:0 18px 45px rgba(30,55,50,.06)}.moduleHeaderLiveLabel{display:flex;align-items:center;gap:9px;padding:16px 20px;border-bottom:1px solid #e6ece9;font-size:12px;font-weight:900;letter-spacing:.08em;color:#58687b}.moduleHeaderLiveLabel span{width:8px;height:8px;border-radius:50%;background:#21b85a;box-shadow:0 0 0 5px #e8f8ee}.moduleHeaderLivePreview{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,.75fr);align-items:center;gap:22px;min-height:310px;padding:34px;background-size:cover;background-position:center}.moduleHeaderPreviewCopy p{display:flex;align-items:center;gap:8px;margin:0 0 12px;color:#15984a;font-size:13px;font-weight:900;letter-spacing:.04em}.moduleHeaderPreviewCopy p svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}.moduleHeaderPreviewCopy h2{margin:0 0 16px;font-size:46px;line-height:1.02;letter-spacing:-.035em}.moduleHeaderPreviewCopy div{max-width:500px;color:#607087;font-size:17px;line-height:1.55;white-space:pre-line}.moduleHeaderPreviewVisual{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;min-height:220px}.moduleHeaderPreviewVisual [data-preview-logo]{width:auto;max-width:min(100%,var(--preview-logo-size,120px));max-height:90px;object-fit:contain}.moduleHeaderPreviewVisual [data-preview-image]{width:min(100%,var(--preview-image-size,300px));max-height:220px;object-fit:contain}.moduleHeaderPreviewNote{padding:14px 18px;border-top:1px solid #e5ece9;background:#f7faf9;color:#66758b;font-size:13px}
.moduleWorkspaceHeader{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.5fr);gap:24px;align-items:center;padding:28px 32px;border:1px solid #dfe8e5;border-radius:22px;margin-bottom:22px;background-size:cover!important;background-position:center!important}.moduleWorkspaceHeader>.mobileMenuToggle{position:absolute}.moduleWorkspaceCopy .moduleHeaderEyebrow{display:flex;align-items:center;gap:8px;color:#15984a;font-weight:900;letter-spacing:.04em}.moduleWorkspaceCopy .moduleHeaderEyebrow svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}.moduleWorkspaceCopy .moduleHeaderEyebrow img{width:20px;height:20px;object-fit:contain}.moduleWorkspaceCopy h1{margin:8px 0 12px}.moduleWorkspaceCopy>p:last-child{max-width:680px}.moduleWorkspaceVisual{display:flex;align-items:center;justify-content:flex-end;gap:18px}.moduleWorkspaceLogo{width:auto;max-width:var(--module-logo-size,120px);max-height:88px;object-fit:contain}.moduleWorkspaceImage{width:min(100%,var(--module-image-size,300px));max-height:190px;object-fit:contain}
.nutritionKickerApproved img{width:20px;height:20px;object-fit:contain}.nutritionCustomHeroImage{width:min(100%,var(--nutrition-custom-image-size,300px));max-height:210px;object-fit:contain;position:relative;z-index:2}.nutritionHeaderCompanyLogo{width:auto;max-width:var(--nutrition-header-logo-size,120px);max-height:64px;object-fit:contain;align-self:flex-end}.nutritionHeroActionsApproved:has(.nutritionHeaderCompanyLogo){gap:14px}
@media(max-width:1100px){.generalSettingsV2Grid,.moduleHeaderSettingsGrid{grid-template-columns:1fr}.generalLogoPreviewV2,.moduleHeaderPreviewPanel{position:static}.moduleHeaderLivePreview{grid-template-columns:1fr}.moduleHeaderPreviewVisual{min-height:140px}.logoUsageGrid{grid-template-columns:1fr 1fr}.moduleWorkspaceHeader{grid-template-columns:1fr}.moduleWorkspaceVisual{justify-content:flex-start}}
@media(max-width:700px){.settingsCardV2{padding:18px}.logoUsageGrid,.backgroundModeChoices{grid-template-columns:1fr}.moduleHeaderTabs{display:grid;grid-template-columns:1fr}.moduleHeaderLivePreview{padding:24px 18px;min-height:0}.moduleHeaderPreviewCopy h2{font-size:38px}.moduleHeaderActions{flex-direction:column}.moduleHeaderActions .button{width:100%}.moduleWorkspaceHeader{padding:22px 18px}.moduleWorkspaceVisual{flex-direction:column;align-items:flex-start}.nutritionHeaderCompanyLogo{align-self:flex-start}}

/* FIX93 - anteprima live testate moduli */
.moduleHeaderPreviewCopy [hidden],.moduleHeaderPreviewVisual [hidden]{display:none!important}
.moduleHeaderPreviewIcon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex:0 0 22px}
.moduleHeaderPreviewIcon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.moduleHeaderPreviewIcon img{display:block;width:22px;height:22px;object-fit:contain}

/* Testate moduli — struttura approvata desktop/mobile */
.moduleHeaderSettings{gap:18px}.moduleHeaderTabs{flex-wrap:nowrap;overflow-x:auto;padding:1px 1px 5px;scrollbar-width:thin}.moduleHeaderTabs a{min-height:48px;padding:0 18px;border:1.5px solid #2f4653;border-radius:13px;color:#304653;white-space:nowrap}.moduleHeaderTabs a.active{border-color:#078e93;background:linear-gradient(180deg,#0aa1a2,#07868c);color:#fff;box-shadow:0 7px 18px rgba(7,142,147,.14)}
.moduleHeaderSettingsGrid{grid-template-columns:minmax(460px,.95fr) minmax(560px,1.25fr);gap:20px}.moduleHeaderForm{gap:12px}.moduleHeaderForm .moduleHeaderSection{padding:20px;border-radius:16px}.moduleHeaderSection>.eyebrow{margin-bottom:7px;color:#5b817b}.moduleHeaderSection>h3{margin-bottom:14px!important;font-size:21px!important}.moduleHeaderFieldGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.moduleHeaderToggle{display:flex!important;align-items:center;justify-content:space-between;gap:14px;margin:10px 0!important;padding:12px 14px;border:1px solid #e2e9e7;border-radius:11px;background:#fbfcfc}.moduleHeaderToggle input{width:20px;height:20px;accent-color:#078e93}.moduleHeaderIconRow{display:grid;grid-template-columns:64px minmax(150px,1fr) auto;align-items:end;gap:12px}.moduleHeaderIconRow label{margin:0}.moduleHeaderIconSample{display:grid;place-items:center;width:64px;height:64px;border-radius:13px;background:#e7f6f4;color:#078e93}.moduleHeaderIconSample svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.moduleHeaderUploadButton{display:inline-flex!important;align-items:center;justify-content:center;min-height:44px;margin:0!important;padding:0 15px;border:1.5px solid #078e93;border-radius:10px;background:#fff;color:#087f84;font-weight:800;cursor:pointer;text-align:center}.moduleHeaderUploadWide{width:100%;margin-top:12px!important}.moduleHeaderHiddenFile{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}.moduleHeaderChoiceTitle{margin:15px 0 8px!important}.moduleHeaderLogoChoices{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.moduleHeaderLogoChoices label,.moduleHeaderModeChoices label{position:relative;display:flex;align-items:stretch;margin:0;padding:0;border:0}.moduleHeaderLogoChoices input,.moduleHeaderModeChoices input{position:absolute;opacity:0;pointer-events:none}.moduleHeaderLogoChoices span,.moduleHeaderModeChoices span{display:flex;align-items:center;justify-content:center;width:100%;min-height:42px;padding:8px 10px;border:1.5px solid #d7e2df;border-radius:10px;background:#fff;color:#304653;font-size:12px;font-weight:800;text-align:center;cursor:pointer}.moduleHeaderLogoChoices input:checked+span,.moduleHeaderModeChoices input:checked+span{border-color:#078e93;background:#e9f7f5;color:#07868c}.moduleHeaderModeChoices{grid-template-columns:repeat(3,1fr)}.moduleHeaderColors input{height:44px}.moduleHeaderAdvanced{margin-top:14px;border-top:1px solid #e4ebe9}.moduleHeaderAdvanced summary{padding:14px 0 2px;color:#087f84;font-weight:800;cursor:pointer}.moduleHeaderAdvanced>div{display:grid;gap:3px;padding-top:8px}.moduleHeaderActions{position:sticky;bottom:0;z-index:5;padding:12px 0;background:linear-gradient(to top,#f6f9f8 75%,rgba(246,249,248,0))}.moduleHeaderActions .button{min-height:45px}.moduleHeaderPreviewPanel{border-radius:16px}.moduleHeaderPreviewTop{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;border-bottom:1px solid #e6ece9}.moduleHeaderPreviewTop .moduleHeaderLiveLabel{padding:0;border:0}.moduleHeaderDeviceSwitch{display:flex;border:1px solid #dce5e2;border-radius:9px;overflow:hidden}.moduleHeaderDeviceSwitch button{min-height:34px;padding:0 13px;border:0;border-radius:0;background:#fff;color:#304653;font-size:11px}.moduleHeaderDeviceSwitch button.active{background:#078e93;color:#fff}.moduleHeaderPreviewViewport{padding:0;background:#f7faf9;transition:.2s}.moduleHeaderLivePreview{min-height:340px}.moduleHeaderPreviewViewport.is-mobile{padding:18px}.moduleHeaderPreviewViewport.is-mobile .moduleHeaderLivePreview{grid-template-columns:1fr;width:min(320px,100%);min-height:520px;margin:auto;padding:24px 20px;border-radius:24px}.moduleHeaderPreviewViewport.is-mobile .moduleHeaderPreviewCopy h2{font-size:34px}.moduleHeaderPreviewViewport.is-mobile .moduleHeaderPreviewVisual{min-height:150px;align-items:flex-start}.moduleHeaderPreviewViewport.is-mobile .moduleHeaderPreviewVisual [data-preview-logo]{align-self:center}.moduleHeaderPreviewNote{font-size:12px}
@media(max-width:1200px){.moduleHeaderSettingsGrid{grid-template-columns:1fr}.moduleHeaderPreviewPanel{position:static}}
@media(max-width:700px){.moduleHeaderSettings{gap:14px}.moduleHeaderTabs{display:flex;grid-template-columns:none;margin-right:-18px;padding-right:18px}.moduleHeaderTabs a{flex:0 0 auto;min-height:45px;padding:0 15px}.moduleHeaderForm .moduleHeaderSection{padding:17px}.moduleHeaderFieldGrid,.moduleHeaderLogoChoices{grid-template-columns:1fr}.moduleHeaderIconRow{grid-template-columns:56px 1fr}.moduleHeaderIconSample{width:56px;height:56px}.moduleHeaderIconRow .moduleHeaderUploadButton{grid-column:1/-1;width:100%}.moduleHeaderModeChoices{grid-template-columns:1fr 1fr 1fr}.moduleHeaderModeChoices span{padding:7px 5px;font-size:11px}.moduleHeaderColors{grid-template-columns:1fr 14px 1fr}.moduleHeaderPreviewTop{align-items:flex-start;flex-direction:column}.moduleHeaderDeviceSwitch{width:100%}.moduleHeaderDeviceSwitch button{flex:1}.moduleHeaderLivePreview{grid-template-columns:1fr;padding:24px 18px}.moduleHeaderActions{gap:9px}.moduleHeaderActions .button{margin:0}.moduleHeaderPreviewViewport.is-mobile{padding:12px}.moduleHeaderPreviewViewport.is-mobile .moduleHeaderLivePreview{min-height:440px}.moduleHeaderPreviewCopy h2{font-size:34px}}

/* SHE-LINK V11 FIX94 — voce principale apre la sezione, freccia apre il sottomenu. */
body:not(.public) .sidebarGroupToggle[data-home-url] .sidebarChevron{
  display:inline-grid!important;
  place-items:center;
  min-width:32px;
  min-height:32px;
  margin:-8px -8px -8px 10px;
  border-radius:8px;
  cursor:pointer;
}
body:not(.public) .sidebarGroupToggle[data-home-url] .sidebarChevron:hover{
  background:rgba(255,255,255,.12);
}

/* FIX95 — Evita il taglio del pulsante “Apri scheda” nella lista Nutrizione. */
.nutritionDirectoryApproved,
.nutritionClientCardsApproved,
.nutritionClientCardApproved{
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
}
.nutritionClientCardApproved{
  grid-template-columns:
    minmax(220px,1.30fr)
    minmax(105px,.56fr)
    minmax(110px,.56fr)
    minmax(68px,.32fr)
    minmax(145px,.78fr)
    minmax(118px,128px);
  gap:clamp(10px,1vw,18px);
}
.nutritionClientCardApproved>*{
  min-width:0;
  box-sizing:border-box;
}
.nutritionClientActionsApproved{
  width:100%;
  min-width:0;
  justify-self:stretch;
  overflow:visible;
}
.nutritionOpenButtonApproved{
  width:100%;
  min-width:0;
  max-width:128px;
  padding-inline:10px;
  box-sizing:border-box;
  white-space:nowrap;
}
.nutritionOpenButtonApproved span{flex:0 0 auto}

@media(max-width:1280px){
  .nutritionClientCardApproved{
    grid-template-columns:minmax(230px,1.15fr) repeat(3,minmax(90px,.5fr)) minmax(150px,.75fr);
  }
  .nutritionClientActionsApproved{
    grid-column:2/-1;
    justify-content:flex-end;
  }
  .nutritionOpenButtonApproved{
    width:auto;
    min-width:128px;
    max-width:none;
  }
}

@media(max-width:760px){
  .nutritionOpenButtonApproved{
    width:100%;
    max-width:none;
  }
}


/* FIX96 — controlli vista Nutrizione e rimozione menu inattivo */
.nutritionViewSwitch{
  display:flex;
  align-items:center;
  gap:10px;
  border:0;
  border-radius:0;
  overflow:visible;
  background:transparent;
}
.nutritionViewSwitch button{
  width:48px;
  height:46px;
  border:1px solid #d8e2df;
  border-radius:11px;
  background:#fff;
}
.nutritionViewSwitch button+button{border-left:1px solid #d8e2df}
.nutritionViewSwitch button.active{
  border-color:#8bd4a4;
  background:#e9f7ee;
  color:#14884a;
}
.nutritionKebab{display:none!important}
.nutritionClientActionsApproved{
  align-items:center;
  justify-content:flex-end;
}
@media(max-width:760px){
  .nutritionViewSwitch{gap:12px}
  .nutritionViewSwitch button{width:calc(50% - 6px)}
}

/* FIX97 — archivio assistiti non attivi e menu azioni funzionante */
.nutritionArchiveIntro{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
  padding:24px 28px 4px;
}
.nutritionArchiveIntro h2{margin:4px 0 8px;font-size:30px;letter-spacing:-.02em}
.nutritionArchiveIntro p:not(.eyebrow){max-width:760px;margin:0;color:var(--muted-color);line-height:1.55}
.nutritionArchiveCount{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:0 14px;
  border-radius:999px;
  background:#f2f5f4;
  color:#5b6a68;
  font-weight:800;
  white-space:nowrap;
}
.nutritionAccessSuspended{margin-top:5px!important;color:#a56b18!important;font-weight:700}
.nutritionClientActionsApproved{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  overflow:visible;
}
.nutritionClientMore{position:relative;flex:0 0 auto}
.nutritionClientMore>summary{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  margin:0;
  padding:0;
  border:1px solid #d6e0dd;
  border-radius:11px;
  background:#fff;
  color:#334b57;
  font-size:25px;
  line-height:1;
  cursor:pointer;
  list-style:none;
  box-sizing:border-box;
}
.nutritionClientMore>summary::-webkit-details-marker{display:none}
.nutritionClientMore>summary:hover,.nutritionClientMore[open]>summary{border-color:#9bcfaf;background:#eef8f1;color:#178b4b}
.nutritionClientMoreMenu{
  position:absolute;
  z-index:30;
  top:calc(100% + 8px);
  right:0;
  min-width:210px;
  padding:8px;
  border:1px solid #dce6e2;
  border-radius:12px;
  background:#fff;
  box-shadow:0 16px 38px rgba(23,52,45,.15);
}
.nutritionClientMoreMenu form{margin:0}
.nutritionClientMoreMenu button{
  width:100%;
  min-height:42px;
  padding:10px 12px;
  border:0;
  border-radius:9px;
  background:transparent;
  color:#263b45;
  text-align:left;
  font:inherit;
  font-weight:800;
  cursor:pointer;
}
.nutritionClientMoreMenu button:hover{background:#f2f8f4;color:#137a43}
.nutritionDirectory--inactive .nutritionClientCardApproved{background:#fcfdfd}
.nutritionDirectory--inactive .nutritionMetricPositive{color:#6f7d8b}

@media(max-width:1280px){
  .nutritionClientActionsApproved{grid-column:2/-1;justify-content:flex-end}
}
@media(max-width:760px){
  .nutritionArchiveIntro{flex-direction:column;padding:20px 18px 0}
  .nutritionClientActionsApproved{width:100%;display:grid;grid-template-columns:42px minmax(0,1fr)}
  .nutritionClientMoreMenu{left:0;right:auto}
}

/* FIX98 — azioni assistito con icone dirette: visualizza, archivia e riattiva */
.nutritionClientCardApproved{
  grid-template-columns:
    minmax(220px,1.30fr)
    minmax(105px,.56fr)
    minmax(110px,.56fr)
    minmax(68px,.32fr)
    minmax(145px,.78fr)
    minmax(96px,104px);
}
.nutritionClientActionsApproved{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  width:100%;
  min-width:96px;
  overflow:visible;
}
.nutritionClientArchiveForm{display:flex;margin:0;flex:0 0 auto}
.nutritionClientIconAction{
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  min-width:44px;
  padding:0;
  border:1px solid #d5e0dc;
  border-radius:12px;
  background:#fff;
  color:#314955;
  box-shadow:none;
  cursor:pointer;
  box-sizing:border-box;
  transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease;
}
.nutritionClientIconAction svg{
  width:21px;
  height:21px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.nutritionClientIconAction:hover{
  transform:translateY(-1px);
  border-color:#8ccfa4;
  background:#eff9f2;
  color:#148548;
}
.nutritionClientArchiveAction:hover{
  border-color:#e5b66e;
  background:#fff7ea;
  color:#a56508;
}
.nutritionClientRestoreAction{
  border-color:#a5d8b6;
  color:#16864a;
  background:#f3fbf6;
}
.nutritionClientMore,.nutritionClientMoreMenu,.nutritionOpenButtonApproved{display:none!important}

@media(max-width:1280px){
  .nutritionClientCardApproved{
    grid-template-columns:minmax(230px,1.15fr) repeat(3,minmax(90px,.5fr)) minmax(150px,.75fr);
  }
  .nutritionClientActionsApproved{
    grid-column:2/-1;
    width:auto;
    min-width:0;
  }
}
@media(max-width:760px){
  .nutritionClientActionsApproved{
    grid-column:1/-1;
    display:flex;
    justify-content:flex-end;
    width:100%;
  }
}


/* FIX99 — icone azioni Nutrizione sempre visibili */
.nutritionClientIconAction{
  position:relative;
  color:#314955!important;
}
.nutritionClientIconAction .nutritionActionIcon{
  display:block!important;
  width:22px!important;
  height:22px!important;
  min-width:22px!important;
  min-height:22px!important;
  background-color:currentColor!important;
  opacity:1!important;
  visibility:visible!important;
  -webkit-mask-repeat:no-repeat;
  -webkit-mask-position:center;
  -webkit-mask-size:contain;
  mask-repeat:no-repeat;
  mask-position:center;
  mask-size:contain;
  pointer-events:none;
}
.nutritionActionIcon--view{
  -webkit-mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0yIDEyczMuNS03IDEwLTcgMTAgNyAxMCA3LTMuNSA3LTEwIDdTMiAxMiAyIDEyWiIvPjxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjMiLz48L3N2Zz4=");
  mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0yIDEyczMuNS03IDEwLTcgMTAgNyAxMCA3LTMuNSA3LTEwIDdTMiAxMiAyIDEyWiIvPjxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjMiLz48L3N2Zz4=");
}
.nutritionActionIcon--archive{
  -webkit-mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik00IDdoMTYiLz48cGF0aCBkPSJNNiA3bDEgMTNoMTBsMS0xMyIvPjxwYXRoIGQ9Ik05IDdWNGg2djMiLz48cGF0aCBkPSJNMTIgMTB2NiIvPjxwYXRoIGQ9Im05LjUgMTMgMi41IDMgMi41LTMiLz48L3N2Zz4=");
  mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik00IDdoMTYiLz48cGF0aCBkPSJNNiA3bDEgMTNoMTBsMS0xMyIvPjxwYXRoIGQ9Ik05IDdWNGg2djMiLz48cGF0aCBkPSJNMTIgMTB2NiIvPjxwYXRoIGQ9Im05LjUgMTMgMi41IDMgMi41LTMiLz48L3N2Zz4=");
}
.nutritionActionIcon--restore{
  -webkit-mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik00IDExYTggOCAwIDEgMSAyLjMgNS43Ii8+PHBhdGggZD0iTTQgNXY2aDYiLz48cGF0aCBkPSJNMTIgOHY0bDMgMiIvPjwvc3ZnPg==");
  mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik00IDExYTggOCAwIDEgMSAyLjMgNS43Ii8+PHBhdGggZD0iTTQgNXY2aDYiLz48cGF0aCBkPSJNMTIgOHY0bDMgMiIvPjwvc3ZnPg==");
}
.nutritionClientArchiveAction{color:#a56508!important;background:#fffaf1!important;border-color:#e8c98e!important}
.nutritionClientRestoreAction{color:#16864a!important;background:#f3fbf6!important;border-color:#a5d8b6!important}
.nutritionClientViewAction:hover{color:#148548!important}
.nutritionClientArchiveAction:hover{color:#8d5506!important}
.nutritionClientRestoreAction:hover{color:#0f703d!important}

/* FIX100 — controlli filtri coerenti con Prodotti e footer responsive */
.nutritionFilterButtonApproved{
  width:52px;
  height:52px;
  min-width:52px;
  min-height:52px;
  padding:0;
  border:1px solid #314955;
  border-radius:50%;
  background:#fff;
  color:#314955;
  box-shadow:none;
}
.nutritionFilterButtonApproved svg{
  width:24px;
  height:24px;
  stroke-width:1.8;
}
.nutritionFilterButtonApproved:hover,
.nutritionFilterButtonApproved:focus-visible{
  border-color:#199a50;
  background:#eef9f2;
  color:#148548;
}
.nutritionViewSwitch{
  gap:14px;
}
.nutritionViewSwitch button{
  width:52px;
  height:52px;
  min-width:52px;
  border:1px solid #314955;
  border-radius:50%;
}
.nutritionViewSwitch button+button{
  border-left:1px solid #314955;
}
.nutritionViewSwitch button.active{
  border-color:#199a50;
  background:#eef9f2;
  color:#148548;
}
.nutritionViewSwitch svg{
  width:24px;
  height:24px;
}
.nutritionDirectoryFooter label{
  display:inline-flex;
  align-items:center;
  flex-wrap:nowrap;
  gap:8px;
  white-space:nowrap;
}
.nutritionDirectoryFooter label select{
  flex:0 0 auto;
  min-width:92px;
}

@media(max-width:980px){
  .nutritionFilterButtonApproved{
    width:52px;
    min-width:52px;
    justify-self:start;
  }
}

@media(max-width:760px){
  .nutritionFiltersApproved{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;
    gap:12px;
  }
  .nutritionSearchFieldApproved{
    grid-column:1/-1;
  }
  .nutritionFilterButtonApproved{
    grid-column:3;
    grid-row:2;
  }
  .nutritionViewSwitch{
    justify-self:end;
    width:auto;
    gap:14px;
  }
  .nutritionViewSwitch button{
    width:52px;
    min-width:52px;
    height:52px;
  }
  .nutritionDirectoryFooter{
    width:100%;
  }
  .nutritionDirectoryFooter label{
    width:auto;
    max-width:100%;
    white-space:nowrap;
  }
}

@media(max-width:560px){
  .nutritionFiltersApproved{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  }
  .nutritionFilterButtonApproved{
    grid-column:1;
    grid-row:auto;
  }
  .nutritionViewSwitch{
    justify-self:start;
  }
  .nutritionDirectoryFooter{
    gap:14px;
  }
  .nutritionDirectoryFooter label{
    font-size:11px;
  }
  .nutritionDirectoryFooter label select{
    min-width:78px;
    height:36px;
  }
}

@media(max-width:390px){
  .nutritionFiltersApproved{
    grid-template-columns:1fr;
  }
  .nutritionSearchFieldApproved,
  .nutritionFilterButtonApproved{
    grid-column:1;
  }
  .nutritionFilterButtonApproved{
    justify-self:start;
  }
  .nutritionViewSwitch{
    justify-self:start;
  }
  .nutritionDirectoryFooter label{
    gap:6px;
    font-size:10px;
  }
  .nutritionDirectoryFooter label select{
    min-width:72px;
    padding-left:9px;
    padding-right:26px;
  }
}

/* FIX100 mobile specificity guard */
.nutritionFiltersApproved .nutritionFilterButtonApproved{
  width:52px;
  min-width:52px;
  max-width:52px;
  flex:0 0 52px;
}
@media(max-width:760px){
  .nutritionFiltersApproved .nutritionFilterButtonApproved{
    width:52px;
    min-width:52px;
    max-width:52px;
  }
}

/* FIX100 footer select sizing guard */
.nutritionDirectoryFooter label select{
  width:92px;
  max-width:92px;
}
@media(max-width:560px){
  .nutritionDirectoryFooter label select{
    width:78px;
    max-width:78px;
  }
}
@media(max-width:390px){
  .nutritionDirectoryFooter label select{
    width:72px;
    max-width:72px;
  }
}

/* FIX101 — Pulsante flottante Nuovo assistito */
.nutritionFloatingAdd{
  position:fixed;
  right:30px;
  bottom:30px;
  z-index:1100;
  width:72px;
  height:72px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:24px;
  background:#8faa9a;
  color:#fff;
  text-decoration:none;
  border:1px solid rgba(255,255,255,.55);
  box-shadow:0 14px 30px rgba(50,77,64,.25),0 5px 12px rgba(50,77,64,.14);
  transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease;
  isolation:isolate;
}
.nutritionFloatingAdd>span:first-child{
  display:block;
  font-size:46px;
  line-height:1;
  font-weight:300;
  transform:translateY(-2px);
}
.nutritionFloatingAdd:hover,
.nutritionFloatingAdd:focus-visible{
  color:#fff;
  background:#829f8e;
  transform:scale(1.06);
  box-shadow:0 19px 38px rgba(50,77,64,.31),0 8px 16px rgba(50,77,64,.17);
}
.nutritionFloatingAdd:focus-visible{
  outline:3px solid rgba(143,170,154,.35);
  outline-offset:4px;
}
.nutritionFloatingAddLabel{
  position:absolute;
  right:0;
  bottom:calc(100% + 13px);
  min-width:max-content;
  padding:10px 15px;
  border-radius:10px;
  background:#fff;
  color:#111;
  font-size:14px;
  line-height:1.2;
  font-weight:700;
  box-shadow:0 9px 24px rgba(21,37,29,.18);
  opacity:0;
  visibility:hidden;
  transform:translateY(5px);
  pointer-events:none;
  transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
}
.nutritionFloatingAddLabel::after{
  content:"";
  position:absolute;
  right:25px;
  top:100%;
  border:7px solid transparent;
  border-top-color:#fff;
}
.nutritionFloatingAdd:hover .nutritionFloatingAddLabel,
.nutritionFloatingAdd:focus-visible .nutritionFloatingAddLabel{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

@media(max-width:760px){
  .nutritionFloatingAdd{
    right:20px;
    bottom:20px;
    width:62px;
    height:62px;
    border-radius:21px;
  }
  .nutritionFloatingAdd>span:first-child{font-size:40px}
  .nutritionFloatingAddLabel{display:none}
}
@media(max-width:390px){
  .nutritionFloatingAdd{
    right:16px;
    bottom:16px;
    width:58px;
    height:58px;
    border-radius:19px;
  }
  .nutritionFloatingAdd>span:first-child{font-size:37px}
}
@media(prefers-reduced-motion:reduce){
  .nutritionFloatingAdd,
  .nutritionFloatingAddLabel{transition:none}
  .nutritionFloatingAdd:hover,
  .nutritionFloatingAdd:focus-visible{transform:none}
}

/* FIX102 — card riepilogo scheda assistito coerenti con dashboard Nutrizione */
.nutritionSummaryApproved{gap:22px}
.nutritionSummaryApproved .nutritionSummaryCard{display:flex;align-items:center;gap:18px;min-width:0;padding:24px 26px;border:1px solid #dfe7e5;border-radius:22px;background:#fff;box-shadow:0 12px 30px rgba(30,55,49,.06)}
.nutritionSummaryApproved .nutritionSummaryIcon{flex:0 0 72px;width:72px;height:72px;border-radius:50%;display:grid;place-items:center}
.nutritionSummaryApproved .nutritionSummaryIcon svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.nutritionSummaryApproved .nutritionSummaryCard>div{min-width:0}
.nutritionSummaryApproved .nutritionSummaryCard small{margin:0 0 6px;color:#53627a;font-size:15px;font-weight:800}
.nutritionSummaryApproved .nutritionSummaryCard strong{font-size:30px;line-height:1.05;color:#0f1f3a;white-space:nowrap}
.nutritionSummaryApproved .nutritionSummaryMeta{display:block;margin-top:8px;font-size:13px;font-weight:700}
.nutritionSummaryCard--green .nutritionSummaryIcon{background:#e8f7ee;color:#19a957}.nutritionSummaryCard--green .nutritionSummaryMeta{color:#19a957}
.nutritionSummaryCard--blue .nutritionSummaryIcon{background:#eaf3ff;color:#2f7de1}.nutritionSummaryCard--blue .nutritionSummaryMeta{color:#2f7de1}
.nutritionSummaryCard--purple .nutritionSummaryIcon{background:#f2ebff;color:#8a49df}.nutritionSummaryCard--purple .nutritionSummaryMeta{color:#8a49df}
.nutritionSummaryCard--orange .nutritionSummaryIcon{background:#fff1df;color:#d97706}.nutritionSummaryCard--orange .nutritionSummaryMeta{color:#d97706}
@media(max-width:1100px){.nutritionSummaryApproved .nutritionSummaryCard{padding:20px;gap:14px}.nutritionSummaryApproved .nutritionSummaryIcon{flex-basis:60px;width:60px;height:60px}.nutritionSummaryApproved .nutritionSummaryIcon svg{width:29px;height:29px}.nutritionSummaryApproved .nutritionSummaryCard strong{font-size:25px}}
@media(max-width:760px){.nutritionSummaryApproved{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.nutritionSummaryApproved .nutritionSummaryCard{align-items:flex-start;padding:16px;gap:12px}.nutritionSummaryApproved .nutritionSummaryIcon{flex-basis:48px;width:48px;height:48px}.nutritionSummaryApproved .nutritionSummaryIcon svg{width:24px;height:24px}.nutritionSummaryApproved .nutritionSummaryCard small{font-size:12px}.nutritionSummaryApproved .nutritionSummaryCard strong{font-size:21px;white-space:normal}.nutritionSummaryApproved .nutritionSummaryMeta{font-size:11px}}
@media(max-width:420px){.nutritionSummaryApproved{grid-template-columns:1fr}.nutritionSummaryApproved .nutritionSummaryCard{align-items:center}.nutritionSummaryApproved .nutritionSummaryIcon{flex-basis:54px;width:54px;height:54px}}

/* FIX103 — azioni circolari scheda assistito */
.nutritionClientHead{display:block}
.nutritionClientHeadMain{width:100%}
.nutritionClientHeadActions{display:flex;align-items:center;gap:12px;margin:0 0 18px}
.nutritionClientHeadActions form{margin:0}
.nutritionClientCircleAction{width:44px;height:44px;min-width:44px;border:1.5px solid var(--page-text);border-radius:50%;background:#fff;color:var(--page-text);display:inline-flex;align-items:center;justify-content:center;padding:0;text-decoration:none;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease}
.nutritionClientCircleAction svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.nutritionClientCircleAction:hover{transform:translateY(-1px) scale(1.04);box-shadow:0 8px 18px rgba(25,45,55,.14);background:#f8fbfa}
.nutritionClientCircleAction:focus-visible{outline:3px solid rgba(75,170,125,.22);outline-offset:3px}
.nutritionClientArchiveCircleAction:hover{color:#9a4d28;background:#fff8f3;border-color:#b9663d}
.nutritionClientRestoreCircleAction:hover{color:#16854b;background:#effaf4;border-color:#32a96b}
@media(max-width:760px){.nutritionClientHeadActions{gap:10px;margin-bottom:14px}.nutritionClientCircleAction{width:42px;height:42px;min-width:42px}.nutritionClientCircleAction svg{width:19px;height:19px}}

/* FIX106 — scheda assistito fedele al layout approvato */
.nxHead{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin:0 0 28px}.nxHead h2{margin:6px 0 10px;font-size:clamp(34px,3vw,56px);line-height:1}.nxModule{margin:0 0 14px;font-weight:800;letter-spacing:.08em;color:#16964c}.nxLead{display:flex;align-items:center;gap:14px;margin:0;color:#667085;font-size:18px}.nxHeadActions{display:flex;gap:12px}.nxCircle{width:52px;height:52px;border:1.5px solid #d7e1dd;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#fff;color:#263844;box-shadow:0 8px 22px rgba(25,48,39,.08);transition:.2s;cursor:pointer}.nxCircle:hover{transform:scale(1.06);box-shadow:0 12px 28px rgba(25,48,39,.14)}.nxCircle svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.nxHeadActions form{margin:0}.nxSummary{margin-bottom:24px}.nxTopGrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:20px;margin-bottom:20px}.nxProfile,.nxProgress,.nxVisits,.nxPlans{border-radius:22px;padding:24px}.nxPanelHead{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:14px}.nxPanelHead h3{margin:4px 0 0;font-size:28px}.nxEditBtn{background:#fff!important;color:#178947!important;border:1px solid #96cfab!important;border-radius:10px!important;padding:10px 16px!important}.nxInfoGroup{padding:13px 0;border-top:1px solid #e6ece9}.nxInfoGroup:first-of-type{border-top:0}.nxInfoGroup h4{margin:0 0 10px;color:#16964c;font-size:15px}.nxInfoGroup dl{display:grid;grid-template-columns:1fr 1fr;gap:12px 28px;margin:0}.nxInfoGroup dl>div{min-width:0}.nxInfoGroup dt{font-size:12px;color:#758096;margin-bottom:4px}.nxInfoGroup dd{margin:0;font-weight:700;color:#172033;overflow-wrap:anywhere}.nxInfoGroup p{margin:0;line-height:1.55}.nxProgressTable{border-top:1px solid #e5ece9}.nxProgressRow{display:grid;grid-template-columns:1.45fr .75fr .75fr 1fr;gap:12px;align-items:center;padding:11px 4px;border-bottom:1px solid #e8eeeb;font-size:14px}.nxProgressHeader{color:#748096;text-transform:uppercase;font-size:11px;letter-spacing:.06em}.nxProgressRow strong{display:flex;justify-content:space-between;gap:8px}.nxProgressRow small{font-size:11px}.nxGood{color:#128249}.nxWarn{color:#d76516}.nxChart{margin-top:18px;padding:16px;border:1px solid #e1e9e5;border-radius:16px;background:#fbfdfc}.nxChartTitle{font-weight:800;margin-bottom:6px}.nxChart svg{width:100%;height:220px}.nxGridLine{stroke:#e7ecea;stroke-width:1}.nxLegend{display:flex;flex-wrap:wrap;gap:10px 16px;font-size:12px;color:#667085}.nxLegend span{display:flex;align-items:center;gap:6px}.nxLegend i{width:9px;height:9px;border-radius:50%}.nxVisitGrid{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(0,1.4fr);gap:20px}.nxNewVisit,.nxUploadPlan{border:1px solid #dfe8e4;border-radius:16px;background:#fbfdfc;overflow:hidden}.nxNewVisit>summary,.nxUploadPlan>summary{padding:16px 18px;font-weight:800;color:#168947;cursor:pointer;list-style:none}.nxNewVisit>form,.nxUploadPlan>form{padding:0 18px 18px}.nxMeasureGroup{border:1px solid #e0e7e4;border-radius:12px;margin:10px 0;background:#fff}.nxMeasureGroup summary{padding:13px 15px;font-weight:800;cursor:pointer}.nxMeasureGroup .nutritionFormGrid{padding:0 15px 15px}.nxTimeline h4,.nxPlanList h4{margin:0 0 12px;font-size:20px}.nxVisitCard{position:relative;border:1px solid #e0e8e4;border-radius:14px;margin-bottom:12px;background:#fff;overflow:hidden}.nxVisitCard summary{display:grid;grid-template-columns:38px 1fr auto;gap:12px;align-items:center;padding:14px;cursor:pointer;list-style:none}.nxVisitIndex{width:30px;height:30px;border-radius:50%;background:#e5f7ec;color:#168947;display:flex;align-items:center;justify-content:center;font-weight:800}.nxVisitCard summary span:nth-child(2){display:flex;gap:10px;align-items:center;flex-wrap:wrap}.nxVisitCard summary small{color:#738095}.nxVisitCard summary em{font-style:normal;font-size:12px;color:#168947;background:#edf8f1;border-radius:999px;padding:5px 8px}.nxVisitMetrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;border-top:1px solid #edf1ef}.nxVisitMetrics>div{padding:12px;border-right:1px solid #edf1ef}.nxVisitMetrics>div:last-child{border-right:0}.nxVisitMetrics small{display:block;color:#7b8698;margin-bottom:4px}.nxPlanGrid{display:grid;grid-template-columns:minmax(280px,.55fr) minmax(0,1.45fr);gap:20px}.nxPlanList article{display:grid;grid-template-columns:42px 1fr 44px;align-items:center;gap:12px;border:1px solid #e1e8e5;border-radius:12px;padding:12px;margin-bottom:10px}.nxPlanList article small{display:block;color:#768195;margin-top:4px}.nxDocIcon{width:38px;height:38px;border-radius:10px;background:#eaf8ef;color:#168947;display:flex;align-items:center;justify-content:center;font-size:20px}.nxSmall{width:40px;height:40px}.nxEmptyDoc{min-height:180px;display:flex;justify-content:center;align-items:center;gap:14px;color:#758096}.nxEmptyDoc>span{font-size:42px}.nxEmptyDoc small{display:block;margin-top:4px}.nxDialog{width:min(900px,calc(100vw - 30px));max-height:90vh;border:0;border-radius:22px;padding:0;box-shadow:0 30px 90px rgba(20,42,35,.25)}.nxDialog::backdrop{background:rgba(21,34,30,.46)}.nxDialog form{padding:24px}.nxDialogHead{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.nxDialogHead h3{margin:0}.nxDialogHead button{width:40px;height:40px;border-radius:50%;padding:0;background:#fff;color:#263844;border:1px solid #dbe3df}
@media(max-width:1100px){.nxTopGrid,.nxVisitGrid,.nxPlanGrid{grid-template-columns:1fr}.nxProgressRow{grid-template-columns:1.2fr .7fr .7fr .9fr}.nxVisitMetrics{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.nxHead{align-items:flex-start}.nxHeadActions{margin-left:auto}.nxLead{font-size:15px;align-items:flex-start}.nxTopGrid{gap:14px}.nxProfile,.nxProgress,.nxVisits,.nxPlans{padding:16px}.nxInfoGroup dl{grid-template-columns:1fr}.nxProgress{overflow:hidden}.nxProgressTable{overflow-x:auto}.nxProgressRow{min-width:620px}.nxChart svg{height:180px}.nxVisitMetrics{grid-template-columns:1fr 1fr}.nxPlanList article{grid-template-columns:38px 1fr 40px}}
@media(max-width:480px){.nxHead h2{font-size:34px}.nxModule{font-size:13px}.nxCircle{width:46px;height:46px}.nxSummary{grid-template-columns:1fr 1fr!important}.nxSummary .nutritionSummaryCard{min-height:150px;padding:16px}.nxPanelHead h3{font-size:23px}.nxVisitCard summary{grid-template-columns:34px 1fr}.nxVisitCard summary em{grid-column:2}.nxVisitMetrics{grid-template-columns:1fr}.nxLegend{display:grid;grid-template-columns:1fr 1fr}}
/* FIX107 — confronto progressi filtrabile e coerente con il modulo Nutrizione */
.nxProgressAdvanced .nxPanelHead p{margin:8px 0 0;color:#738095;line-height:1.5}
.nxCompareFilters{display:grid;grid-template-columns:minmax(210px,.55fr) minmax(0,1.45fr) auto;gap:16px;align-items:end;padding:18px;border:1px solid #dfe8e4;border-radius:18px;background:linear-gradient(135deg,#fbfdfc 0%,#f4fbf7 100%);margin-bottom:16px}
.nxCompareSelect{display:grid;gap:8px;margin:0}.nxCompareSelect>span,.nxCompareParamsHead strong{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#69758a}.nxCompareSelect select{min-height:48px;border-radius:12px;background:#fff}
.nxCompareParams{min-width:0}.nxCompareParamsHead{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:9px}.nxCompareParamsHead label{display:flex;align-items:center;gap:7px;font-weight:700;color:#168947;cursor:pointer}.nxCompareChecks{display:flex;flex-wrap:wrap;gap:8px}.nxCompareChecks label{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid #dfe7e3;border-radius:999px;background:#fff;color:#4f5f70;font-size:12px;font-weight:700;cursor:pointer;transition:.18s}.nxCompareChecks label:has(input:checked){background:#eaf8ef;border-color:#9dd3af;color:#168947}.nxCompareChecks input,.nxCompareParamsHead input{accent-color:#16964c}
.nxCompareApply{min-height:48px;padding:0 18px!important;border-radius:12px!important;background:#16964c!important;color:#fff!important;white-space:nowrap}
.nxCompareContext{display:flex;flex-wrap:wrap;gap:10px 18px;padding:0 4px 13px;color:#6f7b8e;font-size:13px}.nxCompareContext strong{color:#172033}
.nxProgressAdvanced .nxProgressTable{border:1px solid #e2e9e6;border-radius:15px;overflow:hidden}.nxProgressAdvanced .nxProgressRow{padding:12px 14px;background:#fff}.nxProgressAdvanced .nxProgressHeader{background:#f7faf8}.nxNeutral{color:#667085}
.nxCompareChart{margin-top:16px;padding:18px;border:1px solid #dfe8e4;border-radius:16px;background:#fbfdfc}.nxCompareBarRow{display:grid;grid-template-columns:minmax(150px,.75fr) minmax(150px,1.5fr) 78px;gap:12px;align-items:center;padding:8px 0}.nxCompareBarRow>span{font-size:13px;color:#536174}.nxCompareBarTrack{height:10px;border-radius:999px;background:#e8eeeb;overflow:hidden}.nxCompareBarTrack i{display:block;height:100%;min-width:3px;border-radius:999px;transition:width .25s ease}.nxCompareBarTrack .is-good{background:#1a9a55}.nxCompareBarTrack .is-warn{background:#e87517}.nxCompareBarTrack .is-neutral{background:#8290a4}.nxCompareBarRow>strong{text-align:right;font-size:13px}
@media(max-width:1100px){.nxCompareFilters{grid-template-columns:1fr 1.5fr}.nxCompareApply{grid-column:1/-1;justify-self:start}.nxCompareBarRow{grid-template-columns:minmax(130px,.7fr) minmax(140px,1.3fr) 74px}}
@media(max-width:720px){.nxCompareFilters{grid-template-columns:1fr;padding:14px}.nxCompareApply{width:100%;justify-self:stretch}.nxCompareChecks{gap:7px}.nxCompareChecks label{font-size:11px;padding:7px 9px}.nxCompareContext{display:grid;gap:5px}.nxCompareBarRow{grid-template-columns:1fr 64px;gap:7px}.nxCompareBarRow>span{grid-column:1/-1}.nxCompareBarTrack{grid-column:1}.nxCompareBarRow>strong{grid-column:2}.nxProgressAdvanced .nxProgressTable{overflow-x:auto}.nxProgressAdvanced .nxProgressRow{min-width:650px}}

/* FIX108 — anagrafica orizzontale e selezione parametri bidirezionale */
.nxTopGrid{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;margin-bottom:20px}
.nxProfile{padding:32px}
.nxProfileGrid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px}
.nxProfileGrid .nxInfoGroup{border:1px solid #e4ece8;border-radius:18px;padding:22px;background:#fcfefd;min-width:0}
.nxProfileGrid .nxInfoGroup h4{display:flex;align-items:center;gap:8px;margin:0 0 16px;font-size:16px;color:#16964c}
.nxProfileGrid .nxInfoGroup dl{display:grid;grid-template-columns:1fr;gap:0;margin:0}
.nxProfileGrid .nxInfoGroup dl>div{display:grid;grid-template-columns:minmax(120px,.9fr) minmax(0,1.1fr);gap:14px;align-items:start;padding:16px 0;border-bottom:1px solid #ecf2ef}
.nxProfileGrid .nxInfoGroup dl>div:last-child{border-bottom:0;padding-bottom:0}
.nxProfileGrid .nxInfoGroup dt{font-size:13px;color:#718096;margin:0;line-height:1.45}
.nxProfileGrid .nxInfoGroup dd{margin:0;font-size:16px;font-weight:700;line-height:1.35;color:#172033;overflow-wrap:anywhere;word-break:break-word}
.nxProfileGrid .nxInfoGroup p{margin:0;font-size:16px;line-height:1.55;color:#172033}
.nxProfileGrid .nxInfoGroup--anagraphics{grid-column:span 4}.nxProfileGrid .nxInfoGroup--contacts{grid-column:span 5}.nxProfileGrid .nxInfoGroup--information{grid-column:span 3}
.nxProfileGrid .nxInfoGroup--goals{grid-column:span 7}
.nxProfileGrid .nxInfoGroup--health{grid-column:span 5}
.nxProfileGrid .nxInfoGroup--goals p{min-height:72px}
.nxProfileGrid .nxInfoGroup--contacts dl>div{grid-template-columns:90px minmax(0,1fr)}
.nxProfileGrid .nxInfoGroup--contacts dl>div:nth-child(2) dd{white-space:nowrap;overflow-wrap:normal;word-break:normal;font-size:15px;letter-spacing:-.015em}
.nxProfileGrid .nxInfoGroup--information dl>div{grid-template-columns:110px minmax(0,1fr)}
.nxProgressAdvanced{padding:24px}
.nxCompareFilters{display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr) auto;grid-template-areas:"select . button" "params params params";gap:18px;align-items:start;padding:20px;border:1px solid #dfe8e4;border-radius:20px;background:linear-gradient(135deg,#fbfdfc 0%,#f4fbf7 100%);margin-bottom:16px}
.nxCompareSelect{grid-area:select;display:grid;gap:8px;align-self:end;max-width:320px}
.nxCompareApply{grid-area:button;align-self:end;justify-self:end;min-height:52px;padding:0 22px!important;border-radius:14px!important;background:#fff!important;color:#324454!important;border:1.5px solid #506171!important;white-space:nowrap}
.nxCompareParams{grid-area:params;min-width:0;padding:18px;border:1px solid #e2ebe7;border-radius:18px;background:#fff}
.nxCompareParamsHead{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}
.nxCompareParamsHead label{display:flex;align-items:center;gap:8px;font-weight:700;color:#168947;cursor:pointer;white-space:nowrap}
.nxCompareParamsHead input:indeterminate{accent-color:#16964c}
.nxCompareChecks{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;justify-content:stretch}
.nxCompareChecks label{display:grid;grid-template-columns:22px 1fr;align-items:center;gap:12px;min-height:74px;padding:14px 16px;border:1px solid #dfe7e3;border-radius:16px;background:#fff;color:#415063;font-size:14px;font-weight:700;cursor:pointer;transition:.18s;box-shadow:0 1px 2px rgba(16,24,40,.04)}
.nxCompareChecks label span{line-height:1.32}
.nxCompareChecks label:has(input:checked){background:#eef9f2;border-color:#92d0a7;color:#168947;box-shadow:0 4px 10px rgba(22,150,76,.08)}
.nxCompareChecks input,.nxCompareParamsHead input{accent-color:#16964c}
@media(max-width:1180px){.nxProfileGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.nxProfileGrid .nxInfoGroup--anagraphics,.nxProfileGrid .nxInfoGroup--contacts,.nxProfileGrid .nxInfoGroup--information,.nxProfileGrid .nxInfoGroup--goals,.nxProfileGrid .nxInfoGroup--health{grid-column:span 1}.nxProfileGrid .nxInfoGroup--anagraphics{grid-column:1/-1}.nxCompareFilters{grid-template-columns:1fr 1fr;grid-template-areas:"select button" "params params"}.nxCompareSelect{max-width:none}}
@media(max-width:720px){.nxProfile{padding:18px}.nxProfileGrid{grid-template-columns:1fr;gap:14px}.nxProfileGrid .nxInfoGroup--anagraphics,.nxProfileGrid .nxInfoGroup--contacts,.nxProfileGrid .nxInfoGroup--information,.nxProfileGrid .nxInfoGroup--goals,.nxProfileGrid .nxInfoGroup--health{grid-column:1}.nxProfileGrid .nxInfoGroup{padding:18px}.nxProfileGrid .nxInfoGroup dl>div{grid-template-columns:1fr;gap:8px}.nxProfileGrid .nxInfoGroup--contacts dl>div,.nxProfileGrid .nxInfoGroup--information dl>div{grid-template-columns:1fr}.nxProfileGrid .nxInfoGroup--contacts dl>div:nth-child(2) dd{white-space:normal;overflow-wrap:anywhere;font-size:15px}.nxCompareFilters{grid-template-columns:1fr;grid-template-areas:"select" "params" "button";padding:16px}.nxCompareSelect{max-width:none}.nxCompareApply{width:100%;justify-self:stretch}.nxCompareParams{padding:14px}.nxCompareParamsHead{align-items:flex-start;flex-direction:column}.nxCompareParamsHead label{white-space:normal;text-align:left}.nxCompareChecks{grid-template-columns:1fr}.nxCompareChecks label{min-height:60px;font-size:13px}}



/* FIX112 – allineamento informazioni professionali e sezione visite */
.nxProfileGrid .nxInfoGroup--information dl>div,.nxProfileGrid .nxInfoGroup--contacts dl>div{grid-template-columns:1fr;gap:10px}
.nxProfileGrid .nxInfoGroup--information dd,.nxProfileGrid .nxInfoGroup--contacts dd{font-size:17px;line-height:1.45;word-break:break-word}
.nxProfileGrid .nxInfoGroup--information{grid-column:span 4}
.nxProfileGrid .nxInfoGroup--information dd{max-width:100%}
.nxProfileGrid .nxInfoGroup--goals p{white-space:normal;overflow-wrap:anywhere}

.nxVisits{padding:32px;background:#fff}
.nxVisitGrid{display:grid;grid-template-columns:minmax(320px,.78fr) minmax(0,1.22fr);gap:24px;align-items:start}
.nxNewVisit,.nxTimeline{border:1px solid #e4ece8;border-radius:20px;background:#fcfefd;padding:0;overflow:hidden}
.nxNewVisit>summary{display:flex;align-items:center;gap:10px;padding:20px 22px;font-size:18px;font-weight:800;color:#324454;background:#f7faf8;border-bottom:1px solid #e4ece8}
.nxNewVisit[open]>summary{border-bottom-color:#e4ece8}
.nxNewVisit>form{padding:18px 22px 22px}
.nxTimeline{padding:18px}
.nxTimeline h4{margin:0 0 14px;font-size:22px}
.nxVisitCard{border:1px solid #e4ece8;border-radius:18px;background:#fff;box-shadow:none;margin-bottom:14px}
.nxVisitCard summary{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:14px;align-items:center;padding:18px;background:#f7faf8;border-bottom:1px solid transparent;cursor:pointer}
.nxVisitCard[open] summary{border-bottom-color:#e4ece8}
.nxVisitIndex{width:34px;height:34px;background:#e8f6ee;color:#16964c;font-size:15px}
.nxVisitCard summary span:nth-child(2){display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-width:0}
.nxVisitCard summary strong{font-size:16px;color:#263844}
.nxVisitCard summary small{font-size:15px;color:#738095;font-weight:700}
.nxVisitCard summary em{font-style:normal;font-size:13px;color:#16964c;background:#edf8f1;border-radius:999px;padding:8px 12px;font-weight:700}
.nxVisitMetrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px;border-top:0;background:#fff}
.nxVisitMetrics>div{padding:14px 14px 12px;border:1px solid #e7eeea;border-radius:14px;background:#fcfefd}
.nxVisitMetrics small{display:block;color:#7b8698;margin-bottom:6px;font-size:13px;line-height:1.35}
.nxVisitMetrics strong{display:block;color:#172033;font-size:17px;line-height:1.3}
.nxVisitCard p{margin:0;padding:0 16px 16px 16px;color:#516071;line-height:1.55}
@media(max-width:1100px){.nxVisitGrid{grid-template-columns:1fr}.nxVisitMetrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.nxVisits{padding:18px}.nxTimeline,.nxNewVisit{padding:0}.nxTimeline{padding:14px}.nxNewVisit>summary{padding:18px}.nxVisitCard summary{grid-template-columns:36px 1fr;gap:12px}.nxVisitCard summary em{grid-column:2;justify-self:start}.nxVisitMetrics{grid-template-columns:1fr;padding:14px}}


/* FIX113 – riequilibrio griglia card scheda assistito */
.nxProfileGrid .nxInfoGroup--anagraphics{grid-column:span 6}
.nxProfileGrid .nxInfoGroup--contacts{grid-column:span 6}
.nxProfileGrid .nxInfoGroup--information{grid-column:span 4}
.nxProfileGrid .nxInfoGroup--goals{grid-column:span 4}
.nxProfileGrid .nxInfoGroup--health{grid-column:span 4}
.nxProfileGrid .nxInfoGroup--goals p{min-height:0}
.nxProfileGrid .nxInfoGroup--health dl>div{grid-template-columns:minmax(110px,.9fr) minmax(0,1.1fr);gap:14px}
@media(max-width:1180px){.nxProfileGrid .nxInfoGroup--anagraphics,.nxProfileGrid .nxInfoGroup--contacts{grid-column:span 1}.nxProfileGrid .nxInfoGroup--information,.nxProfileGrid .nxInfoGroup--goals,.nxProfileGrid .nxInfoGroup--health{grid-column:span 1}}
@media(max-width:720px){.nxProfileGrid .nxInfoGroup--anagraphics,.nxProfileGrid .nxInfoGroup--contacts,.nxProfileGrid .nxInfoGroup--information,.nxProfileGrid .nxInfoGroup--goals,.nxProfileGrid .nxInfoGroup--health{grid-column:1}.nxProfileGrid .nxInfoGroup--health dl>div{grid-template-columns:1fr;gap:8px}}


/* FIX114 – sezione Misurazioni e controlli coerente con la parte superiore */
.nxVisits{padding:32px;background:#fff;border-radius:24px}
.nxVisitGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.nxNewVisit,.nxTimeline{border:1px solid #e4ece8;border-radius:22px;background:#fff;box-shadow:none;overflow:hidden}
.nxNewVisit>summary{display:flex;align-items:center;gap:10px;padding:22px 24px;background:#fff;color:#16964c;font-size:18px;font-weight:800;border-bottom:1px solid #e8efeb;list-style:none}
.nxNewVisit>summary::-webkit-details-marker{display:none}
.nxNewVisit>summary::before{content:'+';display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:#edf8f1;color:#16964c;font-size:22px;line-height:1;font-weight:700}
.nxNewVisit>form{padding:20px 24px 24px;background:#fcfefd}
.nxTimeline{padding:24px;background:#fff}
.nxTimeline h4{margin:0 0 18px;font-size:22px;color:#172033}
.nxVisitCard{border:1px solid #e4ece8;border-radius:20px;background:#fff;overflow:hidden;margin-bottom:14px;box-shadow:none}
.nxVisitCard summary{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:14px;align-items:center;padding:18px 20px;background:#fff;border-bottom:1px solid #edf2ef;cursor:pointer;list-style:none}
.nxVisitCard[open] summary{background:#fcfefd}
.nxVisitIndex{width:34px;height:34px;border-radius:50%;background:#e8f6ee;color:#16964c;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px}
.nxVisitCard summary span:nth-child(2){display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-width:0}
.nxVisitCard summary strong{font-size:16px;color:#172033}
.nxVisitCard summary small{font-size:15px;color:#738095;font-weight:700}
.nxVisitCard summary em{font-style:normal;font-size:13px;color:#16964c;background:#edf8f1;border-radius:999px;padding:8px 12px;font-weight:800}
.nxVisitMetrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:18px;background:#fff;border-top:0}
.nxVisitMetrics>div{padding:16px;border:1px solid #e6eeea;border-radius:16px;background:#fcfefd}
.nxVisitMetrics small{display:block;margin-bottom:6px;color:#758096;font-size:13px;line-height:1.35}
.nxVisitMetrics strong{display:block;font-size:17px;line-height:1.3;color:#172033}
.nxVisitCard p{margin:0;padding:0 18px 18px;color:#516071;line-height:1.55}
@media(max-width:1100px){.nxVisitGrid{grid-template-columns:1fr}.nxVisitMetrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.nxVisits{padding:18px}.nxTimeline,.nxNewVisit{padding:0}.nxTimeline{padding:18px}.nxNewVisit>summary{padding:18px 20px}.nxNewVisit>form{padding:16px 18px 18px}.nxVisitCard summary{grid-template-columns:36px 1fr;gap:12px;padding:16px}.nxVisitCard summary em{grid-column:2;justify-self:start}.nxVisitMetrics{grid-template-columns:1fr;padding:14px}.nxVisitMetrics>div{padding:14px}}

/* FIX115 – redesign approvato della sola sezione Misurazioni e controlli */
.nxVisits{padding:32px;background:#fff;border-radius:24px}
.nxVisitsHead{margin-bottom:24px}
.nxVisitsHead h3{margin-bottom:8px}
.nxVisitsDescription{margin:0;color:#667085;font-size:16px;line-height:1.5}
.nxVisitGrid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:24px;align-items:start}

.nxVisits .nxNewVisit,.nxVisits .nxTimeline{border:1px solid #dfe8e4;border-radius:20px;background:#fff;box-shadow:0 3px 12px rgba(26,58,46,.035);overflow:hidden}
.nxVisits .nxNewVisit>summary{display:flex;align-items:center;gap:12px;padding:20px 22px;background:#fff;color:#168947;font-size:18px;font-weight:800;border-bottom:1px solid #e5ece9;list-style:none;cursor:pointer}
.nxVisits .nxNewVisit>summary::-webkit-details-marker{display:none}
.nxVisits .nxNewVisit>summary::before{content:none!important;display:none!important}
.nxNewVisitIcon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#16964c;color:#fff;font-size:23px;line-height:1;font-weight:500;flex:0 0 auto}
.nxVisits .nxNewVisit>form{padding:22px;background:#fff}
.nxVisitBasics{margin-bottom:18px}
.nxVisits .nutritionFormGrid{gap:16px}
.nxVisits .nutritionFormGrid label{font-weight:700;color:#253746}
.nxVisits .nutritionFormGrid label small{display:block;margin-top:4px;color:#7a8798;font-weight:500}
.nxVisits input,.nxVisits select,.nxVisits textarea{border:1px solid #dce6e1;border-radius:12px;background:#fff;box-shadow:none}
.nxVisits input:focus,.nxVisits select:focus,.nxVisits textarea:focus{border-color:#8fceaa;box-shadow:0 0 0 3px rgba(22,150,76,.08);outline:0}

.nxVisits .nxMeasureGroup{margin:10px 0;border:1px solid #e0e8e4;border-radius:14px;background:#fff;overflow:hidden}
.nxVisits .nxMeasureGroup>summary{position:relative;display:flex;align-items:center;gap:10px;padding:15px 16px;background:#fbfdfc;color:#168947;font-size:15px;font-weight:800;cursor:pointer;list-style:none}
.nxVisits .nxMeasureGroup>summary::-webkit-details-marker{display:none}
.nxVisits .nxMeasureGroup>summary::before{content:'•';display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#eaf7ef;color:#16964c;font-size:18px;line-height:1}
.nxVisits .nxMeasureGroup>summary::after{content:'⌄';margin-left:auto;color:#506171;font-size:16px;transition:transform .18s ease}
.nxVisits .nxMeasureGroup[open]>summary::after{transform:rotate(180deg)}
.nxVisits .nxMeasureGroup .nutritionFormGrid{padding:16px;border-top:1px solid #e8efeb;background:#fff}
.nxVisits .nxMeasureGroup--notes>summary::before{content:'✎';font-size:12px}

.nxVisitFormActions{display:flex;justify-content:space-between;gap:14px;margin-top:18px}
.nxVisitFormActions button{min-height:48px;border-radius:12px;padding:0 24px;font-weight:800}
.nxVisitCancel{background:#fff!important;color:#344555!important;border:1px solid #cfdad5!important}
.nxVisitSave{background:#16964c!important;color:#fff!important;border:1px solid #16964c!important;min-width:170px}
.nxVisitSave span{margin-right:7px}

.nxVisits .nxTimeline{padding:22px}
.nxVisits .nxTimeline h4{display:flex;align-items:center;gap:10px;margin:0 0 18px;font-size:22px;color:#263844}
.nxHistoryIcon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#eaf7ef;color:#16964c;font-size:20px;line-height:1}
.nxVisits .nxVisitCard{border:1px solid #e0e8e4;border-radius:16px;background:#fff;overflow:hidden;margin-bottom:14px;box-shadow:none}
.nxVisits .nxVisitCard>summary{display:grid;grid-template-columns:38px minmax(0,1fr) auto 18px;gap:12px;align-items:center;padding:16px 18px;background:#fff;border-bottom:0;cursor:pointer;list-style:none}
.nxVisits .nxVisitCard>summary::-webkit-details-marker{display:none}
.nxVisits .nxVisitCard>summary::after{content:'›';color:#263844;font-size:26px;line-height:1;transition:transform .18s ease}
.nxVisits .nxVisitCard[open]>summary::after{transform:rotate(90deg)}
.nxVisits .nxVisitCard:first-of-type>summary{background:linear-gradient(90deg,#f4fbf7 0%,#edf8f2 100%);border-bottom:1px solid #e2ebe6}
.nxVisits .nxVisitIndex{width:32px;height:32px;border-radius:50%;background:#dff3e7;color:#16964c;font-size:14px;font-weight:800}
.nxVisits .nxVisitCard>summary span:nth-child(2){display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-width:0}
.nxVisits .nxVisitCard>summary strong{font-size:16px;color:#172033}
.nxVisits .nxVisitCard>summary small{font-size:14px;color:#69768a;font-weight:700}
.nxVisits .nxVisitCard>summary em{font-style:normal;font-size:13px;color:#168947;background:#fff;border:1px solid #acd9ba;border-radius:999px;padding:7px 12px;font-weight:800;white-space:nowrap}
.nxVisits .nxVisitMetrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:18px;background:#fff;border-top:0}
.nxVisits .nxVisitMetrics>div{padding:15px;border:1px solid #e3ebe7;border-radius:14px;background:#fff}
.nxVisits .nxVisitMetrics small{display:block;margin-bottom:7px;color:#758096;font-size:13px;line-height:1.35}
.nxVisits .nxVisitMetrics strong{display:block;font-size:17px;line-height:1.3;color:#172033}
.nxVisits .nxVisitCard p{margin:0;padding:0 18px 18px;color:#516071;line-height:1.55}

@media(max-width:1100px){
  .nxVisitGrid{grid-template-columns:1fr}
  .nxVisits .nxVisitMetrics{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
  .nxVisits{padding:18px}
  .nxVisits .nxNewVisit>form,.nxVisits .nxTimeline{padding:16px}
  .nxVisits .nxNewVisit>summary{padding:18px}
  .nxVisitFormActions{display:grid;grid-template-columns:1fr}
  .nxVisitFormActions button{width:100%}
  .nxVisitSave{grid-row:1}
  .nxVisits .nxVisitCard>summary{grid-template-columns:34px 1fr 18px;padding:15px}
  .nxVisits .nxVisitCard>summary em{grid-column:2;justify-self:start}
  .nxVisits .nxVisitCard>summary::after{grid-column:3;grid-row:1/3}
  .nxVisits .nxVisitMetrics{grid-template-columns:1fr;padding:14px}
}


/* FIX116 – miglior contrasto scheda visita aperta */
.nxVisits .nxVisitCard[open]{border-color:#d9e7e0}
.nxVisits .nxVisitCard[open]>summary{background:linear-gradient(90deg,#f4fbf7 0%,#edf8f2 100%)!important;border-bottom:1px solid #e2ebe6!important}
.nxVisits .nxVisitCard[open]>summary strong{color:#172033!important}
.nxVisits .nxVisitCard[open]>summary small{color:#69768a!important}
.nxVisits .nxVisitCard[open]>summary em{background:#fff!important;color:#168947!important;border:1px solid #acd9ba!important}
.nxVisits .nxVisitCard[open]>.nxVisitMetrics{background:#fff!important}
.nxVisits .nxVisitCard[open]>summary::after{color:#263844!important}


/* FIX117 – esclusione accordion globale dalla sezione visite */
body:not(.public) .nxVisits details.nxVisitCard.systemAccordion,
body:not(.public) .nxVisits details.nxNewVisit.systemAccordion,
body:not(.public) .nxVisits details.nxMeasureGroup.systemAccordion{background:#fff!important;color:#172033!important}
body:not(.public) .nxVisits details.nxVisitCard.systemAccordion>summary,
body:not(.public) .nxVisits details.nxVisitCard.systemAccordion[open]>summary{background:linear-gradient(90deg,#f4fbf7 0%,#edf8f2 100%)!important;color:#172033!important;border:0!important;border-bottom:1px solid #e2ebe6!important;border-radius:0!important}
body:not(.public) .nxVisits details.nxVisitCard.systemAccordion>summary *,
body:not(.public) .nxVisits details.nxVisitCard.systemAccordion[open]>summary *{color:inherit!important;stroke:currentColor!important}
body:not(.public) .nxVisits details.nxVisitCard.systemAccordion>summary em,
body:not(.public) .nxVisits details.nxVisitCard.systemAccordion[open]>summary em{background:#fff!important;color:#168947!important;border:1px solid #acd9ba!important}
body:not(.public) .nxVisits details.nxNewVisit.systemAccordion>summary,
body:not(.public) .nxVisits details.nxNewVisit.systemAccordion[open]>summary,
body:not(.public) .nxVisits details.nxMeasureGroup.systemAccordion>summary,
body:not(.public) .nxVisits details.nxMeasureGroup.systemAccordion[open]>summary{background:#fff!important;color:#168947!important}
.nxVisits .nxVisitCard>summary:focus{outline:none!important}
.nxVisits .nxVisitCard>summary:focus-visible{outline:2px solid #8fceaa!important;outline-offset:-2px!important}


/* FIX118 – pulsanti visita uniformati come icone */
.nxVisuallyHidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.nxVisitFormActions{display:flex;justify-content:flex-end;gap:12px;margin-top:18px}
.nxVisitFormActions button.nxVisitActionIcon{display:inline-grid;place-items:center;width:52px;min-width:52px;height:52px;min-height:52px;padding:0!important;border-radius:999px!important;font-weight:800;border:1px solid #d7e0dc;background:#fff;color:#344555;box-shadow:none}
.nxVisitFormActions button.nxVisitActionIcon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.nxVisitFormActions .nxVisitCancel{background:#fff!important;color:#344555!important;border:1px solid #cfdad5!important}
.nxVisitFormActions .nxVisitCancel:hover,.nxVisitFormActions .nxVisitCancel:focus-visible{background:#f3f6f5!important;color:#22313d!important}
.nxVisitFormActions .nxVisitSave{background:#2f4550!important;color:#fff!important;border:1px solid #2f4550!important}
.nxVisitFormActions .nxVisitSave:hover,.nxVisitFormActions .nxVisitSave:focus-visible{background:#3c5662!important;color:#fff!important;border-color:#3c5662!important}
@media(max-width:720px){.nxVisitFormActions{display:flex;justify-content:flex-end}.nxVisitFormActions button.nxVisitActionIcon{width:48px;min-width:48px;height:48px;min-height:48px;border-radius:999px!important}}


/* FIX119 – icone Modifica e Cancella uniformate */
.nxHeadActions{display:flex;gap:12px;align-items:center}
.nxHeadActions form{margin:0}
.nxIconAction{display:inline-grid;place-items:center;width:52px;min-width:52px;height:52px;min-height:52px;padding:0!important;border-radius:999px!important;border:1px solid #d7e0dc!important;background:#fff!important;color:#344555!important;box-shadow:none!important;cursor:pointer;transition:background-color .16s ease,color .16s ease,border-color .16s ease,transform .16s ease}
.nxIconAction svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
.nxIconAction:hover,.nxIconAction:focus-visible{background:#f3f6f5!important;color:#22313d!important;border-color:#cbd7d2!important}
.nxIconAction:active{transform:translateY(1px)}
.nxIconAction--edit{color:#344555!important}
.nxIconAction--danger{color:#344555!important}
.nxIconAction--danger:hover,.nxIconAction--danger:focus-visible{background:#f5f7f6!important;color:#22313d!important}
.nxPanelHead .nxIconAction{margin-left:auto}
.nxEditBtn{display:none!important}
@media(max-width:480px){.nxIconAction{width:46px;min-width:46px;height:46px;min-height:46px;border-radius:999px!important}}


/* FIX121 – forzatura definitiva forma circolare icone assistito */
body:not(.public) button.nxIconAction,
body:not(.public) .nxHeadActions button.nxIconAction,
body:not(.public) .nxPanelHead button.nxIconAction{
  width:52px!important;
  min-width:52px!important;
  max-width:52px!important;
  height:52px!important;
  min-height:52px!important;
  max-height:52px!important;
  aspect-ratio:1/1!important;
  padding:0!important;
  border-radius:50%!important;
  display:inline-grid!important;
  place-items:center!important;
  flex:0 0 52px!important;
}
@media(max-width:480px){
  body:not(.public) button.nxIconAction,
  body:not(.public) .nxHeadActions button.nxIconAction,
  body:not(.public) .nxPanelHead button.nxIconAction{
    width:46px!important;
    min-width:46px!important;
    max-width:46px!important;
    height:46px!important;
    min-height:46px!important;
    max-height:46px!important;
    flex-basis:46px!important;
    border-radius:50%!important;
  }
}


/* FIX123 – uniformazione sezione Piani alimentari e documenti */
.nxPlans{padding:32px;background:#fff;border-radius:24px}
.nxPlanGrid{display:grid;grid-template-columns:minmax(320px,.78fr) minmax(0,1.22fr);gap:24px;align-items:start}
.nxUploadPlan,.nxPlanList{border:1px solid #e4ece8;border-radius:22px;background:#fff;overflow:hidden;box-shadow:none}
.nxUploadPlan>summary{display:flex;align-items:center;gap:10px;padding:22px 24px;background:#fff;color:#16964c;font-size:18px;font-weight:800;border-bottom:1px solid #e8efeb;list-style:none;cursor:pointer}
.nxUploadPlan>summary::-webkit-details-marker{display:none}
.nxUploadPlan>summary::before{content:'+';display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:#edf8f1;color:#16964c;font-size:22px;line-height:1;font-weight:700}
.nxUploadPlan>form{padding:20px 24px 24px;background:#fcfefd}
.nxPlanList{padding:24px;min-height:304px}
.nxPlanList h4{margin:0 0 18px;font-size:22px;color:#172033}
.nxPlanList article{display:grid;grid-template-columns:52px minmax(0,1fr) 48px;align-items:center;gap:14px;border:1px solid #e4ece8;border-radius:18px;padding:14px 16px;background:#fff;margin-bottom:12px}
.nxPlanList article strong{display:block;font-size:16px;color:#172033;line-height:1.35}
.nxPlanList article small{display:block;margin-top:4px;color:#768195;font-size:13px;line-height:1.45}
.nxDocIcon{width:46px;height:46px;border-radius:14px;background:#edf8f1;color:#16964c;display:flex;align-items:center;justify-content:center;font-size:22px;flex:0 0 auto}
.nxPlanList .nxCircle.nxSmall{width:44px;height:44px;border-width:1px;box-shadow:none}
.nxPlanList .nxCircle.nxSmall:hover{transform:none;background:#f3f7f5;box-shadow:none}
.nxEmptyDoc{min-height:220px;display:flex;justify-content:center;align-items:center;gap:18px;padding:12px;color:#758096;text-align:left}
.nxEmptyDoc>span{width:64px;height:64px;border-radius:18px;background:#f1f5f3;color:#7b8698;display:flex;align-items:center;justify-content:center;font-size:34px;line-height:1}
.nxEmptyDoc strong{display:block;font-size:18px;color:#667085;margin-bottom:4px}
.nxEmptyDoc small{display:block;font-size:14px;line-height:1.5;color:#768195}
@media(max-width:1100px){.nxPlanGrid{grid-template-columns:1fr}}
@media(max-width:720px){.nxPlans{padding:18px}.nxUploadPlan>summary{padding:18px 20px}.nxUploadPlan>form{padding:16px 18px 18px}.nxPlanList{padding:18px;min-height:0}.nxPlanList article{grid-template-columns:44px minmax(0,1fr) 44px;padding:12px}.nxDocIcon{width:42px;height:42px;border-radius:12px}.nxEmptyDoc{min-height:180px;align-items:flex-start}}


/* FIX124 – intestazioni Piani alimentari come Note */
.nxUploadPlan,.nxPlanList{border:1px solid #e4ece8;border-radius:24px;background:#fff;overflow:hidden}
.nxUploadPlan>summary,.nxPlanList h4{position:relative;display:flex;align-items:center;gap:14px;min-height:78px;padding:18px 62px 18px 22px;margin:0;background:#fff;color:#16964c;font-size:18px;font-weight:800;border-bottom:1px solid #e8efeb;line-height:1.2}
.nxUploadPlan>summary{cursor:pointer;list-style:none}
.nxUploadPlan>summary::-webkit-details-marker{display:none}
.nxUploadPlan>summary::before,.nxPlanList h4::before{content:'';display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:#edf8f1;color:#16964c;font-size:22px;font-weight:800;flex:0 0 auto}
.nxUploadPlan>summary::before{content:'+'}
.nxPlanList h4::before{content:'▤';font-size:18px}
.nxUploadPlan>summary::after,.nxPlanList h4::after{content:'⌄';position:absolute;right:22px;top:50%;transform:translateY(-50%);color:#5f6f85;font-size:24px;font-weight:700;line-height:1}
.nxUploadPlan[open]>summary::after{transform:translateY(-50%) rotate(180deg)}
.nxUploadPlan>form{padding:20px 24px 24px;background:#fff}
.nxPlanList{padding:0}
.nxPlanList> :not(h4){padding-left:22px;padding-right:22px}
.nxPlanList article:first-of-type,.nxPlanList .nxEmptyDoc{margin-top:18px}
.nxPlanList article:last-of-type,.nxPlanList .nxEmptyDoc{margin-bottom:22px}
.nxEmptyDoc{min-height:220px}
@media(max-width:720px){.nxUploadPlan>summary,.nxPlanList h4{min-height:70px;padding:16px 54px 16px 18px;font-size:17px}.nxUploadPlan>summary::before,.nxPlanList h4::before{width:34px;height:34px}.nxUploadPlan>summary::after,.nxPlanList h4::after{right:18px}.nxUploadPlan>form{padding:16px 18px 18px}.nxPlanList> :not(h4){padding-left:18px;padding-right:18px}.nxPlanList article:first-of-type,.nxPlanList .nxEmptyDoc{margin-top:16px}.nxPlanList article:last-of-type,.nxPlanList .nxEmptyDoc{margin-bottom:18px}}


/* FIX125 – piani alimentari come Note/Metabolismo */
.nxUploadPlan,.nxPlanList{border:1px solid #dfe8e4;border-radius:24px;background:#fff;overflow:hidden}
.nxUploadPlan>summary,.nxPlanList h4{position:relative;display:flex;align-items:center;gap:18px;min-height:96px;padding:0 56px 0 22px;margin:0;background:#fff!important;color:#16964c!important;font-size:18px!important;font-weight:800!important;border:0!important;line-height:1.2;box-shadow:none!important}
.nxUploadPlan>summary{list-style:none;cursor:pointer}
.nxUploadPlan>summary::-webkit-details-marker{display:none}
.nxUploadPlan>summary::before,.nxPlanList h4::before{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:#eaf7ef;color:#16964c;font-size:20px;font-weight:800;flex:0 0 auto}
.nxUploadPlan>summary::before{content:'+'}
.nxPlanList h4::before{content:'▤';font-size:18px}
.nxUploadPlan>summary::after,.nxPlanList h4::after{content:'⌄';position:absolute;right:22px;top:50%;transform:translateY(-50%);color:#506171;font-size:18px;font-weight:700;line-height:1}
.nxUploadPlan[open]>summary::after{transform:translateY(-50%) rotate(180deg)}
.nxUploadPlan>summary:focus,.nxUploadPlan>summary:focus-visible{outline:none;box-shadow:none}
.nxUploadPlan>form{padding:0 22px 22px;border-top:1px solid #e8efeb;background:#fff}
.nxPlanList{padding:0}
.nxPlanList h4{border-bottom:1px solid #e8efeb}
.nxPlanList> :not(h4){padding-left:22px;padding-right:22px}
.nxPlanList article:first-of-type,.nxPlanList .nxEmptyDoc{margin-top:18px}
.nxPlanList article:last-of-type,.nxPlanList .nxEmptyDoc{margin-bottom:22px}
body:not(.public) details.nxUploadPlan.systemAccordion>summary,body:not(.public) details.nxUploadPlan.systemAccordion[open]>summary{background:#fff!important;color:#16964c!important;border:0!important;box-shadow:none!important}
body:not(.public) details.nxUploadPlan.systemAccordion>summary *,body:not(.public) details.nxUploadPlan.systemAccordion[open]>summary *{color:inherit!important}
@media(max-width:720px){.nxUploadPlan>summary,.nxPlanList h4{min-height:84px;padding:0 48px 0 18px;font-size:17px!important;gap:14px}.nxUploadPlan>summary::before,.nxPlanList h4::before{width:36px;height:36px}.nxUploadPlan>summary::after,.nxPlanList h4::after{right:18px}.nxUploadPlan>form{padding:0 18px 18px}.nxPlanList> :not(h4){padding-left:18px;padding-right:18px}}


/* FIX126 – uniformazione sezione Nuovo assistito */
.nutritionPage>.nutritionPageHead{align-items:flex-start;justify-content:space-between;gap:24px;padding:8px 0 6px;margin-bottom:22px}
.nutritionPage>.nutritionPageHead h2{margin:6px 0 10px;font-size:clamp(34px,3vw,54px);line-height:1.02;letter-spacing:-.03em;color:#172033}
.nutritionPage>.nutritionPageHead p{max-width:820px;color:#667085;font-size:18px;line-height:1.55}
.nutritionPage>.nutritionPageHead>.button.subtle{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 22px;border-radius:18px!important;border:1px solid #d7e1dd!important;background:#fff!important;color:#2f4550!important;font-weight:800;text-decoration:none;box-shadow:0 8px 22px rgba(25,48,39,.06)}
.nutritionPage>.nutritionPageHead>.button.subtle:hover{background:#f5f8f7!important;color:#233642!important}
form.nutritionClientForm.panel{padding:0;border:1px solid #dfe8e4;border-radius:28px!important;background:#fff;box-shadow:0 16px 40px rgba(25,48,39,.05);overflow:hidden}
form.nutritionClientForm.panel .nutritionFormSection{padding:30px 28px 32px;border-bottom:1px solid #e8efeb;gap:20px}
form.nutritionClientForm.panel .nutritionFormSection:last-of-type{border-bottom:0;padding-bottom:30px}
form.nutritionClientForm.panel .nutritionFormSection h3{margin:0;font-size:22px;line-height:1.15;color:#172033;font-family:var(--backend-heading-font),Arial,sans-serif!important;font-weight:800}
form.nutritionClientForm.panel .nutritionFormGrid{gap:18px 20px}
form.nutritionClientForm.panel .nutritionFormGrid label{gap:8px;margin:0;font-size:14px;font-weight:800;color:#253746}
form.nutritionClientForm.panel :is(input,select,textarea){min-height:56px;padding:14px 16px;border:1px solid #dbe5e1;border-radius:18px!important;background:#fff;color:#172033;font-size:15px;box-shadow:none;transition:border-color .16s ease, box-shadow .16s ease, background-color .16s ease}
form.nutritionClientForm.panel textarea{min-height:112px;resize:vertical;padding-top:14px}
form.nutritionClientForm.panel :is(input,select,textarea)::placeholder{color:#7b8698}
form.nutritionClientForm.panel :is(input,select,textarea):focus{outline:none;border-color:#a9d3b7;box-shadow:0 0 0 4px rgba(22,150,76,.08);background:#fff}
form.nutritionClientForm.panel button[type="submit"]{display:flex;align-items:center;justify-content:center;width:calc(100% - 56px);margin:0 28px 28px;min-height:56px;padding:0 22px;border-radius:18px!important;border:1px solid #2f4550!important;background:#2f4550!important;color:#fff!important;font-size:18px;font-weight:800;box-shadow:none}
form.nutritionClientForm.panel button[type="submit"]:hover{background:#39515d!important;border-color:#39515d!important}
@media(max-width:760px){.nutritionPage>.nutritionPageHead{display:grid;gap:16px}.nutritionPage>.nutritionPageHead p{font-size:16px}.nutritionPage>.nutritionPageHead>.button.subtle{width:100%}form.nutritionClientForm.panel .nutritionFormSection{padding:22px 18px 24px}form.nutritionClientForm.panel .nutritionFormSection:last-of-type{padding-bottom:22px}form.nutritionClientForm.panel :is(input,select,textarea){min-height:52px;border-radius:16px!important}form.nutritionClientForm.panel textarea{min-height:104px}form.nutritionClientForm.panel button[type="submit"]{width:calc(100% - 36px);margin:0 18px 18px;min-height:54px;border-radius:16px!important;font-size:17px}}

/* FIX127 – redesign reale Nuovo assistito, coerente con Note/Metabolismo */
.nxNewClientHead{align-items:flex-start!important}
.nxNewClientBack{flex:0 0 52px}
.nxNewClientForm{display:grid;gap:18px;margin:0;background:transparent!important;border:0!important;box-shadow:none!important;overflow:visible!important}
.nxClientAccordion{border:1px solid #dfe8e4;border-radius:24px;background:#fff;overflow:hidden;box-shadow:0 12px 32px rgba(25,48,39,.04)}
.nxClientAccordion>summary{position:relative;display:flex;align-items:center;gap:18px;min-height:96px;padding:0 58px 0 24px;background:#fff;color:#16964c;font-size:20px;font-weight:800;list-style:none;cursor:pointer}
.nxClientAccordion>summary::-webkit-details-marker{display:none}
.nxClientAccordion>summary::after{content:'⌄';position:absolute;right:24px;top:50%;transform:translateY(-50%);color:#506171;font-size:19px;line-height:1;transition:transform .18s ease}
.nxClientAccordion[open]>summary::after{transform:translateY(-50%) rotate(180deg)}
.nxClientAccordionIcon{display:inline-grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:50%;background:#eaf7ef;color:#16964c}
.nxClientAccordionIcon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.nxClientAccordionBody{padding:24px;border-top:1px solid #e8efeb;background:#fcfefd}
.nxNewClientForm .nutritionFormGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}
.nxNewClientForm .nutritionFormGrid label{display:grid;gap:8px;margin:0;color:#253746;font-size:14px;font-weight:800}
.nxNewClientForm .nutritionWide{grid-column:1/-1}
.nxNewClientForm :is(input,select,textarea){width:100%;min-height:54px;padding:14px 16px;border:1px solid #dbe5e1;border-radius:16px!important;background:#fff;color:#172033;font-size:15px;box-shadow:none}
.nxNewClientForm textarea{min-height:112px;resize:vertical}
.nxNewClientForm :is(input,select,textarea):focus{outline:none;border-color:#9fd0b0;box-shadow:0 0 0 4px rgba(22,150,76,.08)}
.nxNewClientActions{display:flex;justify-content:flex-end;gap:12px;padding:2px 2px 0}
.nxNewClientAction{display:inline-grid;place-items:center;width:52px!important;min-width:52px!important;max-width:52px!important;height:52px!important;min-height:52px!important;max-height:52px!important;padding:0!important;border-radius:50%!important;text-decoration:none;box-shadow:none!important}
.nxNewClientAction svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}
.nxNewClientCancel{border:1px solid #cfdad5;background:#fff;color:#344555}
.nxNewClientCancel:hover{background:#f3f6f5;color:#22313d}
.nxNewClientSave{border:1px solid #2f4550!important;background:#2f4550!important;color:#fff!important}
.nxNewClientSave:hover{background:#3c5662!important;border-color:#3c5662!important}
body:not(.public) details.nxClientAccordion.systemAccordion>summary,
body:not(.public) details.nxClientAccordion.systemAccordion[open]>summary{background:#fff!important;color:#16964c!important;border:0!important;box-shadow:none!important}
body:not(.public) details.nxClientAccordion.systemAccordion>summary *,
body:not(.public) details.nxClientAccordion.systemAccordion[open]>summary *{color:inherit!important}
@media(max-width:760px){
  .nxNewClientForm{gap:14px}
  .nxClientAccordion{border-radius:20px}
  .nxClientAccordion>summary{min-height:84px;padding:0 50px 0 18px;font-size:18px;gap:14px}
  .nxClientAccordion>summary::after{right:18px}
  .nxClientAccordionIcon{width:38px;height:38px;flex-basis:38px}
  .nxClientAccordionBody{padding:18px}
  .nxNewClientForm .nutritionFormGrid{grid-template-columns:1fr;gap:16px}
  .nxNewClientForm .nutritionWide{grid-column:1}
  .nxNewClientAction{width:48px!important;min-width:48px!important;max-width:48px!important;height:48px!important;min-height:48px!important;max-height:48px!important}
}


/* FIX128 – pulsanti finali nuovo assistito perfettamente circolari */
.nxNewClientActions{display:flex;justify-content:flex-end;gap:14px;padding:2px 2px 0}
.nxNewClientActions .nxNewClientAction,
form.nutritionClientForm.panel .nxNewClientActions .nxNewClientAction,
form.nutritionClientForm.panel .nxNewClientActions button.nxNewClientAction,
form.nutritionClientForm.panel .nxNewClientActions a.nxNewClientAction{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:56px!important;
  min-width:56px!important;
  max-width:56px!important;
  height:56px!important;
  min-height:56px!important;
  max-height:56px!important;
  padding:0!important;
  margin:0!important;
  border-radius:999px!important;
  aspect-ratio:1/1!important;
  flex:0 0 56px!important;
  overflow:hidden!important;
  text-decoration:none!important;
  box-shadow:none!important;
}
.nxNewClientActions .nxNewClientAction svg,
form.nutritionClientForm.panel .nxNewClientActions .nxNewClientAction svg{width:24px!important;height:24px!important}
form.nutritionClientForm.panel .nxNewClientActions button.nxNewClientSave{background:#2f4550!important;border:1px solid #2f4550!important;color:#fff!important}
form.nutritionClientForm.panel .nxNewClientActions button.nxNewClientSave:hover{background:#3c5662!important;border-color:#3c5662!important}
form.nutritionClientForm.panel .nxNewClientActions a.nxNewClientCancel{background:#fff!important;border:1px solid #cfdad5!important;color:#344555!important}
form.nutritionClientForm.panel .nxNewClientActions a.nxNewClientCancel:hover{background:#f3f6f5!important;color:#22313d!important}
@media(max-width:760px){
  .nxNewClientActions .nxNewClientAction,
  form.nutritionClientForm.panel .nxNewClientActions .nxNewClientAction,
  form.nutritionClientForm.panel .nxNewClientActions button.nxNewClientAction,
  form.nutritionClientForm.panel .nxNewClientActions a.nxNewClientAction{
    width:52px!important;min-width:52px!important;max-width:52px!important;height:52px!important;min-height:52px!important;max-height:52px!important;flex-basis:52px!important;
  }
}


/* FIX129 – forzatura definitiva pulsante Crea assistito circolare */
form.nutritionClientForm.panel .nxNewClientActions button.nxNewClientSave{
  border-radius:50%!important;
  clip-path:circle(50%)!important;
  -webkit-clip-path:circle(50%)!important;
  overflow:hidden!important;
}


/* FIX130 – forma circolare indipendente dagli stili globali dei pulsanti */
.nxNewClientActions .nxNewClientAction,
form.nutritionClientForm.panel .nxNewClientActions .nxNewClientAction,
form.nutritionClientForm.panel .nxNewClientActions button.nxNewClientAction,
form.nutritionClientForm.panel .nxNewClientActions a.nxNewClientAction{
  display:inline-grid!important;
  place-items:center!important;
  width:56px!important;
  min-width:56px!important;
  max-width:56px!important;
  height:56px!important;
  min-height:56px!important;
  max-height:56px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  clip-path:none!important;
  -webkit-clip-path:none!important;
  overflow:visible!important;
  flex:0 0 56px!important;
}
.nxNewClientActionShape{
  display:inline-grid!important;
  place-items:center!important;
  width:56px!important;
  height:56px!important;
  min-width:56px!important;
  min-height:56px!important;
  border-radius:50%!important;
  box-sizing:border-box!important;
  transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease!important;
}
.nxNewClientActionShape svg{width:24px!important;height:24px!important;fill:none!important;stroke:currentColor!important;stroke-width:2.3!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.nxNewClientActionShape--cancel{background:#fff!important;border:1px solid #cfdad5!important;color:#344555!important}
.nxNewClientActionShape--save{background:#2f4550!important;border:1px solid #2f4550!important;color:#fff!important}
.nxNewClientCancel:hover .nxNewClientActionShape--cancel,.nxNewClientCancel:focus-visible .nxNewClientActionShape--cancel{background:#f3f6f5!important;color:#22313d!important}
.nxNewClientSave:hover .nxNewClientActionShape--save,.nxNewClientSave:focus-visible .nxNewClientActionShape--save{background:#3c5662!important;border-color:#3c5662!important;color:#fff!important}
.nxNewClientAction:active .nxNewClientActionShape{transform:translateY(1px)}
@media(max-width:760px){
  .nxNewClientActions .nxNewClientAction,
  form.nutritionClientForm.panel .nxNewClientActions .nxNewClientAction,
  form.nutritionClientForm.panel .nxNewClientActions button.nxNewClientAction,
  form.nutritionClientForm.panel .nxNewClientActions a.nxNewClientAction,
  .nxNewClientActionShape{width:52px!important;min-width:52px!important;max-width:52px!important;height:52px!important;min-height:52px!important;max-height:52px!important;flex-basis:52px!important}
}


/* FIX131 – hover X come colore del check */
.nxNewClientCancel:hover .nxNewClientActionShape--cancel,
.nxNewClientCancel:focus-visible .nxNewClientActionShape--cancel{
  background:#2f4550!important;
  border-color:#2f4550!important;
  color:#fff!important;
}


/* FIX132 – hover X identico al pulsante con la V */
.nxNewClientCancel .nxNewClientActionShape--cancel{
  display:inline-grid!important;
  place-items:center!important;
  width:56px!important;
  height:56px!important;
  min-width:56px!important;
  min-height:56px!important;
  border:0!important;
  border-radius:50%!important;
  background:#fff!important;
  color:#344555!important;
  box-shadow:inset 0 0 0 1px #cfdad5!important;
  opacity:1!important;
  visibility:visible!important;
}
.nxNewClientCancel:hover .nxNewClientActionShape--cancel,
.nxNewClientCancel:focus-visible .nxNewClientActionShape--cancel{
  border:0!important;
  border-radius:50%!important;
  background:#fff!important;
  color:#2f4550!important;
  box-shadow:inset 0 0 0 1.5px #2f4550!important;
  opacity:1!important;
  visibility:visible!important;
}
@media(max-width:760px){
  .nxNewClientCancel .nxNewClientActionShape--cancel{width:52px!important;height:52px!important;min-width:52px!important;min-height:52px!important}
}


/* FIX133 – pulsanti finali solo cerchio */
.nxNewClientActions{display:flex;justify-content:flex-end;gap:18px;padding:2px 2px 0}
.nxNewClientAction,
form.nutritionClientForm.panel .nxNewClientActions .nxNewClientAction,
form.nutritionClientForm.panel .nxNewClientActions button.nxNewClientAction,
form.nutritionClientForm.panel .nxNewClientActions a.nxNewClientAction{
  width:56px!important;
  min-width:56px!important;
  max-width:56px!important;
  height:56px!important;
  min-height:56px!important;
  max-height:56px!important;
  flex:0 0 56px!important;
  padding:0!important;
  margin:0!important;
  border:none!important;
  background:transparent!important;
  box-shadow:none!important;
  outline:none!important;
  border-radius:0!important;
  overflow:visible!important;
}
.nxNewClientActionShape,
.nxNewClientCancel .nxNewClientActionShape--cancel,
.nxNewClientSave .nxNewClientActionShape--save{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:56px!important;
  min-width:56px!important;
  max-width:56px!important;
  height:56px!important;
  min-height:56px!important;
  max-height:56px!important;
  border-radius:999px!important;
  aspect-ratio:1/1!important;
  overflow:hidden!important;
}
.nxNewClientCancel .nxNewClientActionShape--cancel{
  background:#fff!important;
  border:1px solid #cfdad5!important;
  color:#344555!important;
}
.nxNewClientSave .nxNewClientActionShape--save{
  background:#2f4550!important;
  border:1px solid #2f4550!important;
  color:#fff!important;
}
.nxNewClientCancel:hover .nxNewClientActionShape--cancel,
.nxNewClientCancel:focus-visible .nxNewClientActionShape--cancel{
  background:#2f4550!important;
  border-color:#2f4550!important;
  color:#fff!important;
}
.nxNewClientSave:hover .nxNewClientActionShape--save,
.nxNewClientSave:focus-visible .nxNewClientActionShape--save{
  background:#3c5662!important;
  border-color:#3c5662!important;
  color:#fff!important;
}
@media(max-width:760px){
  .nxNewClientAction,
  form.nutritionClientForm.panel .nxNewClientActions .nxNewClientAction,
  form.nutritionClientForm.panel .nxNewClientActions button.nxNewClientAction,
  form.nutritionClientForm.panel .nxNewClientActions a.nxNewClientAction,
  .nxNewClientActionShape,
  .nxNewClientCancel .nxNewClientActionShape--cancel,
  .nxNewClientSave .nxNewClientActionShape--save{
    width:52px!important;min-width:52px!important;max-width:52px!important;height:52px!important;min-height:52px!important;max-height:52px!important;flex-basis:52px!important;
  }
}


/* FIX134 – eliminazione riquadro nativo del pulsante Crea assistito */
.nxNewClientActions .nxNewClientHiddenSubmit{position:absolute!important;width:1px!important;height:1px!important;min-width:1px!important;min-height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.nxNewClientActions a.nxNewClientAction,
form.nutritionClientForm.panel .nxNewClientActions a.nxNewClientAction{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:56px!important;
  min-width:56px!important;
  max-width:56px!important;
  height:56px!important;
  min-height:56px!important;
  max-height:56px!important;
  flex:0 0 56px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:50%!important;
  background:transparent!important;
  box-shadow:none!important;
  outline:0!important;
  text-decoration:none!important;
  overflow:visible!important;
  appearance:none!important;
  -webkit-appearance:none!important;
}
.nxNewClientActions a.nxNewClientAction:focus,
.nxNewClientActions a.nxNewClientAction:focus-visible{outline:0!important;box-shadow:none!important}
.nxNewClientActions a.nxNewClientAction .nxNewClientActionShape{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:56px!important;
  min-width:56px!important;
  max-width:56px!important;
  height:56px!important;
  min-height:56px!important;
  max-height:56px!important;
  border-radius:50%!important;
  box-sizing:border-box!important;
}
.nxNewClientActions a.nxNewClientCancel:hover .nxNewClientActionShape--cancel,
.nxNewClientActions a.nxNewClientCancel:focus-visible .nxNewClientActionShape--cancel{
  background:#2f4550!important;
  border-color:#2f4550!important;
  color:#fff!important;
}
.nxNewClientActions a.nxNewClientSave .nxNewClientActionShape--save{
  background:#2f4550!important;
  border:1px solid #2f4550!important;
  color:#fff!important;
}
.nxNewClientActions a.nxNewClientSave:hover .nxNewClientActionShape--save,
.nxNewClientActions a.nxNewClientSave:focus-visible .nxNewClientActionShape--save{
  background:#3c5662!important;
  border-color:#3c5662!important;
  color:#fff!important;
}
@media(max-width:760px){
  .nxNewClientActions a.nxNewClientAction,
  form.nutritionClientForm.panel .nxNewClientActions a.nxNewClientAction,
  .nxNewClientActions a.nxNewClientAction .nxNewClientActionShape{
    width:52px!important;min-width:52px!important;max-width:52px!important;height:52px!important;min-height:52px!important;max-height:52px!important;flex-basis:52px!important;
  }
}

/* FIX135 – Confronto progressi compatto */
.nxProgressAdvanced{padding:24px!important}
.nxProgressAdvanced .nxPanelHead{margin-bottom:14px}
.nxProgressAdvanced .nxPanelHead h3{font-size:26px}
.nxProgressAdvanced .nxPanelHead p:last-child{margin:8px 0 0;color:#6f7b8e}

.nxProgressAdvanced .nxCompareFilters{
  display:grid!important;
  grid-template-columns:minmax(220px,320px) minmax(0,1fr) auto!important;
  grid-template-areas:"select . button" "params params params"!important;
  gap:14px 16px!important;
  padding:16px!important;
  margin-bottom:12px!important;
  border-radius:18px!important;
}
.nxProgressAdvanced .nxCompareSelect{grid-area:select!important;max-width:320px!important}
.nxProgressAdvanced .nxCompareSelect select{min-height:46px!important;border-radius:12px!important}
.nxProgressAdvanced .nxCompareApply{
  grid-area:button!important;
  min-height:46px!important;
  padding:0 18px!important;
  border-radius:12px!important;
  align-self:end!important;
}
.nxProgressAdvanced .nxCompareParams{
  grid-area:params!important;
  padding:14px!important;
  border-radius:16px!important;
}
.nxProgressAdvanced .nxCompareParamsHead{margin-bottom:10px!important}
.nxProgressAdvanced .nxCompareParamsHead strong{font-size:11px!important}
.nxProgressAdvanced .nxCompareParamsHead label{margin:0!important;font-size:12px!important}
.nxProgressAdvanced .nxCompareChecks{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:8px!important;
}
.nxProgressAdvanced .nxCompareChecks label{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  min-height:46px!important;
  padding:9px 12px!important;
  border-radius:12px!important;
  font-size:12px!important;
  line-height:1.2!important;
  box-shadow:none!important;
}
.nxProgressAdvanced .nxCompareChecks label span{line-height:1.2!important}
.nxProgressAdvanced .nxCompareChecks input{width:16px!important;height:16px!important;min-width:16px!important;margin:0!important}
.nxProgressAdvanced .nxCompareContext{
  display:flex!important;
  gap:18px!important;
  padding:0 4px 10px!important;
  font-size:12px!important;
}

.nxProgressAdvanced .nxProgressTableCompact{
  border:1px solid #e2e9e6!important;
  border-radius:16px!important;
  overflow:hidden!important;
  background:#fff!important;
}
.nxProgressAdvanced .nxProgressTableCompact .nxProgressRow{
  display:grid!important;
  grid-template-columns:minmax(180px,1.25fr) minmax(105px,.62fr) minmax(105px,.62fr) minmax(150px,.9fr) minmax(180px,1.25fr)!important;
  gap:14px!important;
  align-items:center!important;
  min-width:0!important;
  padding:10px 14px!important;
  font-size:13px!important;
}
.nxProgressAdvanced .nxProgressTableCompact .nxProgressHeader{
  min-height:42px!important;
  padding-top:9px!important;
  padding-bottom:9px!important;
  font-size:10px!important;
  letter-spacing:.065em!important;
}
.nxProgressAdvanced .nxProgressTableCompact .nxProgressParameter{font-weight:700;color:#263844}
.nxProgressAdvanced .nxProgressDelta{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
  min-width:0!important;
  font-size:13px!important;
  white-space:nowrap!important;
}
.nxProgressAdvanced .nxProgressDelta small{font-size:11px!important;font-weight:800!important}
.nxProgressAdvanced .nxProgressTrend{min-width:0}
.nxProgressAdvanced .nxProgressTrend .nxCompareBarTrack{
  width:100%!important;
  height:8px!important;
  border-radius:999px!important;
  background:#e8eeeb!important;
  overflow:hidden!important;
}
.nxProgressAdvanced .nxProgressTrend .nxCompareBarTrack i{
  display:block!important;
  height:100%!important;
  min-width:3px!important;
  border-radius:999px!important;
}
.nxProgressAdvanced .nxProgressTrend .is-good{background:#1a9a55!important}
.nxProgressAdvanced .nxProgressTrend .is-warn{background:#e87517!important}
.nxProgressAdvanced .nxProgressTrend .is-neutral{background:#8290a4!important}
.nxProgressAdvanced .nxCompareChart{display:none!important}

@media(max-width:1280px){
  .nxProgressAdvanced .nxCompareChecks{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .nxProgressAdvanced .nxProgressTableCompact .nxProgressRow{grid-template-columns:minmax(165px,1.15fr) minmax(95px,.6fr) minmax(95px,.6fr) minmax(140px,.85fr) minmax(150px,1.05fr)!important}
}
@media(max-width:980px){
  .nxProgressAdvanced .nxCompareFilters{grid-template-columns:1fr auto!important;grid-template-areas:"select button" "params params"!important}
  .nxProgressAdvanced .nxCompareChecks{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .nxProgressAdvanced .nxProgressTableCompact{overflow-x:auto!important}
  .nxProgressAdvanced .nxProgressTableCompact .nxProgressRow{min-width:880px!important}
}
@media(max-width:720px){
  .nxProgressAdvanced{padding:16px!important}
  .nxProgressAdvanced .nxCompareFilters{grid-template-columns:1fr!important;grid-template-areas:"select" "params" "button"!important;padding:12px!important}
  .nxProgressAdvanced .nxCompareSelect{max-width:none!important}
  .nxProgressAdvanced .nxCompareApply{width:100%!important}
  .nxProgressAdvanced .nxCompareParams{padding:12px!important}
  .nxProgressAdvanced .nxCompareParamsHead{align-items:center!important;flex-direction:row!important}
  .nxProgressAdvanced .nxCompareChecks{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  .nxProgressAdvanced .nxCompareChecks label{min-height:44px!important;padding:8px 10px!important;font-size:11px!important}
  .nxProgressAdvanced .nxCompareContext{display:flex!important;gap:12px!important;font-size:11px!important;overflow-x:auto!important;white-space:nowrap!important}
}
@media(max-width:460px){
  .nxProgressAdvanced .nxCompareChecks{grid-template-columns:1fr!important}
}


/* FIX136 – Dati dell’assistito richiudibile */
.nxProfileAccordion{padding:0!important;overflow:hidden;background:#fff}
.nxProfileAccordion>summary{list-style:none;cursor:pointer}
.nxProfileAccordion>summary::-webkit-details-marker{display:none}
.nxProfileAccordionSummary{position:relative;display:flex;align-items:center;gap:16px;min-height:92px;padding:0 64px 0 24px;background:#fff;color:#16964c;font-size:21px;font-weight:800;border:0;user-select:none}
.nxProfileAccordionSummary::after{content:'⌄';position:absolute;right:24px;top:50%;transform:translateY(-50%);color:#506171;font-size:20px;line-height:1;transition:transform .18s ease}
.nxProfileAccordion[open]>.nxProfileAccordionSummary::after{transform:translateY(-50%) rotate(180deg)}
.nxProfileAccordionIcon{display:inline-grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:50%;background:#eaf7ef;color:#16964c}
.nxProfileAccordionIcon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.nxProfileAccordionTitle{line-height:1.2}
.nxProfileAccordionBody{position:relative;padding:24px 32px 32px;border-top:1px solid #e8efeb;background:#fff}
.nxProfileAccordionActions{display:flex;justify-content:flex-end;margin:0 0 16px}
body:not(.public) details.nxProfileAccordion.systemAccordion>summary,
body:not(.public) details.nxProfileAccordion.systemAccordion[open]>summary{background:#fff!important;color:#16964c!important;border:0!important;box-shadow:none!important}
body:not(.public) details.nxProfileAccordion.systemAccordion>summary *,
body:not(.public) details.nxProfileAccordion.systemAccordion[open]>summary *{color:inherit!important}
@media(max-width:720px){.nxProfileAccordionSummary{min-height:82px;padding:0 52px 0 18px;font-size:18px;gap:13px}.nxProfileAccordionSummary::after{right:18px}.nxProfileAccordionIcon{width:38px;height:38px;flex-basis:38px}.nxProfileAccordionBody{padding:18px}.nxProfileAccordionActions{margin-bottom:14px}}


/* FIX137 – sezioni principali scheda assistito richiudibili */
.nxMainAccordion{padding:0!important;overflow:hidden!important;background:#fff!important;border-radius:22px!important}
.nxMainAccordion>summary{list-style:none!important;cursor:pointer!important}
.nxMainAccordion>summary::-webkit-details-marker{display:none!important}
.nxMainAccordionSummary{position:relative;display:flex;align-items:center;gap:16px;min-height:92px;padding:0 64px 0 24px;background:#fff!important;color:#16964c!important;border:0!important;user-select:none}
.nxMainAccordionSummary::after{content:'⌄';position:absolute;right:24px;top:50%;transform:translateY(-50%);color:#506171;font-size:20px;line-height:1;transition:transform .18s ease}
.nxMainAccordion[open]>.nxMainAccordionSummary::after{transform:translateY(-50%) rotate(180deg)}
.nxMainAccordionIcon{display:inline-grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:50%;background:#eaf7ef;color:#16964c}
.nxMainAccordionIcon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.nxMainAccordionCopy{display:grid;gap:4px;min-width:0;line-height:1.2}
.nxMainAccordionCopy strong{font-size:21px;color:#16964c}
.nxMainAccordionCopy small{font-size:13px;font-weight:500;color:#738095;line-height:1.4}
.nxMainAccordionBody{padding:24px 32px 32px;border-top:1px solid #e8efeb;background:#fff}
.nxMainAccordionBody--progress{padding-top:22px}
.nxMainAccordionBody--visits,.nxMainAccordionBody--plans{padding-top:24px}
/* neutralizza padding e header interni ora sostituiti dal summary principale */
.nxMainAccordion.nxProgressAdvanced,.nxMainAccordion.nxVisits,.nxMainAccordion.nxPlans{padding:0!important}
body:not(.public) details.nxMainAccordion.systemAccordion>summary,
body:not(.public) details.nxMainAccordion.systemAccordion[open]>summary{background:#fff!important;color:#16964c!important;border:0!important;box-shadow:none!important}
body:not(.public) details.nxMainAccordion.systemAccordion>summary *,
body:not(.public) details.nxMainAccordion.systemAccordion[open]>summary *{color:inherit!important;stroke:currentColor!important}
body:not(.public) details.nxMainAccordion.systemAccordion{background:#fff!important;color:#172033!important}
@media(max-width:720px){
  .nxMainAccordionSummary{min-height:82px;padding:0 52px 0 18px;gap:13px}
  .nxMainAccordionSummary::after{right:18px}
  .nxMainAccordionIcon{width:38px;height:38px;flex-basis:38px}
  .nxMainAccordionCopy strong{font-size:18px}
  .nxMainAccordionCopy small{font-size:12px}
  .nxMainAccordionBody{padding:18px}
}

/* FIX138 – distanza uniforme tra i gruppi principali della scheda assistito */
.nxTopGrid{
  gap:18px!important;
  margin-bottom:0!important;
}
.nxTopGrid + .nxMainAccordion,
.nxMainAccordion + .nxMainAccordion{
  margin-top:-6px!important;
}
@media(max-width:720px){
  .nxTopGrid{gap:14px!important;margin-bottom:0!important}
  .nxTopGrid + .nxMainAccordion,
  .nxMainAccordion + .nxMainAccordion{margin-top:-10px!important}
}


/* FIX139 – confronto multiperiodo */
.nxProgressAdvanced .nxCompareFiltersMulti{
  grid-template-columns:minmax(0,1fr) auto!important;
  grid-template-areas:"periods button" "params params"!important;
  align-items:start!important;
}
.nxProgressAdvanced .nxComparePeriods{
  grid-area:periods!important;
  display:grid!important;
  gap:10px!important;
  min-width:0!important;
}
.nxProgressAdvanced .nxComparePeriodsHead{
  display:flex!important;
  align-items:baseline!important;
  gap:10px!important;
  flex-wrap:wrap!important;
}
.nxProgressAdvanced .nxComparePeriodsHead strong{
  font-size:11px!important;
  font-weight:800!important;
  letter-spacing:.065em!important;
  text-transform:uppercase!important;
  color:#69758a!important;
}
.nxProgressAdvanced .nxComparePeriodsHead small{
  color:#7b8798!important;
  font-size:11px!important;
}
.nxProgressAdvanced .nxComparePeriodChecks{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
}
.nxProgressAdvanced .nxComparePeriodChecks label{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-height:46px!important;
  margin:0!important;
  padding:8px 11px!important;
  border:1px solid #dfe7e3!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#465669!important;
  cursor:pointer!important;
  box-shadow:none!important;
}
.nxProgressAdvanced .nxComparePeriodChecks label:has(input:checked){
  background:#eef9f2!important;
  border-color:#95d1a9!important;
  color:#168947!important;
}
.nxProgressAdvanced .nxComparePeriodChecks input{
  width:16px!important;
  height:16px!important;
  min-width:16px!important;
  margin:0!important;
  accent-color:#16964c!important;
}
.nxProgressAdvanced .nxComparePeriodChecks label>span{
  display:grid!important;
  gap:1px!important;
  line-height:1.15!important;
}
.nxProgressAdvanced .nxComparePeriodChecks b{
  font-size:12px!important;
  color:inherit!important;
}
.nxProgressAdvanced .nxComparePeriodChecks small{
  font-size:10px!important;
  font-weight:700!important;
  color:#7a8798!important;
}
.nxProgressAdvanced .nxComparePeriodChecks label:has(input:checked) small{color:#4e8664!important}
.nxProgressAdvanced .nxCompareFiltersMulti .nxCompareApply{
  grid-area:button!important;
  align-self:end!important;
}
.nxProgressAdvanced .nxCompareContextMulti{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:8px 14px!important;
}
.nxProgressAdvanced .nxCompareContextMulti span{
  display:inline-flex!important;
  align-items:center!important;
  gap:4px!important;
  padding:5px 8px!important;
  border-radius:999px!important;
  background:#f5f8f6!important;
  color:#647186!important;
}
.nxProgressAdvanced .nxProgressTableMulti{
  border:1px solid #e2e9e6!important;
  border-radius:16px!important;
  overflow-x:auto!important;
  background:#fff!important;
}
.nxProgressAdvanced .nxProgressTableMulti .nxProgressRow{
  display:grid!important;
  grid-template-columns:minmax(170px,1.05fr) minmax(105px,.55fr) repeat(var(--compare-count),minmax(185px,1fr))!important;
  gap:12px!important;
  align-items:center!important;
  min-width:max(760px,calc(310px + (var(--compare-count) * 200px)))!important;
  padding:10px 14px!important;
  font-size:12px!important;
}
.nxProgressAdvanced .nxProgressTableMulti .nxProgressHeader{
  min-height:44px!important;
  background:#f8faf9!important;
  font-size:10px!important;
  letter-spacing:.055em!important;
  text-transform:uppercase!important;
}
.nxProgressAdvanced .nxProgressTableMulti .nxProgressHeader>b{
  display:grid!important;
  gap:2px!important;
}
.nxProgressAdvanced .nxProgressTableMulti .nxProgressHeader>b small{
  font-size:9px!important;
  font-weight:700!important;
  letter-spacing:0!important;
  text-transform:none!important;
  color:#8a95a5!important;
}
.nxProgressAdvanced .nxMultiCompareCurrent{
  font-weight:800!important;
  color:#172033!important;
}
.nxProgressAdvanced .nxMultiCompareCell{
  display:grid!important;
  grid-template-columns:auto 1fr!important;
  gap:5px 8px!important;
  align-items:center!important;
  min-width:0!important;
}
.nxProgressAdvanced .nxMultiCompareCell>strong{
  font-size:12px!important;
  color:#263844!important;
  white-space:nowrap!important;
}
.nxProgressAdvanced .nxMultiCompareCell>span{
  display:flex!important;
  justify-content:flex-end!important;
  gap:6px!important;
  min-width:0!important;
  white-space:nowrap!important;
  font-size:11px!important;
}
.nxProgressAdvanced .nxMultiCompareCell>span small{
  font-size:10px!important;
  font-weight:800!important;
}
.nxProgressAdvanced .nxMultiCompareCell .nxCompareBarTrack{
  grid-column:1/-1!important;
  width:100%!important;
  height:6px!important;
  border-radius:999px!important;
  background:#e8eeeb!important;
  overflow:hidden!important;
}
.nxProgressAdvanced .nxMultiCompareCell .nxCompareBarTrack i{
  display:block!important;
  height:100%!important;
  min-width:3px!important;
  border-radius:999px!important;
}
.nxProgressAdvanced .nxMultiCompareCell .is-good{background:#1a9a55!important}
.nxProgressAdvanced .nxMultiCompareCell .is-warn{background:#e87517!important}
.nxProgressAdvanced .nxMultiCompareCell .is-neutral{background:#8290a4!important}
.nxProgressAdvanced .nxMultiCompareCell--empty{
  grid-template-columns:1fr!important;
  gap:2px!important;
  color:#9aa4b2!important;
}
.nxProgressAdvanced .nxMultiCompareCell--empty small{font-size:9px!important}
@media(max-width:980px){
  .nxProgressAdvanced .nxCompareFiltersMulti{
    grid-template-columns:1fr!important;
    grid-template-areas:"periods" "params" "button"!important;
  }
  .nxProgressAdvanced .nxCompareFiltersMulti .nxCompareApply{width:100%!important}
}
@media(max-width:720px){
  .nxProgressAdvanced .nxComparePeriodChecks{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .nxProgressAdvanced .nxComparePeriodChecks label{min-height:44px!important;padding:7px 9px!important}
  .nxProgressAdvanced .nxCompareContextMulti{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;padding-bottom:8px!important}
}
@media(max-width:460px){
  .nxProgressAdvanced .nxComparePeriodChecks{grid-template-columns:1fr!important}
}


/* FIX140 – selezione fino a 3 visite da menu a tendina */
.nxProgressAdvanced .nxComparePeriodsHead small{font-size:11px!important}
.nxProgressAdvanced .nxCompareVisitSelects{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(180px,1fr))!important;
  gap:10px!important;
  max-width:900px!important;
}
.nxProgressAdvanced .nxCompareVisitSelects label{
  display:grid!important;
  gap:6px!important;
  margin:0!important;
  min-width:0!important;
}
.nxProgressAdvanced .nxCompareVisitSelects label>span{
  color:#667085!important;
  font-size:10px!important;
  font-weight:800!important;
  letter-spacing:.035em!important;
  text-transform:uppercase!important;
}
.nxProgressAdvanced .nxCompareVisitSelects select{
  width:100%!important;
  min-width:0!important;
  min-height:46px!important;
  padding:0 38px 0 12px!important;
  border:1px solid #dfe7e3!important;
  border-radius:12px!important;
  background-color:#fff!important;
  color:#263844!important;
  font-size:12px!important;
  font-weight:700!important;
  box-shadow:none!important;
}
.nxProgressAdvanced .nxCompareVisitSelects select:focus{
  outline:none!important;
  border-color:#95d1a9!important;
  box-shadow:0 0 0 3px rgba(22,150,76,.08)!important;
}
.nxProgressAdvanced .nxCompareFiltersMulti .nxCompareApply{
  min-width:150px!important;
}
@media(max-width:1100px){
  .nxProgressAdvanced .nxCompareVisitSelects{grid-template-columns:repeat(3,minmax(150px,1fr))!important;max-width:none!important}
}
@media(max-width:820px){
  .nxProgressAdvanced .nxCompareVisitSelects{grid-template-columns:1fr!important}
}


/* FIX141 – Valutazione automatica dell’intero percorso */
.nxProgressAdvanced .nxCompareActions{
  grid-area:button!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:flex-end!important;
  gap:10px!important;
  align-self:end!important;
  white-space:nowrap!important;
}
.nxProgressAdvanced .nxCompareActions .nxCompareApply{
  grid-area:auto!important;
  align-self:auto!important;
  margin:0!important;
}
.nxProgressAdvanced .nxJourneyEvaluate{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  min-height:48px!important;
  padding:0 18px!important;
  border:1px solid #9fcfaf!important;
  border-radius:12px!important;
  background:#eef9f2!important;
  color:#168947!important;
  font-size:13px!important;
  font-weight:800!important;
  box-shadow:none!important;
}
.nxProgressAdvanced .nxJourneyEvaluate:hover,
.nxProgressAdvanced .nxJourneyEvaluate:focus-visible{
  background:#e3f5e9!important;
  border-color:#82c79a!important;
  color:#11743c!important;
}
.nxJourneyEvaluation{
  margin:4px 0 16px!important;
  padding:20px!important;
  border:1px solid #dfe8e4!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 8px 24px rgba(25,48,39,.035)!important;
}
.nxJourneyEvaluationHead{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:18px!important;
  padding-bottom:16px!important;
  border-bottom:1px solid #e8efeb!important;
}
.nxJourneyEvaluationHead .eyebrow{margin:0 0 6px!important;color:#168947!important}
.nxJourneyEvaluationHead h4{margin:0 0 6px!important;font-size:22px!important;color:#172033!important}
.nxJourneyEvaluationHead p:not(.eyebrow){margin:0!important;color:#6d788b!important;font-size:13px!important;line-height:1.5!important}
.nxJourneyEvaluationBadge{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:34px!important;
  padding:0 12px!important;
  border-radius:999px!important;
  background:#eef9f2!important;
  color:#168947!important;
  font-size:11px!important;
  font-weight:800!important;
  white-space:nowrap!important;
}
.nxJourneyStats{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
  margin:16px 0!important;
}
.nxJourneyStats article{
  min-width:0!important;
  padding:14px!important;
  border:1px solid #e4ece8!important;
  border-radius:14px!important;
  background:#fcfefd!important;
}
.nxJourneyStats small,.nxJourneyStats strong,.nxJourneyStats span{display:block!important}
.nxJourneyStats small{margin-bottom:6px!important;color:#7a8597!important;font-size:10px!important;font-weight:800!important;letter-spacing:.04em!important;text-transform:uppercase!important}
.nxJourneyStats strong{color:#172033!important;font-size:18px!important;line-height:1.2!important}
.nxJourneyStats span{margin-top:3px!important;color:#748094!important;font-size:11px!important}
.nxJourneySummary{
  padding:15px 16px!important;
  border-radius:14px!important;
  background:#f5faf7!important;
  border:1px solid #e1ece5!important;
}
.nxJourneySummary h5,.nxJourneyChangesHead h5{margin:0!important;color:#172033!important;font-size:14px!important}
.nxJourneySummary p{margin:7px 0 0!important;color:#526174!important;font-size:13px!important;line-height:1.6!important}
.nxJourneyChanges{margin-top:16px!important;border:1px solid #e4ece8!important;border-radius:14px!important;overflow:hidden!important}
.nxJourneyChangesHead{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:12px 14px!important;background:#fafcfb!important;border-bottom:1px solid #e8efeb!important}
.nxJourneyChangesHead span{color:#7a8597!important;font-size:10px!important;font-weight:700!important}
.nxJourneyChangeRow{
  display:grid!important;
  grid-template-columns:minmax(170px,1fr) minmax(220px,.9fr) minmax(125px,.55fr)!important;
  gap:14px!important;
  align-items:center!important;
  padding:11px 14px!important;
  border-bottom:1px solid #edf2ef!important;
}
.nxJourneyChangeRow:last-child{border-bottom:0!important}
.nxJourneyMetricName{color:#314353!important;font-size:12px!important;font-weight:800!important}
.nxJourneyMetricValues{display:flex!important;align-items:center!important;gap:8px!important;color:#667085!important;font-size:12px!important}
.nxJourneyMetricValues b{color:#263844!important;font-size:12px!important}
.nxJourneyMetricValues i{font-style:normal!important;color:#98a2b3!important}
.nxJourneyMetricDelta{display:flex!important;align-items:baseline!important;justify-content:flex-end!important;gap:6px!important;color:#344555!important;font-size:12px!important;font-weight:800!important}
.nxJourneyMetricDelta small{font-size:10px!important;color:#758096!important}
.nxJourneyMetricDelta.is-up{color:#b75a17!important}
.nxJourneyMetricDelta.is-down{color:#2f6fab!important}
.nxJourneyMetricDelta.is-stable{color:#667085!important}
.nxJourneyGoal{
  display:flex!important;
  align-items:flex-start!important;
  gap:11px!important;
  margin-top:16px!important;
  padding:14px 16px!important;
  border:1px solid #e1ece5!important;
  border-radius:14px!important;
  background:#fff!important;
}
.nxJourneyGoal>span{display:grid!important;place-items:center!important;width:30px!important;height:30px!important;border-radius:50%!important;background:#eaf7ef!important;color:#16964c!important;font-weight:800!important;flex:0 0 30px!important}
.nxJourneyGoal small{display:block!important;margin-bottom:4px!important;color:#168947!important;font-size:10px!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.04em!important}
.nxJourneyGoal p{margin:0!important;color:#344555!important;font-size:12px!important;line-height:1.55!important}
.nxJourneyDisclaimer{margin:12px 2px 0!important;color:#8993a2!important;font-size:10px!important;line-height:1.5!important}
@media(max-width:1180px){
  .nxProgressAdvanced .nxCompareFiltersMulti{grid-template-columns:1fr!important;grid-template-areas:"periods" "params" "button"!important}
  .nxProgressAdvanced .nxCompareActions{justify-content:flex-start!important}
  .nxJourneyStats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:720px){
  .nxProgressAdvanced .nxCompareActions{display:grid!important;grid-template-columns:1fr!important;width:100%!important}
  .nxProgressAdvanced .nxCompareActions .nxCompareApply,.nxProgressAdvanced .nxJourneyEvaluate{width:100%!important}
  .nxJourneyEvaluation{padding:15px!important}
  .nxJourneyEvaluationHead{display:grid!important}
  .nxJourneyEvaluationBadge{justify-self:start!important}
  .nxJourneyStats{grid-template-columns:1fr 1fr!important}
  .nxJourneyChangeRow{grid-template-columns:1fr!important;gap:6px!important}
  .nxJourneyMetricDelta{justify-content:flex-start!important}
  .nxJourneyChangesHead{align-items:flex-start!important;flex-direction:column!important}
}
@media(max-width:460px){.nxJourneyStats{grid-template-columns:1fr!important}}

/* FIX142 – Valutazione percorso completa, visibile solo dopo click sul pulsante dedicato */
.nxJourneyEvaluationV2{margin-top:20px!important;padding:26px!important;border:1px solid #dfe8e4!important;border-radius:22px!important;background:#fff!important;box-shadow:none!important}
.nxJourneyEvaluationHeadV2{display:flex!important;justify-content:space-between!important;align-items:flex-start!important;gap:20px!important;padding-bottom:18px!important;border-bottom:1px solid #e8efeb!important}
.nxJourneyEvaluationHeadV2 h4{font-size:28px!important;letter-spacing:-.02em!important}
.nxJourneyOverviewCards{display:grid!important;grid-template-columns:.85fr 1.15fr 1.05fr 1fr!important;gap:12px!important;margin-top:18px!important}
.nxJourneyOverviewCards article{min-width:0!important;padding:16px!important;border:1px solid #e3ebe7!important;border-radius:16px!important;background:#fff!important}
.nxJourneyOverviewCards article>small{display:block!important;margin-bottom:8px!important;color:#758096!important;font-size:10px!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.04em!important}
.nxJourneyOverviewCards article>div{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important}
.nxJourneyOverviewCards article strong{display:block!important;min-width:0!important;color:#172033!important;font-size:17px!important;line-height:1.25!important;overflow-wrap:anywhere!important}
.nxJourneyOverviewCards article strong i{font-style:normal!important;color:#97a1af!important;font-weight:500!important}
.nxJourneyOverviewCards article em{display:block!important;margin-top:5px!important;color:#768195!important;font-style:normal!important;font-size:11px!important;line-height:1.35!important}
.nxJourneyOverviewIcon{display:grid!important;place-items:center!important;width:38px!important;height:38px!important;flex:0 0 38px!important;border-radius:50%!important;background:#eaf7ef!important;color:#16964c!important;font-size:18px!important;font-weight:800!important}
.nxJourneyOutcome{display:inline-flex!important;align-items:center!important;width:max-content!important;padding:6px 10px!important;border-radius:999px!important;font-size:14px!important}
.nxJourneyOutcome--good{background:#e8f7ee!important;color:#168947!important}
.nxJourneyOutcome--watch{background:#fff3df!important;color:#c25d11!important}
.nxJourneyOutcome--neutral{background:#f0f3f2!important;color:#526174!important}
.nxJourneyClinicalSummary{display:grid!important;grid-template-columns:48px minmax(0,1fr)!important;gap:14px!important;align-items:start!important;margin-top:16px!important;padding:16px!important;border:1px solid #deebe5!important;border-radius:16px!important;background:#f5fbf7!important}
.nxJourneyClinicalIcon{display:grid!important;place-items:center!important;width:44px!important;height:44px!important;border-radius:50%!important;background:#168947!important;color:#fff!important;font-size:20px!important}
.nxJourneyClinicalSummary h5{margin:0!important;color:#172033!important;font-size:14px!important}
.nxJourneyClinicalSummary p{margin:6px 0 0!important;color:#526174!important;font-size:13px!important;line-height:1.55!important}
.nxJourneyTwoCols{display:grid!important;grid-template-columns:1fr 1fr!important;gap:14px!important;margin-top:16px!important}
.nxJourneyCard{border:1px solid #e3ebe7!important;border-radius:16px!important;background:#fff!important;box-shadow:none!important;overflow:hidden!important}
.nxJourneyCard>h5{margin:0!important;padding:14px 16px!important;border-bottom:1px solid #e8efeb!important;color:#172033!important;font-size:14px!important}
.nxJourneyObjectiveTable{display:grid!important}
.nxJourneyObjectiveHead,.nxJourneyObjectiveRow{display:grid!important;grid-template-columns:1.35fr .75fr .75fr 1fr!important;gap:10px!important;align-items:center!important;padding:10px 14px!important;border-bottom:1px solid #edf2ef!important}
.nxJourneyObjectiveRow:last-child{border-bottom:0!important}
.nxJourneyObjectiveHead{background:#fbfcfc!important;color:#7a8597!important;font-size:9px!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.04em!important}
.nxJourneyObjectiveRow strong{color:#314353!important;font-size:12px!important}
.nxJourneyObjectiveRow>span{color:#536176!important;font-size:11px!important}
.nxJourneyObjectiveRow>span:last-child{display:grid!important;grid-template-columns:auto 1fr!important;gap:8px!important;align-items:center!important;font-weight:800!important}
.nxJourneyObjectiveRow>span:last-child i{display:block!important;height:5px!important;border-radius:999px!important;background:#e8eeeb!important;overflow:hidden!important}
.nxJourneyObjectiveRow>span:last-child u{display:block!important;height:100%!important;border-radius:999px!important;background:currentColor!important;text-decoration:none!important}
.nxJourneyObjectiveRow .is-good{color:#168947!important}.nxJourneyObjectiveRow .is-warn{color:#e66b0c!important}.nxJourneyObjectiveRow .is-neutral{color:#69778a!important}
.nxJourneyMonitorList{display:grid!important;padding:8px!important}
.nxJourneyMonitorItem{display:grid!important;grid-template-columns:38px minmax(120px,.8fr) auto minmax(130px,1fr)!important;gap:10px!important;align-items:center!important;padding:10px!important;border-bottom:1px solid #edf2ef!important}
.nxJourneyMonitorItem:last-child{border-bottom:0!important}
.nxJourneyMonitorIcon{display:grid!important;place-items:center!important;width:34px!important;height:34px!important;border-radius:50%!important;background:#fff5e7!important;color:#e66b0c!important;border:1px solid #f1d5ad!important}
.nxJourneyMonitorItem strong{color:#314353!important;font-size:12px!important}
.nxJourneyMonitorItem em{justify-self:start!important;padding:5px 9px!important;border-radius:999px!important;background:#fff3df!important;color:#c35f13!important;font-style:normal!important;font-size:10px!important;font-weight:800!important;white-space:nowrap!important}
.nxJourneyMonitorItem small{color:#748094!important;font-size:10px!important;line-height:1.35!important}
.nxJourneyMonitorItem--good .nxJourneyMonitorIcon{background:#eaf7ef!important;border-color:#cfe8d8!important;color:#168947!important}.nxJourneyMonitorItem--good em{background:#eaf7ef!important;color:#168947!important}
.nxJourneyTrendSection{margin-top:14px!important;padding-bottom:12px!important}
.nxJourneyTrendGrid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;padding:10px!important}
.nxJourneyTrendCard{min-width:0!important;padding:10px!important;border:1px solid #e6ede9!important;border-radius:12px!important;background:#fcfefd!important;color:#168947!important}
.nxJourneyTrendCard header{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:8px!important;margin:0 0 7px!important}
.nxJourneyTrendCard header strong{color:#314353!important;font-size:11px!important}.nxJourneyTrendCard header span{color:#68768a!important;font-size:9px!important;text-align:right!important}
.nxJourneyTrendCard svg{display:block!important;width:100%!important;height:64px!important;border-bottom:1px solid #edf2ef!important}
.nxJourneyTrendValues{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:6px!important;margin-top:8px!important;color:#314353!important;font-size:10px!important}.nxJourneyTrendValues i{font-style:normal!important;color:#9aa4b1!important}
.nxJourneyTrendCard>small{display:block!important;margin-top:4px!important;color:#8993a2!important;font-size:9px!important}
.nxJourneyBottomGrid{display:grid!important;grid-template-columns:1.05fr .95fr!important;gap:14px!important;margin-top:14px!important}
.nxJourneyAnthroTable>div{display:grid!important;grid-template-columns:1.2fr .75fr .75fr 1fr!important;gap:10px!important;align-items:center!important;padding:9px 14px!important;border-bottom:1px solid #edf2ef!important;font-size:11px!important}.nxJourneyAnthroTable>div:last-child{border-bottom:0!important}.nxJourneyAnthroTable>div:first-child{color:#7a8597!important;font-size:9px!important;text-transform:uppercase!important;background:#fbfcfc!important}.nxJourneyAnthroTable strong{color:#314353!important}.nxJourneyAnthroTable span{color:#536176!important}.nxJourneyAnthroTable .is-good{color:#168947!important;font-weight:800!important}.nxJourneyAnthroTable .is-warn{color:#e66b0c!important;font-weight:800!important}.nxJourneyAnthroTable small{margin-left:6px!important;font-size:9px!important;color:inherit!important}
.nxJourneySideStack{display:grid!important;gap:12px!important;align-content:start!important}
.nxJourneyQuality{display:grid!important;grid-template-columns:42px minmax(0,1fr)!important;gap:12px!important;align-items:start!important;padding:14px!important;border:1px solid #eadfbb!important;border-radius:16px!important;background:#fffaf0!important}
.nxJourneyQuality.is-ok{border-color:#d8e9df!important;background:#f6fbf8!important}.nxJourneyQualityIcon{display:grid!important;place-items:center!important;width:38px!important;height:38px!important;border-radius:50%!important;background:#fff0c7!important;color:#d28a00!important;font-size:20px!important}.nxJourneyQuality.is-ok .nxJourneyQualityIcon{background:#eaf7ef!important;color:#168947!important}
.nxJourneyQuality h5{margin:0 0 4px!important;color:#704d0c!important;font-size:13px!important}.nxJourneyQuality.is-ok h5{color:#314353!important}.nxJourneyQuality strong{display:block!important;color:#4b5565!important;font-size:11px!important}.nxJourneyQuality p{margin:4px 0 0!important;color:#728094!important;font-size:10px!important;line-height:1.45!important}
.nxJourneyNoteCard{position:relative!important;padding-bottom:48px!important}.nxJourneyNoteText{min-height:76px!important;padding:12px 14px!important;color:#69768a!important;font-size:11px!important;line-height:1.5!important}.nxJourneyNoteEdit{position:absolute!important;right:12px!important;bottom:12px!important;min-height:32px!important;padding:6px 10px!important;border:1px solid #d7e0dc!important;border-radius:10px!important;background:#fff!important;color:#344555!important;font-size:10px!important;font-weight:800!important}.nxJourneyNoteEdit:hover{background:#f3f6f5!important}
.nxJourneyEmpty{margin:0!important;padding:18px!important;color:#7a8597!important;font-size:11px!important}
.nxJourneyEvaluationV2 .nxJourneyDisclaimer{margin:12px 2px 0!important}
@media(max-width:1180px){.nxJourneyOverviewCards{grid-template-columns:repeat(2,minmax(0,1fr))!important}.nxJourneyTrendGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.nxJourneyTwoCols,.nxJourneyBottomGrid{grid-template-columns:1fr!important}}
@media(max-width:720px){.nxJourneyEvaluationV2{padding:16px!important}.nxJourneyEvaluationHeadV2{display:grid!important}.nxJourneyOverviewCards{grid-template-columns:1fr!important}.nxJourneyTrendGrid{grid-template-columns:1fr!important}.nxJourneyObjectiveHead{display:none!important}.nxJourneyObjectiveRow{grid-template-columns:1fr 1fr!important}.nxJourneyObjectiveRow>span:last-child{grid-column:1/-1!important}.nxJourneyMonitorItem{grid-template-columns:34px 1fr!important}.nxJourneyMonitorItem em,.nxJourneyMonitorItem small{grid-column:2!important}.nxJourneyAnthroTable>div{grid-template-columns:1fr 1fr!important}.nxJourneyAnthroTable>div:first-child{display:none!important}}



/* FIX145 – Colore Valutazione percorso #f96e46 */
.nxProgressAdvanced .nxCompareActions{
  grid-area:button!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:flex-end!important;
  gap:12px!important;
  align-self:end!important;
  white-space:normal!important;
}
.nxProgressAdvanced .nxCompareActions .nxCompareActionBtn{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:52px!important;
  min-width:52px!important;
  height:52px!important;
  min-height:52px!important;
  padding:0!important;
  border-radius:999px!important;
  overflow:visible!important;
  box-shadow:none!important;
  transition:transform .18s ease, background-color .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease!important;
}
.nxProgressAdvanced .nxCompareActions .nxCompareActionBtn .nxCompareActionIcon{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:20px!important;
  height:20px!important;
  line-height:0!important;
}
.nxProgressAdvanced .nxCompareActions .nxCompareActionBtn .nxCompareActionIcon svg{
  width:20px!important;
  height:20px!important;
  display:block!important;
}
.nxProgressAdvanced .nxCompareActions .nxCompareActionText{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.nxProgressAdvanced .nxCompareActions .nxCompareApply.nxCompareActionBtn{
  background:#fff!important;
  color:#344555!important;
  border:1.5px solid #3b4f5e!important;
}
.nxProgressAdvanced .nxCompareActions .nxCompareApply.nxCompareActionBtn:hover,
.nxProgressAdvanced .nxCompareActions .nxCompareApply.nxCompareActionBtn:focus-visible{
  background:#344555!important;
  color:#fff!important;
  border-color:#344555!important;
  transform:translateY(-1px)!important;
  box-shadow:0 8px 16px rgba(52,69,85,.16)!important;
}
.nxProgressAdvanced .nxCompareActions .nxJourneyEvaluate.nxCompareActionBtn{
  background:#f96e46!important;
  color:#fff!important;
  border:1.5px solid #f96e46!important;
  box-shadow:0 8px 16px rgba(249,110,70,.22)!important;
}
.nxProgressAdvanced .nxCompareActions .nxJourneyEvaluate.nxCompareActionBtn .nxCompareActionIcon,
.nxProgressAdvanced .nxCompareActions .nxJourneyEvaluate.nxCompareActionBtn svg{
  color:#fff!important;
  stroke:#fff!important;
}
.nxProgressAdvanced .nxCompareActions .nxJourneyEvaluate.nxCompareActionBtn::before,
.nxProgressAdvanced .nxCompareActions .nxJourneyEvaluate.nxCompareActionBtn::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:999px;
  pointer-events:none;
  opacity:0;
}
.nxProgressAdvanced .nxCompareActions .nxJourneyEvaluate.nxCompareActionBtn::before{
  border:2px solid rgba(249,110,70,.28);
}
.nxProgressAdvanced .nxCompareActions .nxJourneyEvaluate.nxCompareActionBtn::after{
  border:2px solid rgba(249,110,70,.16);
}
.nxProgressAdvanced .nxCompareActions .nxJourneyEvaluate.nxCompareActionBtn:hover,
.nxProgressAdvanced .nxCompareActions .nxJourneyEvaluate.nxCompareActionBtn:focus-visible{
  background:#f96e46!important;
  color:#fff!important;
  border-color:#f96e46!important;
  transform:translateY(-1px)!important;
  box-shadow:0 10px 20px rgba(249,110,70,.26)!important;
}
.nxProgressAdvanced .nxCompareActions .nxJourneyEvaluate.nxCompareActionBtn:hover::before,
.nxProgressAdvanced .nxCompareActions .nxJourneyEvaluate.nxCompareActionBtn:focus-visible::before{
  animation:nxJourneyRipple 1.2s ease-out infinite;
}
.nxProgressAdvanced .nxCompareActions .nxJourneyEvaluate.nxCompareActionBtn:hover::after,
.nxProgressAdvanced .nxCompareActions .nxJourneyEvaluate.nxCompareActionBtn:focus-visible::after{
  animation:nxJourneyRipple 1.2s ease-out .22s infinite;
}
@keyframes nxJourneyRipple{
  0%{transform:scale(1);opacity:.55}
  70%{transform:scale(1.55);opacity:0}
  100%{transform:scale(1.55);opacity:0}
}
@media (prefers-reduced-motion:reduce){
  .nxProgressAdvanced .nxCompareActions .nxJourneyEvaluate.nxCompareActionBtn:hover::before,
  .nxProgressAdvanced .nxCompareActions .nxJourneyEvaluate.nxCompareActionBtn:hover::after,
  .nxProgressAdvanced .nxCompareActions .nxJourneyEvaluate.nxCompareActionBtn:focus-visible::before,
  .nxProgressAdvanced .nxCompareActions .nxJourneyEvaluate.nxCompareActionBtn:focus-visible::after{animation:none!important}
}
@media(max-width:720px){
  .nxProgressAdvanced .nxCompareActions{justify-content:flex-start!important;gap:10px!important}
  .nxProgressAdvanced .nxCompareActions .nxCompareActionBtn{width:48px!important;min-width:48px!important;height:48px!important;min-height:48px!important}
  .nxProgressAdvanced .nxCompareActions .nxCompareActionBtn .nxCompareActionIcon{width:18px!important;height:18px!important}
  .nxProgressAdvanced .nxCompareActions .nxCompareActionBtn .nxCompareActionIcon svg{width:18px!important;height:18px!important}
}


/* FIX146 – Valutazione percorso: colore #F96E46 + effetto onde applicati correttamente */
.nxProgressAdvanced .nxCompareActions .nxCompareApply.nxCompareActionBtn{
  width:52px!important;
  min-width:52px!important;
  height:52px!important;
  min-height:52px!important;
}
.nxProgressAdvanced .nxCompareActions .nxJourneyEvaluate,
.nxProgressAdvanced .nxCompareActions .nxCompareActionBtn--accent,
.nxProgressAdvanced .nxCompareActions button[name="compare_action"][value="evaluate"]{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:52px!important;
  min-width:52px!important;
  height:52px!important;
  min-height:52px!important;
  padding:0!important;
  border-radius:999px!important;
  overflow:visible!important;
  isolation:isolate!important;
  background:#f96e46!important;
  border:1.5px solid #f96e46!important;
  color:#ffffff!important;
  box-shadow:0 8px 18px rgba(249,110,70,.24)!important;
  transition:transform .18s ease, box-shadow .18s ease, background-color .18s ease, border-color .18s ease!important;
}
.nxProgressAdvanced .nxCompareActions .nxJourneyEvaluate .nxCompareActionIcon,
.nxProgressAdvanced .nxCompareActions .nxCompareActionBtn--accent .nxCompareActionIcon,
.nxProgressAdvanced .nxCompareActions button[name="compare_action"][value="evaluate"] .nxCompareActionIcon,
.nxProgressAdvanced .nxCompareActions .nxJourneyEvaluate svg,
.nxProgressAdvanced .nxCompareActions .nxCompareActionBtn--accent svg,
.nxProgressAdvanced .nxCompareActions button[name="compare_action"][value="evaluate"] svg{
  color:#ffffff!important;
  stroke:#ffffff!important;
}
.nxProgressAdvanced .nxCompareActions .nxJourneyEvaluate::before,
.nxProgressAdvanced .nxCompareActions .nxJourneyEvaluate::after,
.nxProgressAdvanced .nxCompareActions .nxCompareActionBtn--accent::before,
.nxProgressAdvanced .nxCompareActions .nxCompareActionBtn--accent::after,
.nxProgressAdvanced .nxCompareActions button[name="compare_action"][value="evaluate"]::before,
.nxProgressAdvanced .nxCompareActions button[name="compare_action"][value="evaluate"]::after{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius:50%;
  border:2px solid rgba(249,110,70,.40);
  opacity:0;
  transform:scale(.94);
  pointer-events:none;
}
.nxProgressAdvanced .nxCompareActions .nxJourneyEvaluate:hover,
.nxProgressAdvanced .nxCompareActions .nxJourneyEvaluate:focus-visible,
.nxProgressAdvanced .nxCompareActions .nxCompareActionBtn--accent:hover,
.nxProgressAdvanced .nxCompareActions .nxCompareActionBtn--accent:focus-visible,
.nxProgressAdvanced .nxCompareActions button[name="compare_action"][value="evaluate"]:hover,
.nxProgressAdvanced .nxCompareActions button[name="compare_action"][value="evaluate"]:focus-visible{
  background:#f96e46!important;
  border-color:#f96e46!important;
  color:#ffffff!important;
  transform:translateY(-1px)!important;
  box-shadow:0 10px 24px rgba(249,110,70,.30)!important;
}
.nxProgressAdvanced .nxCompareActions .nxJourneyEvaluate:hover::before,
.nxProgressAdvanced .nxCompareActions .nxJourneyEvaluate:focus-visible::before,
.nxProgressAdvanced .nxCompareActions .nxCompareActionBtn--accent:hover::before,
.nxProgressAdvanced .nxCompareActions .nxCompareActionBtn--accent:focus-visible::before,
.nxProgressAdvanced .nxCompareActions button[name="compare_action"][value="evaluate"]:hover::before,
.nxProgressAdvanced .nxCompareActions button[name="compare_action"][value="evaluate"]:focus-visible::before{
  animation:nxJourneyCoralPulse 1.25s ease-out infinite;
}
.nxProgressAdvanced .nxCompareActions .nxJourneyEvaluate:hover::after,
.nxProgressAdvanced .nxCompareActions .nxJourneyEvaluate:focus-visible::after,
.nxProgressAdvanced .nxCompareActions .nxCompareActionBtn--accent:hover::after,
.nxProgressAdvanced .nxCompareActions .nxCompareActionBtn--accent:focus-visible::after,
.nxProgressAdvanced .nxCompareActions button[name="compare_action"][value="evaluate"]:hover::after,
.nxProgressAdvanced .nxCompareActions button[name="compare_action"][value="evaluate"]:focus-visible::after{
  animation:nxJourneyCoralPulse 1.25s ease-out .24s infinite;
}
@keyframes nxJourneyCoralPulse{
  0%{transform:scale(1);opacity:.58}
  72%{transform:scale(1.55);opacity:0}
  100%{transform:scale(1.55);opacity:0}
}
@media (prefers-reduced-motion:reduce){
  .nxProgressAdvanced .nxCompareActions .nxJourneyEvaluate:hover::before,
  .nxProgressAdvanced .nxCompareActions .nxJourneyEvaluate:hover::after,
  .nxProgressAdvanced .nxCompareActions .nxJourneyEvaluate:focus-visible::before,
  .nxProgressAdvanced .nxCompareActions .nxJourneyEvaluate:focus-visible::after,
  .nxProgressAdvanced .nxCompareActions .nxCompareActionBtn--accent:hover::before,
  .nxProgressAdvanced .nxCompareActions .nxCompareActionBtn--accent:hover::after,
  .nxProgressAdvanced .nxCompareActions .nxCompareActionBtn--accent:focus-visible::before,
  .nxProgressAdvanced .nxCompareActions .nxCompareActionBtn--accent:focus-visible::after,
  .nxProgressAdvanced .nxCompareActions button[name="compare_action"][value="evaluate"]:hover::before,
  .nxProgressAdvanced .nxCompareActions button[name="compare_action"][value="evaluate"]:hover::after,
  .nxProgressAdvanced .nxCompareActions button[name="compare_action"][value="evaluate"]:focus-visible::before,
  .nxProgressAdvanced .nxCompareActions button[name="compare_action"][value="evaluate"]:focus-visible::after{
    animation:none!important;
  }
}
@media(max-width:720px){
  .nxProgressAdvanced .nxCompareActions .nxJourneyEvaluate,
  .nxProgressAdvanced .nxCompareActions .nxCompareActionBtn--accent,
  .nxProgressAdvanced .nxCompareActions button[name="compare_action"][value="evaluate"]{
    width:48px!important;
    min-width:48px!important;
    height:48px!important;
    min-height:48px!important;
  }
}


/* FIX147 – Forza colore pulsante Valutazione a #F96E46 */
.nxProgressAdvanced .nxCompareActions .nxJourneyEvaluate,
.nxProgressAdvanced .nxCompareActions .nxJourneyEvaluate.nxCompareActionBtn,
.nxProgressAdvanced .nxCompareActions .nxJourneyEvaluate.nxCompareActionBtn--accent,
.nxProgressAdvanced .nxCompareActions .nxCompareActionBtn--accent,
.nxProgressAdvanced .nxCompareActions button[name="compare_action"][value="evaluate"]{
  background:#F96E46 !important;
  background-color:#F96E46 !important;
  border-color:#F96E46 !important;
  color:#ffffff !important;
}
.nxProgressAdvanced .nxCompareActions .nxJourneyEvaluate:hover,
.nxProgressAdvanced .nxCompareActions .nxJourneyEvaluate:focus,
.nxProgressAdvanced .nxCompareActions .nxJourneyEvaluate:focus-visible,
.nxProgressAdvanced .nxCompareActions .nxJourneyEvaluate:active,
.nxProgressAdvanced .nxCompareActions .nxCompareActionBtn--accent:hover,
.nxProgressAdvanced .nxCompareActions .nxCompareActionBtn--accent:focus,
.nxProgressAdvanced .nxCompareActions .nxCompareActionBtn--accent:focus-visible,
.nxProgressAdvanced .nxCompareActions .nxCompareActionBtn--accent:active,
.nxProgressAdvanced .nxCompareActions button[name="compare_action"][value="evaluate"]:hover,
.nxProgressAdvanced .nxCompareActions button[name="compare_action"][value="evaluate"]:focus,
.nxProgressAdvanced .nxCompareActions button[name="compare_action"][value="evaluate"]:focus-visible,
.nxProgressAdvanced .nxCompareActions button[name="compare_action"][value="evaluate"]:active{
  background:#F96E46 !important;
  background-color:#F96E46 !important;
  border-color:#F96E46 !important;
  color:#ffffff !important;
  box-shadow:0 10px 24px rgba(249,110,70,.30) !important;
}
.nxProgressAdvanced .nxCompareActions .nxJourneyEvaluate .nxCompareActionIcon,
.nxProgressAdvanced .nxCompareActions .nxJourneyEvaluate .nxCompareActionText,
.nxProgressAdvanced .nxCompareActions .nxJourneyEvaluate svg,
.nxProgressAdvanced .nxCompareActions .nxCompareActionBtn--accent .nxCompareActionIcon,
.nxProgressAdvanced .nxCompareActions .nxCompareActionBtn--accent .nxCompareActionText,
.nxProgressAdvanced .nxCompareActions .nxCompareActionBtn--accent svg,
.nxProgressAdvanced .nxCompareActions button[name="compare_action"][value="evaluate"] .nxCompareActionIcon,
.nxProgressAdvanced .nxCompareActions button[name="compare_action"][value="evaluate"] .nxCompareActionText,
.nxProgressAdvanced .nxCompareActions button[name="compare_action"][value="evaluate"] svg{
  color:#ffffff !important;
  stroke:#ffffff !important;
}


/* FIX148 – Valutazione forzata anche inline/data-attribute */
.nxProgressAdvanced .nxCompareActions .nxJourneyEvaluate[data-journey-evaluate="1"],
.nxProgressAdvanced .nxCompareActions button[data-journey-evaluate="1"]{
  background:#F96E46 !important;
  background-color:#F96E46 !important;
  border:1.5px solid #F96E46 !important;
  border-color:#F96E46 !important;
  color:#FFFFFF !important;
  box-shadow:0 8px 16px rgba(249,110,70,.24) !important;
}
.nxProgressAdvanced .nxCompareActions .nxJourneyEvaluate[data-journey-evaluate="1"]:hover,
.nxProgressAdvanced .nxCompareActions .nxJourneyEvaluate[data-journey-evaluate="1"]:focus,
.nxProgressAdvanced .nxCompareActions .nxJourneyEvaluate[data-journey-evaluate="1"]:focus-visible,
.nxProgressAdvanced .nxCompareActions .nxJourneyEvaluate[data-journey-evaluate="1"]:active,
.nxProgressAdvanced .nxCompareActions button[data-journey-evaluate="1"]:hover,
.nxProgressAdvanced .nxCompareActions button[data-journey-evaluate="1"]:focus,
.nxProgressAdvanced .nxCompareActions button[data-journey-evaluate="1"]:focus-visible,
.nxProgressAdvanced .nxCompareActions button[data-journey-evaluate="1"]:active{
  background:#F96E46 !important;
  background-color:#F96E46 !important;
  border-color:#F96E46 !important;
  color:#FFFFFF !important;
  box-shadow:0 10px 22px rgba(249,110,70,.30) !important;
}
.nxProgressAdvanced .nxCompareActions .nxJourneyEvaluate[data-journey-evaluate="1"] .nxCompareActionIcon,
.nxProgressAdvanced .nxCompareActions .nxJourneyEvaluate[data-journey-evaluate="1"] svg,
.nxProgressAdvanced .nxCompareActions button[data-journey-evaluate="1"] .nxCompareActionIcon,
.nxProgressAdvanced .nxCompareActions button[data-journey-evaluate="1"] svg{
  color:#FFFFFF !important;
  stroke:#FFFFFF !important;
}
.nxProgressAdvanced .nxCompareActions .nxJourneyEvaluate[data-journey-evaluate="1"]::before,
.nxProgressAdvanced .nxCompareActions .nxJourneyEvaluate[data-journey-evaluate="1"]::after,
.nxProgressAdvanced .nxCompareActions button[data-journey-evaluate="1"]::before,
.nxProgressAdvanced .nxCompareActions button[data-journey-evaluate="1"]::after{
  border-radius:999px !important;
}
.nxProgressAdvanced .nxCompareActions .nxJourneyEvaluate[data-journey-evaluate="1"]::before,
.nxProgressAdvanced .nxCompareActions button[data-journey-evaluate="1"]::before{
  border:2px solid rgba(249,110,70,.26) !important;
}
.nxProgressAdvanced .nxCompareActions .nxJourneyEvaluate[data-journey-evaluate="1"]::after,
.nxProgressAdvanced .nxCompareActions button[data-journey-evaluate="1"]::after{
  border:2px solid rgba(249,110,70,.14) !important;
}


/* FIX151 — Assistiti mobile: visualizzazione unica a card, nessuna icona vista. Desktop invariato. */
@media (max-width:760px){
  /* Nasconde soltanto su mobile i comandi Elenco / Griglia. */
  .nutritionDirectoryApproved .nutritionToolbarApproved > .nutritionViewSwitch{
    display:none!important;
  }

  /* Toolbar mobile: restano ricerca, filtri e il solo pulsante filtro. */
  .nutritionDirectoryApproved .nutritionToolbarApproved{
    display:block!important;
    padding:14px!important;
  }
  .nutritionDirectoryApproved .nutritionFiltersApproved{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:12px!important;
    width:100%!important;
  }
  .nutritionDirectoryApproved .nutritionSearchFieldApproved{
    grid-column:1/-1!important;
    width:100%!important;
    min-width:0!important;
  }
  .nutritionDirectoryApproved .nutritionFiltersApproved > select{
    width:100%!important;
    min-width:0!important;
  }
  .nutritionDirectoryApproved .nutritionFiltersApproved .nutritionFilterButtonApproved{
    grid-column:1!important;
    grid-row:auto!important;
    justify-self:start!important;
    width:52px!important;
    min-width:52px!important;
    max-width:52px!important;
    height:52px!important;
    min-height:52px!important;
    margin:0!important;
  }
  .nutritionDirectoryApproved .nutritionFiltersApproved .nutritionResetButton{
    grid-column:2!important;
    grid-row:auto!important;
    align-self:center!important;
    margin:0!important;
  }

  /* Unica vista mobile: card, una per riga. */
  .nutritionDirectoryApproved .nutritionClientCardsApproved,
  .nutritionDirectoryApproved .nutritionClientCardsApproved.is-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    padding:10px!important;
    background:#f8fbf9!important;
  }
  .nutritionDirectoryApproved .nutritionClientCardsApproved .nutritionClientCardApproved,
  .nutritionDirectoryApproved .nutritionClientCardsApproved.is-grid .nutritionClientCardApproved{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:16px!important;
    width:100%!important;
    min-width:0!important;
    padding:18px!important;
    border:1px solid #e2e9e6!important;
    border-radius:16px!important;
    background:#fff!important;
    box-shadow:0 8px 24px rgba(30,50,43,.035)!important;
    overflow:visible!important;
  }
  .nutritionDirectoryApproved .nutritionClientCardsApproved .nutritionClientIdentityApproved,
  .nutritionDirectoryApproved .nutritionClientCardsApproved .nutritionClientMetricApproved,
  .nutritionDirectoryApproved .nutritionClientCardsApproved .nutritionClientPlan,
  .nutritionDirectoryApproved .nutritionClientCardsApproved .nutritionClientActionsApproved{
    grid-column:1!important;
    min-width:0!important;
  }
  .nutritionDirectoryApproved .nutritionClientCardsApproved .nutritionClientMetricApproved{
    padding:0!important;
    border:0!important;
  }
  .nutritionDirectoryApproved .nutritionClientCardsApproved .nutritionClientMetric--compact{
    display:none!important;
  }
  .nutritionDirectoryApproved .nutritionClientCardsApproved .nutritionClientPlan{
    margin:0!important;
    padding-top:14px!important;
    border-top:1px solid #edf1ef!important;
  }
  .nutritionDirectoryApproved .nutritionClientCardsApproved .nutritionClientActionsApproved{
    position:static!important;
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:10px!important;
    width:100%!important;
    min-width:0!important;
    overflow:visible!important;
  }
  .nutritionDirectoryApproved .nutritionClientCardsApproved .nutritionClientArchiveForm{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    margin:0!important;
    flex:0 0 auto!important;
  }
  .nutritionDirectoryApproved .nutritionClientCardsApproved .nutritionClientIconAction{
    display:grid!important;
    visibility:visible!important;
    opacity:1!important;
    width:44px!important;
    min-width:44px!important;
    height:44px!important;
    min-height:44px!important;
    flex:0 0 44px!important;
  }
}

@media (max-width:500px){
  .nutritionDirectoryApproved .nutritionFiltersApproved{
    grid-template-columns:1fr!important;
  }
  .nutritionDirectoryApproved .nutritionFiltersApproved .nutritionFilterButtonApproved,
  .nutritionDirectoryApproved .nutritionFiltersApproved .nutritionResetButton{
    grid-column:1!important;
  }
}

/* FIX152 — scheda assistito: data di nascita contenuta nella card SOLO MOBILE */
@media (max-width:760px){
  .nutritionSummaryApproved .nutritionSummaryCard--green>div{
    min-width:0;
    max-width:calc(100% - 60px);
  }
  .nutritionSummaryApproved .nutritionSummaryCard--green .nutritionSummaryMeta{
    max-width:100%;
    line-height:1.25;
  }
  .nutritionSummaryApproved .nutritionSummaryCard--green .nutritionBirthDateValue{
    display:block;
    width:max-content;
    max-width:100%;
    margin-top:2px;
    font-size:10px;
    line-height:1.2;
    letter-spacing:-.02em;
    white-space:nowrap;
  }
}

/* FIX153 — scheda assistito: nessun testo/data può uscire dalle 4 card riepilogo SOLO MOBILE */
@media (max-width:760px){
  .nutritionSummaryApproved .nutritionSummaryCard{
    display:grid!important;
    grid-template-columns:42px minmax(0,1fr)!important;
    align-items:center!important;
    column-gap:10px!important;
    row-gap:0!important;
    padding:14px 12px!important;
    min-width:0!important;
    overflow:hidden!important;
  }
  .nutritionSummaryApproved .nutritionSummaryIcon{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    flex-basis:42px!important;
  }
  .nutritionSummaryApproved .nutritionSummaryIcon svg{
    width:22px!important;
    height:22px!important;
  }
  .nutritionSummaryApproved .nutritionSummaryCard>div{
    min-width:0!important;
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
  }
  .nutritionSummaryApproved .nutritionSummaryCard small,
  .nutritionSummaryApproved .nutritionSummaryCard strong,
  .nutritionSummaryApproved .nutritionSummaryMeta{
    max-width:100%!important;
  }
  .nutritionSummaryApproved .nutritionSummaryCard small{
    display:block!important;
    font-size:12px!important;
    line-height:1.15!important;
    overflow-wrap:anywhere!important;
  }
  .nutritionSummaryApproved .nutritionSummaryCard strong{
    display:block!important;
    min-width:0!important;
    font-size:19px!important;
    line-height:1.05!important;
    letter-spacing:-.025em!important;
    white-space:nowrap!important;
  }
  .nutritionSummaryApproved .nutritionSummaryMeta{
    display:block!important;
    font-size:11px!important;
    line-height:1.25!important;
    overflow-wrap:anywhere!important;
  }
  /* Le date complete gg/mm/aaaa sono le stringhe più lunghe: riduzione mirata. */
  .nutritionSummaryApproved .nutritionSummaryCard--purple strong{
    font-size:16px!important;
    letter-spacing:-.045em!important;
  }
  .nutritionSummaryApproved .nutritionSummaryCard--green .nutritionBirthDateValue{
    display:block!important;
    width:auto!important;
    max-width:100%!important;
    margin-top:2px!important;
    font-size:11px!important;
    line-height:1.15!important;
    letter-spacing:-.03em!important;
    white-space:nowrap!important;
  }
}

/* Sui telefoni più stretti manteniamo comunque le 2 colonne senza sforamenti. */
@media (max-width:480px){
  .nutritionSummaryApproved.nxSummary{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .nutritionSummaryApproved .nutritionSummaryCard{
    grid-template-columns:38px minmax(0,1fr)!important;
    column-gap:8px!important;
    padding:13px 10px!important;
  }
  .nutritionSummaryApproved .nutritionSummaryIcon{
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    flex-basis:38px!important;
  }
  .nutritionSummaryApproved .nutritionSummaryIcon svg{
    width:20px!important;
    height:20px!important;
  }
  .nutritionSummaryApproved .nutritionSummaryCard strong{
    font-size:18px!important;
  }
  .nutritionSummaryApproved .nutritionSummaryCard--purple strong{
    font-size:15px!important;
    letter-spacing:-.05em!important;
  }
  .nutritionSummaryApproved .nutritionSummaryMeta,
  .nutritionSummaryApproved .nutritionSummaryCard--green .nutritionBirthDateValue{
    font-size:10.5px!important;
  }
}

/* FIX154 — tipografia card riepilogo mobile più leggibile, senza sforamenti */
@media (max-width:760px){
  .nutritionSummaryApproved .nutritionSummaryCard small{
    font-size:13px!important;
    line-height:1.15!important;
  }
  .nutritionSummaryApproved .nutritionSummaryMeta{
    font-size:12px!important;
    line-height:1.25!important;
  }
  .nutritionSummaryApproved .nutritionSummaryCard--purple strong{
    font-size:18px!important;
    line-height:1.05!important;
    letter-spacing:-.055em!important;
  }
  .nutritionSummaryApproved .nutritionSummaryCard--green .nutritionBirthDateValue{
    font-size:12px!important;
    line-height:1.15!important;
    letter-spacing:-.025em!important;
  }
}
@media (max-width:480px){
  .nutritionSummaryApproved .nutritionSummaryCard small{
    font-size:13px!important;
  }
  .nutritionSummaryApproved .nutritionSummaryMeta,
  .nutritionSummaryApproved .nutritionSummaryCard--green .nutritionBirthDateValue{
    font-size:12px!important;
  }
  .nutritionSummaryApproved .nutritionSummaryCard--purple strong{
    font-size:18px!important;
    letter-spacing:-.06em!important;
  }
}

/* FIX155 — mobile: confronti e parametri in menu a tendina compatti */
.nxProgressAdvanced .nxCompareMobileChooser{display:none}
@media(max-width:720px){
  .nxProgressAdvanced .nxCompareFiltersMulti{
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-areas:"periods" "params" "button"!important;
    gap:10px!important;
    padding:10px!important;
    overflow:hidden!important;
  }
  .nxProgressAdvanced .nxCompareDesktopOnly{display:none!important}
  .nxProgressAdvanced .nxComparePeriodsHead{display:none!important}
  .nxProgressAdvanced .nxComparePeriods,
  .nxProgressAdvanced .nxCompareParams{min-width:0!important;width:100%!important}
  .nxProgressAdvanced .nxCompareParams{
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
  }
  .nxProgressAdvanced .nxCompareMobileChooser{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    border:1px solid #dce6e1!important;
    border-radius:14px!important;
    background:#fff!important;
    overflow:hidden!important;
    box-shadow:0 1px 2px rgba(16,24,40,.03)!important;
  }
  .nxProgressAdvanced .nxCompareMobileChooser>summary{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    min-height:62px!important;
    padding:11px 42px 11px 14px!important;
    list-style:none!important;
    cursor:pointer!important;
    color:#263844!important;
    background:#fff!important;
    user-select:none!important;
  }
  .nxProgressAdvanced .nxCompareMobileChooser>summary::-webkit-details-marker{display:none!important}
  .nxProgressAdvanced .nxCompareMobileChooser>summary::after{
    content:'⌄'!important;
    position:absolute!important;
    right:15px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    color:#506171!important;
    font-size:18px!important;
    line-height:1!important;
    transition:transform .18s ease!important;
  }
  .nxProgressAdvanced .nxCompareMobileChooser[open]>summary::after{transform:translateY(-50%) rotate(180deg)!important}
  .nxProgressAdvanced .nxCompareMobileChooser>summary>span{
    display:grid!important;
    gap:3px!important;
    min-width:0!important;
  }
  .nxProgressAdvanced .nxCompareMobileChooser>summary strong{
    color:#263844!important;
    font-size:13px!important;
    font-weight:800!important;
    letter-spacing:0!important;
    text-transform:none!important;
    line-height:1.2!important;
  }
  .nxProgressAdvanced .nxCompareMobileChooser>summary small{
    color:#7b8798!important;
    font-size:11px!important;
    font-weight:600!important;
    line-height:1.25!important;
  }
  .nxProgressAdvanced .nxCompareMobileChooser>summary em{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:42px!important;
    height:28px!important;
    padding:0 8px!important;
    border-radius:999px!important;
    background:#eef9f2!important;
    color:#168947!important;
    font-size:11px!important;
    font-weight:800!important;
    font-style:normal!important;
    white-space:nowrap!important;
  }
  .nxProgressAdvanced .nxCompareMobileMenu{
    min-width:0!important;
    padding:8px!important;
    border-top:1px solid #e6ece9!important;
    background:#fbfdfc!important;
  }
  .nxProgressAdvanced .nxCompareMobileVisitList,
  .nxProgressAdvanced .nxCompareMobileParamList{
    display:grid!important;
    gap:6px!important;
    max-height:286px!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .nxProgressAdvanced .nxCompareMobileMenu label{
    display:grid!important;
    grid-template-columns:22px minmax(0,1fr)!important;
    align-items:center!important;
    gap:10px!important;
    width:100%!important;
    min-width:0!important;
    min-height:48px!important;
    margin:0!important;
    padding:9px 11px!important;
    border:1px solid #e1e9e5!important;
    border-radius:11px!important;
    background:#fff!important;
    color:#3f5062!important;
    font-size:12px!important;
    font-weight:700!important;
    line-height:1.25!important;
    box-shadow:none!important;
  }
  .nxProgressAdvanced .nxCompareMobileMenu label:has(input:checked){
    border-color:#92d0a7!important;
    background:#eef9f2!important;
    color:#168947!important;
  }
  .nxProgressAdvanced .nxCompareMobileMenu label:has(input:disabled):not(:has(input:checked)){
    opacity:.45!important;
  }
  .nxProgressAdvanced .nxCompareMobileMenu input[type="checkbox"]{
    width:20px!important;
    height:20px!important;
    min-width:20px!important;
    margin:0!important;
    accent-color:#16964c!important;
  }
  .nxProgressAdvanced .nxCompareMobileMenu label span{
    display:block!important;
    min-width:0!important;
    overflow-wrap:anywhere!important;
  }
  .nxProgressAdvanced .nxCompareMobileSelectAll{
    position:sticky!important;
    top:0!important;
    z-index:2!important;
    margin:0 0 7px!important;
    min-height:46px!important;
    border-color:#b9ddc5!important;
    background:#f2faf5!important;
    color:#168947!important;
  }
  .nxProgressAdvanced .nxCompareActions{
    width:100%!important;
    min-width:0!important;
    justify-content:flex-start!important;
    padding-top:2px!important;
  }
}

/* ========================================================================== */
/* FIX156 — Piani alimentari: archivio generale + editor collegato assistito   */
/* ========================================================================== */
.nutritionPlansHub,.nutritionPlanCreate,.nutritionPlanEditor{max-width:1440px;margin:0 auto;padding:4px 0 36px;color:#172033}
.nutritionPlansHubHead,.nutritionPlanCreateHead,.nutritionPlanEditorHead{display:flex;align-items:center;gap:18px;justify-content:space-between;margin:0 0 24px}
.nutritionPlansHubHead>div:first-child,.nutritionPlanCreateHead>div,.nutritionPlanEditorHead>div{min-width:0}
.nutritionPlansHubHead .eyebrow,.nutritionPlanCreateHead .eyebrow,.nutritionPlanEditorHead .eyebrow{color:#15984c;margin:0 0 7px;font-size:12px;letter-spacing:.13em;font-weight:800}
.nutritionPlansHubHead h2,.nutritionPlanCreateHead h2,.nutritionPlanEditorHead h2{margin:0;font-size:34px;line-height:1.1;color:#172033}
.nutritionPlansHubHead p:last-child,.nutritionPlanCreateHead p:last-child,.nutritionPlanEditorHead p:last-child{margin:8px 0 0;color:#708095}
.nutritionPlanPrimary{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 20px;border-radius:16px;background:#159a4d;color:#fff!important;text-decoration:none;font-weight:800;box-shadow:0 10px 24px rgba(21,154,77,.18)}
.nutritionPlanPrimary span{font-size:24px;font-weight:500;line-height:1}
.nutritionPlanStats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0 0 22px}
.nutritionPlanStats article{min-height:128px;padding:22px;border:1px solid #e0e8e4;border-radius:22px;background:#fff;display:flex;flex-direction:column;justify-content:center;box-shadow:0 9px 28px rgba(31,54,45,.04)}
.nutritionPlanStats small{font-weight:750;color:#6e7d91}.nutritionPlanStats strong{font-size:34px;line-height:1.05;margin:7px 0 6px;color:#172033}.nutritionPlanStats span{font-size:13px;color:#15984c}
.nutritionPlanArchive{padding:22px;border-radius:24px;background:#fff}
.nutritionPlanFilters{display:grid;grid-template-columns:minmax(260px,1fr) 210px 52px auto;gap:12px;align-items:center;margin-bottom:20px}
.nutritionPlanSearch{position:relative;display:block}.nutritionPlanSearch svg{position:absolute;left:17px;top:50%;transform:translateY(-50%);width:20px;height:20px;fill:none;stroke:#6c7b8f;stroke-width:1.9;pointer-events:none}.nutritionPlanSearch input{padding-left:48px!important}
.nutritionPlanFilters input,.nutritionPlanFilters select{height:52px;border:1px solid #dbe5e0;border-radius:15px;background:#fff;color:#233245}
.nutritionPlanFilterButton{width:52px;height:52px;padding:0;border-radius:15px;background:#fff;color:#29414a;border:1px solid #d4e0da;display:flex;align-items:center;justify-content:center}.nutritionPlanFilterButton svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}
.nutritionPlanCards{display:grid;gap:12px}.nutritionPlanCard{display:grid;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:15px;padding:16px;border:1px solid #e1e9e5;border-radius:18px;background:#fff;transition:border-color .16s ease,box-shadow .16s ease}.nutritionPlanCard:hover{border-color:#bcdccb;box-shadow:0 10px 26px rgba(35,64,52,.06)}
.nutritionPlanCardIcon{width:52px;height:52px;border-radius:15px;display:flex;align-items:center;justify-content:center}.nutritionPlanCardIcon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8}.nutritionPlanCardIcon.is-structured{background:#e8f7ee;color:#15984c}.nutritionPlanCardIcon.is-pdf{background:#eef3f8;color:#52697b}
.nutritionPlanCardMain{min-width:0}.nutritionPlanCardTop{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.nutritionPlanCardTop strong{font-size:17px;color:#172033}.nutritionPlanCardMain>a{display:inline-block;margin-top:5px;color:#15984c!important;font-weight:750;text-decoration:none}.nutritionPlanCardMain small{display:block;margin-top:4px;color:#798598}
.nutritionPlanStatus{display:inline-flex;align-items:center;min-height:25px;padding:0 9px;border-radius:999px;font-size:11px!important;font-weight:800}.nutritionPlanStatus--published{background:#e9f8ef;color:#128b43}.nutritionPlanStatus--draft{background:#fff3dc;color:#9d6910}
.nutritionPlanCardActions{display:flex;gap:8px}.nutritionPlanCardActions a{width:44px;height:44px;border:1px solid #dce6e1;border-radius:13px;display:flex;align-items:center;justify-content:center;color:#29414a!important;background:#fff}.nutritionPlanCardActions a:hover{background:#f2f8f5}.nutritionPlanCardActions svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.nutritionPlanEmpty{min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#768498}.nutritionPlanEmpty>span{font-size:45px;color:#15984c}.nutritionPlanEmpty strong{margin-top:8px;font-size:20px;color:#172033}.nutritionPlanEmpty p{margin:5px 0 0}

.nutritionPlanCreateHead{justify-content:flex-start}.nutritionPlanCreateForm{display:grid;gap:16px;max-width:1050px;margin:0 auto}.nutritionPlanCreateCard{padding:24px;border:1px solid #e0e8e4;border-radius:22px;background:#fff}.nutritionPlanCreateCard h3{margin:0 0 18px;font-size:20px;color:#172033}.nutritionPlanSelectedClient{display:flex;align-items:center;gap:15px;padding:15px;border:1px solid #cde7d8;background:#f5fbf7;border-radius:16px}.nutritionPlanSelectedClient>span{width:48px;height:48px;border-radius:50%;background:#e2f6ea;color:#15984c;display:flex;align-items:center;justify-content:center;font-weight:850}.nutritionPlanSelectedClient strong{display:block;font-size:17px}.nutritionPlanSelectedClient small{display:block;margin-top:4px;color:#6f7f91}
.nutritionPlanTypeChoices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.nutritionPlanTypeChoices label,.nutritionPlanSourceChoices label{position:relative;cursor:pointer}.nutritionPlanTypeChoices input,.nutritionPlanSourceChoices input{position:absolute;opacity:0;pointer-events:none}.nutritionPlanTypeChoices label>span{display:block;min-height:104px;padding:18px;border:1px solid #dfe7e3;border-radius:17px;background:#fff}.nutritionPlanTypeChoices b,.nutritionPlanTypeChoices small{display:block}.nutritionPlanTypeChoices b{font-size:16px;color:#243244}.nutritionPlanTypeChoices small{margin-top:5px;color:#7c8898;line-height:1.45}.nutritionPlanTypeChoices input:checked+span{border-color:#63bd88;background:#f2fbf5;box-shadow:inset 0 0 0 1px #63bd88}.nutritionPlanTypeChoices input:checked+span b{color:#128d45}
.nutritionPlanSourceChoices{display:grid;grid-template-columns:repeat(2,minmax(0,220px));gap:12px}.nutritionPlanSourceChoices label{min-height:104px;padding:17px;border:1px solid #dfe7e3;border-radius:17px;background:#fff;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:6px}.nutritionPlanSourceChoices label>span{font-size:24px;color:#15984c}.nutritionPlanSourceChoices label>b{font-size:15px}.nutritionPlanSourceChoices label:has(input:checked){border-color:#63bd88;background:#f2fbf5;box-shadow:inset 0 0 0 1px #63bd88}
.nutritionPlanCreateGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.nutritionPlanCreateGrid label,.nutritionPlanEditorSettings label{display:flex;flex-direction:column;gap:7px;font-weight:750;color:#607086;font-size:13px}.nutritionPlanCreateGrid input,.nutritionPlanCreateGrid select,.nutritionPlanCreateGrid textarea,.nutritionPlanEditorSettings input,.nutritionPlanEditorSettings select,.nutritionPlanEditorSettings textarea{border:1px solid #dce5e1;border-radius:13px;background:#fff;color:#172033}.nutritionPlanWide{grid-column:1/-1}.nutritionPlanCreateActions,.nutritionPlanEditorActions{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding-top:5px}.nutritionPlanCreateActions button,.nutritionPlanEditorActions button{min-height:50px;border-radius:14px;padding:0 22px;font-weight:800}

.nutritionPlanEditorHead{justify-content:flex-start}.nutritionPlanEditorHead .nutritionPlanPatientLink{margin-left:auto;display:inline-flex;align-items:center;min-height:46px;padding:0 16px;border:1px solid #dce6e1;border-radius:14px;background:#fff;color:#15984c!important;text-decoration:none;font-weight:800}.nutritionPlanEditorForm{display:grid;gap:18px}.nutritionPlanEditorSettings{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:12px;padding:18px;border:1px solid #e0e8e4;border-radius:20px;background:#fff}.nutritionPlanEditorSettings .nutritionPlanWide{grid-column:1/-1}
.nutritionPlanDays{display:flex;gap:10px;overflow:auto;padding:2px 1px 8px}.nutritionPlanDays a{flex:0 0 72px;min-height:66px;border:1px solid #dfe7e3;border-radius:18px;background:#fff;color:#334356!important;text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center}.nutritionPlanDays a strong{font-size:13px}.nutritionPlanDays a small{margin-top:3px;color:#7b8797}.nutritionPlanDays a.active{background:#15984c;border-color:#15984c;color:#fff!important;box-shadow:0 8px 18px rgba(21,152,76,.18)}.nutritionPlanDays a.active small{color:#eafff0}
.nutritionPlanEditorLayout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}.nutritionPlanMeals{display:grid;gap:13px}.nutritionMealCard{border:1px solid #e0e8e4;border-radius:20px;background:#fff;overflow:hidden}.nutritionMealCard>header{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;padding:15px 17px;background:#fff}.nutritionMealIcon{width:42px;height:42px;border-radius:13px;background:#eef9f2;color:#15984c;display:flex;align-items:center;justify-content:center;font-size:20px}.nutritionMealCard>header strong{display:block;font-size:16px}.nutritionMealCard>header small{display:block;margin-top:2px;color:#8190a0}.nutritionMealCard>header>b{font-size:14px;color:#425365}.nutritionMealRows{border-top:1px solid #edf1ef}.nutritionMealRow{display:grid;grid-template-columns:minmax(150px,2fr) 70px 72px 68px 58px 58px 58px 68px 34px;gap:8px;align-items:end;padding:11px 14px;border-bottom:1px solid #edf1ef}.nutritionMealRow label{display:flex;flex-direction:column;gap:4px;min-width:0}.nutritionMealRow label>span{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#8a96a6;font-weight:800}.nutritionMealRow input{width:100%;height:38px;padding:0 9px;border:1px solid #dfe7e3;border-radius:10px;background:#fff;color:#172033;font-size:13px}.nutritionMealRemove{width:34px;height:38px;padding:0;border:0;border-radius:10px;background:#fff1ee;color:#cc5d4e;font-size:19px}.nutritionAddFood{margin:12px 14px 14px;min-height:42px;padding:0 15px;border:1px dashed #8ecba7;border-radius:12px;background:#f5fbf7;color:#15984c;font-weight:800}
.nutritionPlanAnalysis{position:sticky;top:18px;display:grid;gap:12px}.nutritionPlanAnalysisCard,.nutritionPlanAnalysisInfo{padding:20px;border:1px solid #e0e8e4;border-radius:20px;background:#fff}.nutritionPlanAnalysisCard>.eyebrow{margin:0 0 8px;color:#738197;font-size:11px}.nutritionPlanAnalysisCard>strong{font-size:34px;color:#172033}.nutritionPlanAnalysisCard>strong small{font-size:15px;color:#637287}.nutritionPlanAnalysisCard>p{margin:5px 0 15px;color:#758297;font-size:13px}.nutritionMacroGrid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.nutritionMacroGrid span{padding:11px;border-radius:12px;background:#f6f9f7}.nutritionMacroGrid b,.nutritionMacroGrid small{display:block}.nutritionMacroGrid b{font-size:17px;color:#15984c}.nutritionMacroGrid small{margin-top:2px;color:#738196;font-size:10px}.nutritionPlanAnalysisInfo{background:#f4fbf6;border-color:#cde8d7}.nutritionPlanAnalysisInfo strong{color:#15984c}.nutritionPlanAnalysisInfo p{margin:6px 0 0;color:#5f7869;font-size:12px;line-height:1.55}

.nxPlanCreateBox{display:grid;gap:12px}.nxPlanCreateStructured{display:flex;align-items:center;gap:14px;min-height:96px;padding:18px 20px;border:1px solid #bfe2ce;border-radius:24px;background:#f5fbf7;color:#172033!important;text-decoration:none}.nxPlanCreateStructured>span{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#15984c;color:#fff;font-size:25px}.nxPlanCreateStructured strong,.nxPlanCreateStructured small{display:block}.nxPlanCreateStructured strong{color:#15984c;font-size:18px}.nxPlanCreateStructured small{margin-top:4px;color:#708095;line-height:1.45}.nxPlanCreateBox .nxUploadPlan{border-radius:24px}

@media(max-width:1100px){.nutritionPlanStats{grid-template-columns:repeat(2,1fr)}.nutritionPlanEditorSettings{grid-template-columns:repeat(2,minmax(0,1fr))}.nutritionPlanEditorLayout{grid-template-columns:1fr}.nutritionPlanAnalysis{position:static}.nutritionMealRow{grid-template-columns:minmax(150px,2fr) 70px 70px 64px 55px 55px 55px 64px 34px;overflow-x:auto}.nutritionPlanAnalysisCard{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px}.nutritionMacroGrid{grid-column:1/-1;grid-template-columns:repeat(4,1fr)}}
@media(max-width:760px){
  .nutritionPlansHub,.nutritionPlanCreate,.nutritionPlanEditor{padding:0 0 28px}
  .nutritionPlansHubHead,.nutritionPlanCreateHead,.nutritionPlanEditorHead{align-items:flex-start;gap:12px;margin-bottom:18px}.nutritionPlansHubHead h2,.nutritionPlanCreateHead h2,.nutritionPlanEditorHead h2{font-size:27px}.nutritionPlansHubHead p:last-child,.nutritionPlanCreateHead p:last-child{font-size:14px;line-height:1.5}.nutritionPlanPrimary{min-height:46px;padding:0 14px;border-radius:14px;font-size:13px;white-space:nowrap}
  .nutritionPlanStats{grid-template-columns:1fr 1fr;gap:10px}.nutritionPlanStats article{min-height:106px;padding:16px;border-radius:18px}.nutritionPlanStats strong{font-size:28px}.nutritionPlanStats span{font-size:11px}
  .nutritionPlanArchive{padding:14px;border-radius:20px}.nutritionPlanFilters{grid-template-columns:1fr 52px;gap:9px}.nutritionPlanFilters .nutritionPlanSearch{grid-column:1/-1}.nutritionPlanFilters select{min-width:0}.nutritionPlanFilters .button.subtle{grid-column:1/-1;text-align:center}.nutritionPlanCard{grid-template-columns:48px minmax(0,1fr);gap:12px;padding:14px}.nutritionPlanCardIcon{width:46px;height:46px;border-radius:13px}.nutritionPlanCardActions{grid-column:1/-1;justify-content:flex-end;border-top:1px solid #edf1ef;padding-top:10px}.nutritionPlanCardTop strong{font-size:16px}.nutritionPlanCardMain small{font-size:12px}
  .nutritionPlanCreateHead,.nutritionPlanEditorHead{display:grid;grid-template-columns:48px minmax(0,1fr)}.nutritionPlanCreateHead .nxCircle,.nutritionPlanEditorHead .nxCircle{grid-row:1/3}.nutritionPlanEditorHead .nutritionPlanPatientLink{grid-column:2;margin:2px 0 0;justify-self:start;min-height:38px;font-size:12px}.nutritionPlanCreateCard{padding:18px;border-radius:19px}.nutritionPlanCreateCard h3{font-size:18px}.nutritionPlanTypeChoices{grid-template-columns:1fr}.nutritionPlanTypeChoices label>span{min-height:80px}.nutritionPlanSourceChoices{grid-template-columns:1fr 1fr}.nutritionPlanCreateGrid{grid-template-columns:1fr}.nutritionPlanWide{grid-column:1}.nutritionPlanCreateActions{display:grid;grid-template-columns:1fr 1fr}.nutritionPlanCreateActions>*{width:100%;text-align:center}
  .nutritionPlanEditorSettings{grid-template-columns:1fr 1fr;padding:14px;gap:10px}.nutritionPlanEditorSettings label:first-child,.nutritionPlanEditorSettings .nutritionPlanWide{grid-column:1/-1}.nutritionPlanDays a{flex-basis:62px;min-height:60px;border-radius:16px}.nutritionPlanEditorLayout{gap:14px}.nutritionMealCard{border-radius:18px}.nutritionMealCard>header{grid-template-columns:40px minmax(0,1fr) auto;padding:13px}.nutritionMealIcon{width:38px;height:38px}.nutritionMealCard>header>b{font-size:12px}.nutritionMealRows{overflow-x:auto}.nutritionMealRow{min-width:760px;grid-template-columns:180px 70px 70px 65px 55px 55px 55px 65px 34px;padding:10px 12px}.nutritionMealRow input{height:36px}.nutritionPlanAnalysisCard{display:block}.nutritionMacroGrid{grid-template-columns:1fr 1fr}.nutritionPlanEditorActions{position:sticky;bottom:0;z-index:6;display:grid;grid-template-columns:1fr 1fr;padding:12px 0 max(12px,env(safe-area-inset-bottom));background:linear-gradient(to top,#f7faf8 78%,rgba(247,250,248,0))}.nutritionPlanEditorActions>a{display:none}.nutritionPlanEditorActions button{min-width:0;padding:0 12px;font-size:13px}.nxPlanCreateStructured{min-height:88px;padding:15px;border-radius:20px}.nxPlanCreateStructured strong{font-size:16px}.nxPlanCreateStructured small{font-size:12px}
}

/* ========================================================================== */
/* FIX157 — database alimenti USDA + autocomplete + valori automatici          */
/* ========================================================================== */
.nutritionFoodSearch{position:relative}
.nutritionFoodSource{display:block;margin-top:3px;color:#7b8797;font-size:10px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nutritionFoodSuggestions{position:absolute;z-index:40;top:100%;left:0;right:0;margin-top:6px;padding:6px;border:1px solid #dce6e1;border-radius:14px;background:#fff;box-shadow:0 18px 42px rgba(28,51,43,.16);max-height:320px;overflow:auto}
.nutritionFoodSuggestions button{display:grid;width:100%;gap:2px;padding:10px 11px;border:0;border-bottom:1px solid #eef2f0;background:#fff;text-align:left;color:#1d2b3c;border-radius:9px}
.nutritionFoodSuggestions button:last-child{border-bottom:0}
.nutritionFoodSuggestions button:hover,.nutritionFoodSuggestions button:focus{background:#f2faf5;outline:none}
.nutritionFoodSuggestions strong{font-size:12px;line-height:1.3}
.nutritionFoodSuggestions small{font-size:10px;color:#7c8999;line-height:1.3}
.nutritionFoodSuggestions em{font-size:10px;color:#168f49;font-style:normal;font-weight:750;line-height:1.35}
.nutritionFoodMessage{padding:11px;color:#6f7d8f;font-size:11px;line-height:1.4}
.nutritionMealRow select{width:100%;height:38px;padding:0 8px;border:1px solid #dfe7e3;border-radius:10px;background:#fff;color:#172033;font-size:13px}
.nutritionAutoNutrient input[readonly]{background:#f5f8f6;color:#1f3d31;font-weight:750;border-color:#e2e9e5}
.nutritionMicroCard{padding:18px;border:1px solid #e0e8e4;border-radius:20px;background:#fff}
.nutritionMicroHead{display:flex;justify-content:space-between;gap:12px;align-items:end;margin-bottom:12px}
.nutritionMicroHead strong{color:#172033;font-size:15px}.nutritionMicroHead small{color:#7b8797;font-size:10px}
.nutritionMicroGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.nutritionMicroGrid>span:not(.nutritionMicroEmpty){display:grid;gap:3px;padding:9px 10px;border-radius:11px;background:#f6f9f7}
.nutritionMicroGrid b{font-size:10px;color:#6d7b8d}.nutritionMicroGrid strong{font-size:13px;color:#15984c}.nutritionMicroGrid strong small{font-size:9px;color:#738196}
.nutritionMicroEmpty{grid-column:1/-1;color:#7b8797;font-size:11px;line-height:1.45}
@media(max-width:760px){
  .nutritionFoodSuggestions{position:fixed;left:16px;right:16px;top:auto;bottom:calc(82px + env(safe-area-inset-bottom));max-height:44vh;border-radius:18px;box-shadow:0 18px 50px rgba(22,42,35,.22)}
  .nutritionFoodSuggestions button{padding:12px}.nutritionFoodSuggestions strong{font-size:13px}.nutritionFoodSuggestions small,.nutritionFoodSuggestions em{font-size:11px}
  .nutritionMicroGrid{grid-template-columns:1fr 1fr}
}


/* FIX158 — ricerca alimenti italiana e priorità fonti USDA */
.nutritionFoodMeta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:1px}
.nutritionFoodType{display:inline-flex!important;width:max-content;padding:3px 7px;border-radius:999px;font-weight:800!important;letter-spacing:.01em}
.nutritionFoodType.generic{background:#e8f7ee;color:#118b48!important}
.nutritionFoodType.commercial{background:#fff4e4;color:#b86c00!important}
.nutritionFoodBrand{color:#7c8999!important}
.nutritionFoodOriginal{display:block;color:#9aa4b0!important;font-size:9px!important;white-space:normal;overflow-wrap:anywhere}
@media(max-width:760px){.nutritionFoodOriginal{font-size:10px!important}.nutritionFoodType{padding:4px 8px}}


/* FIX160 — piano reale: alimenti, preparazioni, indicazioni e alternative */
.nutritionMealRow{grid-template-columns:68px 104px minmax(170px,2fr) 66px 78px 64px 54px 54px 54px 64px 34px}
.nutritionItemRelation select,.nutritionItemType select{font-weight:750}
.nutritionItemRelation select{padding-left:7px;padding-right:5px;text-align:center}
.nutritionMealRow.is-alternative{background:#fbfcfb;border-left:3px solid #dfe8e3}
.nutritionMealRow.is-alternative .nutritionItemRelation select{font-size:11px;font-weight:800}
.nutritionMealRow--preparation{background:#fffdfa}
.nutritionMealRow--preparation .nutritionFoodSource{color:#8b6d45}
.nutritionMealRow--instruction{grid-template-columns:68px 104px minmax(240px,1fr) 34px;background:#f8faf9}
.nutritionMealRow--instruction .nutritionQty,.nutritionMealRow--instruction .nutritionUnit,.nutritionMealRow--instruction .nutritionAutoNutrient{display:none}
.nutritionMealRow--instruction .nutritionFoodSource{color:#718076}
.nutritionAddEntryGroup{display:flex;flex-wrap:wrap;gap:8px;padding:12px 14px 14px}
.nutritionAddEntryGroup .nutritionAddFood{margin:0;min-height:40px}
.nutritionAddFood--secondary{border-color:#cddbd3;background:#fff;color:#40544a}
.nutritionAddFood--secondary:hover{border-color:#9fc0ad;background:#f7fbf8;color:#1d7f47}
@media(max-width:1100px){.nutritionMealRow{grid-template-columns:68px 104px minmax(170px,2fr) 66px 78px 64px 54px 54px 54px 64px 34px}.nutritionMealRow--instruction{grid-template-columns:68px 104px minmax(240px,1fr) 34px}}
@media(max-width:700px){.nutritionMealRow{min-width:930px}.nutritionMealRow--instruction{min-width:620px}.nutritionAddEntryGroup{display:grid;grid-template-columns:1fr 1fr}.nutritionAddEntryGroup .nutritionAddFood:first-child{grid-column:1/-1}}

/* FIX161 — CREA-ready: nessuna variazione grafica rispetto a FIX160. */

/* FIX162 — target macro live + equivalenze */
.nutritionPlanTypeChoices{grid-template-columns:repeat(3,minmax(0,1fr))}
.nutritionPlanEditorSettings{grid-template-columns:2fr 1fr 1fr 1fr 1fr}
.nutritionMealRow{grid-template-columns:68px 112px 104px minmax(170px,2fr) 66px 78px 64px 54px 54px 54px 64px 34px}
.nutritionEquivalenceTools{display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:5px;align-items:end}
.nutritionEquivalenceTools label{min-width:0}
.nutritionEquivalenceTools select{font-size:10px;padding:0 5px}
.nutritionEquivalenceTools button{width:34px;height:38px;padding:0;border:1px solid #b8ddc7;border-radius:10px;background:#eef9f2;color:#128d45;font-size:20px;font-weight:800;cursor:pointer}
.nutritionMealRow:not(.can-equivalence) .nutritionEquivalenceTools{visibility:hidden;pointer-events:none}
.nutritionMealRow--instruction .nutritionEquivalenceTools{display:none}
.nutritionMealRow--instruction{grid-template-columns:68px 104px minmax(240px,1fr) 34px}
.nutritionMealRow.equivalence-updated{box-shadow:inset 4px 0 0 #15984c;background:#f3fbf6}
.nutritionFoodSource.is-warning{color:#bf6d00!important;font-weight:750}
.nutritionTargetProgress{display:grid;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid #edf1ef}
.nutritionTargetProgressTitle{margin:0!important;font-size:11px!important;font-weight:850!important;text-transform:uppercase;letter-spacing:.05em;color:#718096!important}
.nutritionTargetRow{display:grid;gap:5px}
.nutritionTargetRow>div:first-child{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}
.nutritionTargetRow span{font-size:12px;font-weight:800;color:#34465a}
.nutritionTargetRow small{font-size:10px;color:#7b8999;text-align:right}
.nutritionTargetRow small b{color:#485a6f}
.nutritionTargetRow small em{font-style:normal;color:#15984c}
.nutritionTargetTrack{height:7px;overflow:hidden;border-radius:999px;background:#edf2ef}
.nutritionTargetTrack i{display:block;width:0;height:100%;border-radius:inherit;background:#15984c;transition:width .2s ease}
.nutritionTargetRow.is-over .nutritionTargetTrack i{background:#e87517}
.nutritionTargetRow.is-over small em{color:#c76914}
.nutritionTargetRow.is-empty{opacity:.58}
@media(max-width:1100px){.nutritionMealRow{grid-template-columns:68px 112px 104px minmax(170px,2fr) 66px 78px 64px 54px 54px 54px 64px 34px}.nutritionTargetProgress{grid-column:1/-1}}
@media(max-width:700px){.nutritionPlanTypeChoices{grid-template-columns:1fr}.nutritionMealRow{min-width:1050px}.nutritionMealRow--instruction{min-width:620px}.nutritionPlanEditorSettings{grid-template-columns:1fr 1fr}}


/* =========================================================
   FIX163 — PORTALE ASSISTITO NUTRIZIONE · ANTEPRIMA BACKEND
   Namespace dedicato npPortal*: nessuna modifica al backend.
   ========================================================= */
.npPortalBody{margin:0;background:#f4f7f5;color:#162522;font-family:Helvetica,Arial,sans-serif;min-height:100vh}.npPortalBody *{box-sizing:border-box}.npPortalBody a{text-decoration:none;color:inherit}.npPortalPreviewBar{height:38px;background:#173b36;color:#fff;display:flex;align-items:center;justify-content:center;gap:18px;padding:0 24px;font-size:12px;letter-spacing:.02em}.npPortalPreviewBar span{font-size:10px;letter-spacing:.12em;opacity:.72}.npPortalPreviewBar a{margin-left:auto;text-decoration:underline;text-underline-offset:3px}.npPortalShell{min-height:calc(100vh - 38px)}.npPortalHeader{height:84px;background:#fff;border-bottom:1px solid #e6ece9;display:grid;grid-template-columns:240px 1fr 220px;align-items:center;padding:0 max(28px,calc((100vw - 1320px)/2));position:sticky;top:0;z-index:15}.npPortalBrand{display:flex;align-items:center;gap:10px;font-size:20px}.npPortalBrand>span{width:38px;height:38px;border-radius:12px;background:#173b36;color:#fff;display:grid;place-items:center;font-weight:700}.npPortalBrand img{max-width:42px;max-height:42px;object-fit:contain}.npPortalNav{display:flex;justify-content:center;gap:7px}.npPortalNav a{padding:11px 14px;border-radius:12px;color:#697a75;font-size:14px;font-weight:600}.npPortalNav a.active,.npPortalNav a:hover{background:#edf5f1;color:#173b36}.npPortalUser{justify-self:end;display:flex;align-items:center;gap:10px}.npPortalUser>span{width:38px;height:38px;border-radius:50%;background:#dcebe4;color:#173b36;display:grid;place-items:center;font-size:12px;font-weight:700}.npPortalUser div{display:flex;flex-direction:column}.npPortalUser strong{font-size:13px}.npPortalUser small{font-size:11px;color:#82908c;margin-top:2px}.npPortalMain{width:min(1180px,calc(100% - 48px));margin:0 auto;padding:48px 0 80px}.npPortalWelcome{min-height:230px;border-radius:30px;background:linear-gradient(120deg,#e4f1ea,#f8fbf9 62%,#d8ebe1);padding:44px 48px;display:flex;align-items:center;justify-content:space-between;overflow:hidden;position:relative}.npPortalEyebrow,.npPortalWelcome .npPortalEyebrow{margin:0 0 12px;color:#4d786d;font-size:11px;font-weight:800;letter-spacing:.14em}.npPortalWelcome h1,.npPortalPageHead h1{font-size:42px;line-height:1.05;margin:0 0 12px;letter-spacing:-.035em}.npPortalWelcome p:not(.npPortalEyebrow),.npPortalPageHead p:not(.npPortalEyebrow){max-width:620px;color:#657570;font-size:16px;line-height:1.6;margin:0}.npPortalWelcomeMark{width:150px;height:150px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.54);color:#72a290;font-size:62px;box-shadow:0 18px 45px rgba(34,79,67,.08)}.npPortalQuickGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:18px 0 28px}.npPortalMetric{background:#fff;border:1px solid #e6ece9;border-radius:22px;padding:22px 24px;display:flex;flex-direction:column;min-height:142px}.npPortalMetric>span{font-size:12px;color:#788984;font-weight:600}.npPortalMetric strong{font-size:31px;letter-spacing:-.03em;margin:12px 0 7px}.npPortalMetric strong small{font-size:14px;font-weight:600;color:#75837f}.npPortalMetric em{font-size:11px;color:#8a9995;font-style:normal}.npPortalMetric em.good{color:#39816d}.npPortalMetric em.up{color:#a76b55}.npPortalDateStrong{font-size:24px!important}.npPortalHomeGrid{display:grid;grid-template-columns:1.45fr 1fr;gap:18px}.npPortalPlanCard,.npPortalGoalCard,.npPortalSection,.npPortalPdfCard,.npPortalProfile,.npPortalInfoGrid article{background:#fff;border:1px solid #e3ebe7;border-radius:24px}.npPortalPlanCard,.npPortalGoalCard{padding:28px}.npPortalCardHead{display:flex;justify-content:space-between;gap:20px}.npPortalCardHead span,.npPortalGoalCard>span,.npPortalSectionTitle span{font-size:10px;letter-spacing:.13em;color:#759087;font-weight:800}.npPortalCardHead h2,.npPortalGoalCard h2,.npPortalSectionTitle h2{font-size:23px;margin:8px 0 0;letter-spacing:-.02em}.npPortalCardHead i{width:50px;height:50px;border-radius:16px;background:#e9f4ef;color:#2d6558;display:grid;place-items:center;font-style:normal;font-size:22px}.npPortalPlanCard>p,.npPortalGoalCard>p{color:#73837e;line-height:1.55;font-size:14px}.npPortalPrimary{display:flex;align-items:center;justify-content:space-between;margin-top:28px;background:#173b36;color:#fff!important;border-radius:14px;padding:14px 17px;font-size:13px;font-weight:700}.npPortalPrimary span{font-size:18px}.npPortalGoalCard{background:#173b36;color:#fff;border-color:#173b36}.npPortalGoalCard>span{color:#9fc1b6}.npPortalGoalCard>p{color:#cfddd8;min-height:68px}.npPortalGoalCard>a{display:inline-block;margin-top:10px;font-size:13px;font-weight:700;color:#fff}.npPortalSection{margin-top:18px;padding:28px}.npPortalSectionTitle{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:18px}.npPortalSectionTitle>a{font-size:12px;color:#3b7063;font-weight:700}.npPortalVisitList,.npPortalProgressList,.npPortalDocs{display:flex;flex-direction:column;gap:10px}.npPortalVisitList article{display:grid;grid-template-columns:105px 1fr 30px;align-items:center;padding:16px 12px;border-top:1px solid #edf1ef}.npPortalVisitList article:first-child{border-top:0}.npPortalVisitList time{color:#82918c;font-size:12px}.npPortalVisitList div{display:flex;flex-direction:column;gap:4px}.npPortalVisitList strong{font-size:14px}.npPortalVisitList small{font-size:11px;color:#8a9995}.npPortalVisitList>article>span{color:#8da19b;font-size:22px}.npPortalEmpty{padding:34px;text-align:center;color:#889793;background:#f7f9f8;border-radius:16px;font-size:13px}.npPortalPageHead{padding:12px 0 30px}.npPortalDayTabs{display:flex;gap:8px;margin-bottom:18px;overflow:auto;padding-bottom:2px}.npPortalDayTabs a{min-width:68px;text-align:center;padding:12px 14px;border-radius:13px;background:#fff;border:1px solid #e3ebe7;font-size:12px;font-weight:700;color:#6e807b}.npPortalDayTabs a.active{background:#173b36;color:#fff;border-color:#173b36}.npPortalMeals{display:grid;grid-template-columns:1fr 1fr;gap:14px}.npPortalMeal{background:#fff;border:1px solid #e3ebe7;border-radius:22px;overflow:hidden}.npPortalMeal header{padding:18px 20px;background:#f7faf8;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf1ef}.npPortalMeal header span{font-weight:800;font-size:15px}.npPortalMeal header small{color:#899792}.npPortalMeal>div{padding:9px 20px 14px}.npPortalMeal article{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #edf1ef}.npPortalMeal article:first-child{border-top:0}.npPortalMeal article div{display:flex;flex-direction:column;gap:2px}.npPortalMeal article small{font-size:10px;color:#789087;font-weight:700}.npPortalMeal article strong{font-size:13px}.npPortalMeal article b{white-space:nowrap;font-size:13px;color:#405d55}.npPortalMeal article.alternative{padding-left:14px;border-left:2px solid #a9cabe}.npPortalMeal article.instruction strong{font-weight:600;color:#687b75}.npPortalMealEmpty{padding:22px!important;color:#9aa6a2;font-size:12px}.npPortalPdfCard{padding:25px;display:grid;grid-template-columns:54px 1fr auto;align-items:center;gap:18px}.npPortalPdfCard>span,.npPortalDocIcon{width:48px;height:48px;border-radius:14px;background:#e9f4ef;color:#315f54;display:grid;place-items:center;font-size:11px;font-weight:800}.npPortalPdfCard h2{margin:0 0 5px;font-size:18px}.npPortalPdfCard p{margin:0;color:#899792;font-size:12px}.npPortalPdfCard a{background:#173b36;color:#fff;padding:12px 16px;border-radius:12px;font-size:12px;font-weight:700}.npPortalProgressHero{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.npPortalProgressHero article{padding:24px;background:#fff;border:1px solid #e3ebe7;border-radius:22px}.npPortalProgressHero span{font-size:11px;color:#7f908a}.npPortalProgressHero strong{display:block;font-size:30px;margin:10px 0 5px}.npPortalProgressHero strong small{font-size:13px;color:#7e8d88}.npPortalProgressHero p{margin:0;color:#8d9a96;font-size:11px}.npPortalProgressList article{border:1px solid #edf1ef;border-radius:18px;padding:18px}.npPortalProgressList header{display:flex;align-items:center;gap:14px;margin-bottom:14px}.npPortalProgressList header time{font-size:11px;color:#82928d}.npPortalProgressList header strong{font-size:14px}.npPortalProgressList article>div{display:flex;flex-wrap:wrap;gap:8px}.npPortalProgressList article>div span{min-width:120px;background:#f6f9f7;border-radius:12px;padding:11px 13px;display:flex;flex-direction:column;gap:4px}.npPortalProgressList small{font-size:10px;color:#879691}.npPortalProgressList b{font-size:13px}.npPortalDocs{margin-top:4px}.npPortalDocs article{background:#fff;border:1px solid #e3ebe7;border-radius:18px;padding:17px 18px;display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:14px}.npPortalDocs article>div{display:flex;flex-direction:column;gap:5px}.npPortalDocs strong{font-size:14px}.npPortalDocs small{font-size:11px;color:#899792}.npPortalDocs a{font-size:12px;color:#326a5c;font-weight:700}.npPortalProfile{padding:26px;display:flex;align-items:center;gap:18px}.npPortalAvatarBig{width:68px;height:68px;border-radius:50%;background:#dcebe4;color:#173b36;display:grid;place-items:center;font-size:19px;font-weight:800}.npPortalProfile h2{margin:0;font-size:22px}.npPortalProfile p{margin:5px 0 0;color:#81918c;font-size:12px}.npPortalInfoGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.npPortalInfoGrid article{padding:20px;display:flex;flex-direction:column;gap:8px}.npPortalInfoGrid span{font-size:11px;color:#879691}.npPortalInfoGrid strong{font-size:14px}.npPortalPrivacyNote{margin-top:14px;background:#edf5f1;color:#587069;border-radius:16px;padding:15px 18px;font-size:12px;line-height:1.5}.npPortalMobileNav{display:none}
@media(max-width:900px){.npPortalPreviewBar{justify-content:flex-start;padding:0 14px;gap:8px}.npPortalPreviewBar span{display:none}.npPortalPreviewBar a{margin-left:auto}.npPortalHeader{height:68px;grid-template-columns:1fr auto;padding:0 18px}.npPortalBrand b{font-size:17px}.npPortalBrand>span{width:34px;height:34px}.npPortalNav{display:none}.npPortalUser div{display:none}.npPortalMain{width:calc(100% - 28px);padding:22px 0 92px}.npPortalWelcome{min-height:190px;padding:28px 24px;border-radius:24px}.npPortalWelcome h1,.npPortalPageHead h1{font-size:32px}.npPortalWelcome p:not(.npPortalEyebrow),.npPortalPageHead p:not(.npPortalEyebrow){font-size:14px}.npPortalWelcomeMark{width:82px;height:82px;font-size:34px;margin-left:15px}.npPortalQuickGrid{grid-template-columns:1fr 1fr;margin:14px 0;gap:10px}.npPortalMetric{min-height:126px;padding:18px;border-radius:18px}.npPortalMetric:last-child{grid-column:1/-1}.npPortalMetric strong{font-size:26px}.npPortalHomeGrid,.npPortalMeals{grid-template-columns:1fr}.npPortalPlanCard,.npPortalGoalCard,.npPortalSection{border-radius:20px;padding:21px}.npPortalProgressHero{grid-template-columns:1fr 1fr}.npPortalProgressHero article:last-child{grid-column:1/-1}.npPortalDocs article{grid-template-columns:48px 1fr}.npPortalDocs article>a{grid-column:2}.npPortalInfoGrid{grid-template-columns:1fr}.npPortalMobileNav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;bottom:0;left:0;right:0;height:70px;background:rgba(255,255,255,.97);border-top:1px solid #e1e9e5;z-index:30;padding-bottom:env(safe-area-inset-bottom)}.npPortalMobileNav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#899894}.npPortalMobileNav a.active{color:#173b36}.npPortalMobileNav span{font-size:19px}.npPortalMobileNav small{font-size:9px;font-weight:700}.npPortalPdfCard{grid-template-columns:48px 1fr}.npPortalPdfCard>a{grid-column:1/-1;text-align:center}.npPortalDayTabs a{min-width:62px}.npPortalPageHead{padding:8px 2px 23px}}
@media(max-width:520px){.npPortalWelcomeMark{display:none}.npPortalQuickGrid{grid-template-columns:1fr}.npPortalMetric:last-child{grid-column:auto}.npPortalProgressHero{grid-template-columns:1fr}.npPortalProgressHero article:last-child{grid-column:auto}.npPortalVisitList article{grid-template-columns:88px 1fr 18px}.npPortalProfile{align-items:flex-start}.npPortalInfoGrid article{padding:17px}}

/* =========================================================
   FIX164 — PORTALE ASSISTITO NUTRIZIONE
   Replica della bozza approvata + tema configurabile.
   ========================================================= */
.npPortalBody{margin:0!important;background:#fff!important;color:#15362e!important;font-family:Helvetica,Arial,sans-serif!important;min-height:100vh!important}.npPortalBody *{box-sizing:border-box}.npPortalBody a{text-decoration:none;color:inherit}.npPortalBody svg{display:block;width:24px;height:24px;max-width:100%;max-height:100%;flex:0 0 auto}.npPortalApp{min-height:100vh;display:grid;grid-template-columns:200px minmax(0,1fr);background:#fff}.npPortalSidebar{position:sticky;top:0;height:100vh;border-right:1px solid #e8ecea;background:#fff;padding:42px 16px 28px;display:flex;flex-direction:column;z-index:30}.npPortalSidebarBrand{min-height:105px;padding:0 18px;display:flex;flex-direction:column;align-items:flex-start;gap:12px}.npPortalSidebarBrand img{max-width:126px;max-height:54px;object-fit:contain;object-position:left center}.npPortalSidebarBrand>strong{font-size:20px;color:#162e28}.npPortalSidebarBrand>span{font-size:11px;color:#71817c;display:flex;align-items:center;gap:5px}.npPortalSidebarBrand>span b{font-size:13px;letter-spacing:.12em;color:var(--np-primary);text-transform:uppercase}.npPortalSideNav{display:grid;gap:6px;margin-top:4px}.npPortalSideNav a{height:50px;border-radius:12px;display:flex;align-items:center;gap:14px;padding:0 16px;color:#203d35;font-size:14px;font-weight:500;transition:.18s ease}.npPortalSideNav a svg{width:22px;height:22px;flex:0 0 22px}.npPortalSideNav a:hover{background:var(--np-primary-faint)}.npPortalSideNav a.active{background:var(--np-primary);color:var(--np-on-primary,#fff);box-shadow:0 8px 18px color-mix(in srgb,var(--np-primary) 18%,transparent)}.npPortalSideBottom{margin-top:auto;display:grid;gap:28px}.npPortalGuideCard{border:1px solid color-mix(in srgb,var(--np-primary) 18%,#e5e8e6);background:linear-gradient(150deg,var(--np-primary-faint),#fff);border-radius:17px;padding:22px 18px;color:#183c33}.npPortalGuideCard>svg{width:24px;height:24px;color:var(--np-primary);margin-bottom:14px}.npPortalGuideCard strong{display:block;font-family:Georgia,'Times New Roman',serif;font-size:17px;line-height:1.25}.npPortalGuideCard p{font-size:12px;line-height:1.55;color:#6a7c76;margin:14px 0 0}.npPortalExit{display:flex;align-items:center;gap:12px;padding:0 18px;color:#51645e;font-size:12px}.npPortalExit svg{width:22px;height:22px}.npPortalWorkspace{min-width:0;min-height:100vh;background:#fff}.npPortalTopbar{height:76px;border-bottom:1px solid #f0f2f1;display:flex;align-items:center;justify-content:flex-end;padding:0 34px;position:sticky;top:0;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);z-index:20}.npPortalPreviewPill{margin-right:auto;border:1px solid #e4e9e7;background:#fafcfb;color:#778681;border-radius:999px;padding:7px 11px;font-size:9px;font-weight:800;letter-spacing:.09em}.npPortalTopActions{display:flex;align-items:center;gap:11px;color:#173b32}.npPortalBell{width:34px;height:34px;display:grid;place-items:center;position:relative}.npPortalBell svg{width:21px;height:21px}.npPortalBell:after{content:'';position:absolute;right:4px;top:5px;width:7px;height:7px;border-radius:50%;background:#f19276;border:2px solid #fff}.npPortalUserAvatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--np-primary);color:var(--np-on-primary,#fff);font-size:11px;font-weight:800}.npPortalTopActions strong{font-size:12px;font-weight:650}.npPortalTopChevron{font-size:17px;color:#6b7b76}.npPortalContent{padding:16px 28px 18px;max-width:1320px;margin:0 auto;width:100%}.npPortalHomeLayout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:22px;align-items:start}.npPortalHomeMain{min-width:0}.npPortalHero{aspect-ratio:2.75/1;min-height:250px;border:1px solid #e2e8e5;border-radius:14px;background-repeat:no-repeat!important;overflow:hidden;display:flex;align-items:center;padding:34px 42px;color:var(--np-hero-text);box-shadow:0 2px 8px rgba(21,58,48,.03)}.npPortalHeroCopy{width:min(500px,60%)}.npPortalHeroCopy>p{margin:0 0 13px;font-size:11px;font-weight:800;letter-spacing:.08em;color:var(--np-hero-text);opacity:.9}.npPortalHeroCopy h1{font-family:Georgia,'Times New Roman',serif;font-weight:500;font-size:45px;line-height:1.04;letter-spacing:-.025em;margin:0 0 16px;color:var(--np-hero-text)}.npPortalHeroCopy>div{font-size:13px;line-height:1.55;color:var(--np-hero-muted)}.npPortalHeroCopy>a{width:max-content;margin-top:24px;background:var(--np-hero-button-bg,var(--np-primary));color:var(--np-hero-button-text,var(--np-on-primary,#fff));border-radius:9px;padding:12px 17px;display:flex;align-items:center;gap:9px;font-size:12px;font-weight:700;box-shadow:0 7px 16px color-mix(in srgb,var(--np-primary) 17%,transparent)}.npPortalHeroCopy>a svg{width:17px;height:17px}.npPortalHomeTopGrid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(250px,.75fr);gap:16px;margin-top:16px}.npPortalWeeklyCard,.npPortalBodyCard,.npPortalChartCard,.npPortalSharedDocs,.npPortalRailCard,.npPortalSubPageHead,.npPortalMeal,.npPortalPdfCard,.npPortalProgressHero article,.npPortalSection,.npPortalDocs article,.npPortalProfile,.npPortalInfoGrid article{background:#fff;border:1px solid #e3e8e6;border-radius:14px;box-shadow:0 2px 8px rgba(21,58,48,.02)}.npPortalWeeklyCard,.npPortalBodyCard,.npPortalChartCard,.npPortalSharedDocs{padding:18px}.npPortalWeeklyCard>header,.npPortalBodyCard>header,.npPortalChartCard>header,.npPortalSharedDocs>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px}.npPortalWeeklyCard>header>div,.npPortalBodyCard>header{display:flex;align-items:center;gap:9px}.npPortalWeeklyCard h2,.npPortalBodyCard h2,.npPortalChartCard h2,.npPortalSharedDocs h2,.npPortalRailCard h2{font-size:14px;line-height:1.2;margin:0;color:#173b32}.npPortalWeeklyCard>header svg,.npPortalBodyCard>header svg{width:18px;height:18px;color:var(--np-primary)}.npPortalWeeklyCard>header>span{font-size:10px;color:#61736d}.npPortalWeekDays{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.npPortalWeekDays a{min-height:160px;border:1px solid #e8ecea;border-radius:11px;display:flex;flex-direction:column;align-items:center;padding:14px 4px 11px;gap:6px;color:#183d34;background:#fff}.npPortalWeekDays a.today{border-color:color-mix(in srgb,var(--np-primary) 45%,#fff);background:var(--np-primary-faint)}.npPortalWeekDays b{font-size:10px}.npPortalWeekDays strong{font-size:16px}.npPortalWeekDays span{width:34px;height:34px;display:grid;place-items:center;margin:10px 0 4px;color:var(--np-primary)}.npPortalWeekDays span svg{width:24px;height:24px}.npPortalWeekDays small{text-align:center;font-size:9px;line-height:1.25;color:#576c65}.npPortalBodyCard>header{justify-content:flex-start;border-bottom:1px solid #edf0ee;padding-bottom:13px}.npPortalBodyList{display:grid;gap:0}.npPortalBodyList>div{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;min-height:34px;font-size:10px}.npPortalBodyList>div>span{display:flex;align-items:center;gap:7px;color:#536761}.npPortalBodyList>div>span svg{width:16px;height:16px;color:var(--np-primary)}.npPortalBodyList strong{font-size:10px}.npPortalBodyList em{font-size:9px;font-style:normal;color:#2f806a}.npPortalBodyList em.up{color:#5e756f}.npPortalBodyCard>a{height:35px;margin-top:12px;border:1px solid #e2e7e5;border-radius:8px;display:grid;place-items:center;font-size:10px;font-weight:700;color:#2d5449}.npPortalMiniEmpty{font-size:11px;color:#8b9994;margin:14px 0}.npPortalHomeBottomGrid{display:grid;grid-template-columns:1.06fr 1fr;gap:16px;margin-top:16px}.npPortalChartCard>header span{border:1px solid #e5e9e7;border-radius:7px;padding:6px 12px;font-size:9px;color:#52655f}.npPortalChartWrap{height:194px;position:relative;padding:3px 3px 28px}.npPortalChartWrap>svg{width:100%;height:150px;overflow:visible}.npPortalChartWrap>svg line{stroke:#edf0ef;stroke-width:1}.npPortalChartDates{position:absolute;left:8px;right:8px;bottom:0;display:flex;justify-content:space-between;color:#75847f;font-size:8px}.npPortalChartLast{position:absolute;right:9%;top:16px;background:#fff;border:1px solid #dfe6e2;border-radius:8px;padding:7px 9px;font-size:10px;color:var(--np-primary);box-shadow:0 4px 10px rgba(0,0,0,.04)}.npPortalChartEmpty{height:194px;display:grid;place-items:center;text-align:center;color:#86958f;font-size:11px;padding:20px}.npPortalSharedDocs>div{display:grid;gap:7px}.npPortalSharedDocs>div>a{min-height:49px;border:1px solid #e7ebe9;border-radius:9px;padding:7px 10px;display:grid;grid-template-columns:34px 1fr 20px;align-items:center;gap:9px}.npPortalSharedDocs>div>a>span{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:var(--np-primary-faint);color:var(--np-primary)}.npPortalSharedDocs>div>a>span svg,.npPortalSharedDocs>div>a>svg{width:15px;height:15px}.npPortalSharedDocs>div>a>div{display:flex;flex-direction:column;gap:2px}.npPortalSharedDocs strong{font-size:10px}.npPortalSharedDocs small{font-size:8px;color:#85928e}.npPortalSharedDocs>div>a>svg{color:var(--np-primary)}.npPortalTextLink{margin-top:12px;display:flex;justify-content:center;align-items:center;gap:8px;font-size:10px;font-weight:700;color:#214d41}.npPortalTextLink svg{width:14px;height:14px}.npPortalHomeRail{display:grid;gap:16px}.npPortalRailCard{padding:20px}.npPortalSummary>div{margin-top:16px;border:1px solid #e7ebe9;border-radius:12px;padding:15px;display:flex;align-items:center;gap:17px}.npPortalSummaryRing{width:84px;height:84px;border-radius:50%;background:conic-gradient(var(--np-primary) 0 72%,#e9eeeb 72%);display:grid;place-items:center;position:relative;flex:0 0 84px}.npPortalSummaryRing:after{content:'';position:absolute;inset:8px;border-radius:50%;background:#fff}.npPortalSummaryRing b{position:relative;z-index:1;font-family:Georgia,'Times New Roman',serif;font-size:23px;font-weight:500}.npPortalSummary p{display:flex;flex-direction:column;gap:7px;margin:0}.npPortalSummary p strong{font-size:10px}.npPortalSummary p small{font-size:9px;line-height:1.4;color:#687a74}.npPortalAdvice{border-color:#f0d8d0;background:linear-gradient(160deg,#fff,#fff8f5)}.npPortalAdvice header,.npPortalObjective header,.npPortalSupport header{display:flex;align-items:center;gap:9px}.npPortalAdvice header svg{color:#ef9d80}.npPortalAdvice header svg,.npPortalObjective header svg,.npPortalSupport header svg{width:20px;height:20px}.npPortalAdvice p,.npPortalObjective p,.npPortalSupport p{font-size:10px;line-height:1.55;color:#52665f;margin:17px 0 0}.npPortalObjective header svg,.npPortalSupport header svg{color:var(--np-primary)}.npPortalObjective small{display:block;margin-top:15px;color:#74837e;font-size:9px}.npPortalSupport{background:linear-gradient(145deg,var(--np-primary-faint),#fff)}.npPortalSupport>a{margin-top:15px;width:max-content;display:flex;align-items:center;gap:8px;background:var(--np-primary);color:var(--np-on-primary,#fff);border-radius:8px;padding:9px 13px;font-size:10px;font-weight:700}.npPortalSupport>a svg{width:14px;height:14px}.npPortalFooter{max-width:1320px;margin:0 auto;padding:18px 28px 22px;border-top:1px solid #edf0ef;color:#a0aaa6;font-size:8px;display:flex;align-items:center;justify-content:space-between}.npPortalFooter div{display:flex;gap:28px}.npPortalSubPageHead{padding:30px 34px;margin-bottom:16px;background:linear-gradient(135deg,var(--np-primary-faint),#fff)}.npPortalSubPageHead>p{font-size:10px;font-weight:800;letter-spacing:.11em;color:var(--np-primary);margin:0 0 8px}.npPortalSubPageHead h1{font-family:Georgia,'Times New Roman',serif;font-size:38px;font-weight:500;letter-spacing:-.02em;color:#173b32;margin:0 0 10px}.npPortalSubPageHead>div{font-size:12px;color:#687a74;line-height:1.5}.npPortalDayTabs{display:flex;gap:8px;margin:0 0 16px;overflow:auto}.npPortalDayTabs a{min-width:72px;text-align:center;padding:11px 14px;border-radius:9px;background:#fff;border:1px solid #e3e8e6;font-size:11px;font-weight:700;color:#63756f}.npPortalDayTabs a.active{background:var(--np-primary);color:var(--np-on-primary,#fff);border-color:var(--np-primary)}.npPortalMeals{display:grid;grid-template-columns:1fr 1fr;gap:14px}.npPortalMeal{overflow:hidden}.npPortalMeal header{padding:15px 18px;background:#fbfcfb;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf0ee}.npPortalMeal header>div{display:flex;align-items:center;gap:8px}.npPortalMeal header svg{width:18px;height:18px;color:var(--np-primary)}.npPortalMeal header span{font-weight:800;font-size:13px}.npPortalMeal header small{font-size:9px;color:#85928e}.npPortalMeal>div{padding:7px 18px 12px}.npPortalMeal article{min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid #edf0ee}.npPortalMeal article:first-child{border-top:0}.npPortalMeal article div{display:flex;flex-direction:column;gap:2px}.npPortalMeal article small{font-size:9px;color:var(--np-primary);font-weight:700}.npPortalMeal article strong{font-size:11px}.npPortalMeal article b{white-space:nowrap;font-size:11px;color:#405d55}.npPortalMeal article.alternative{padding-left:12px;border-left:2px solid var(--np-primary-mid)}.npPortalMeal article.instruction strong{font-weight:600;color:#687b75}.npPortalMealEmpty{padding:20px!important;color:#9aa6a2;font-size:10px}.npPortalPdfCard{padding:21px;display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:16px}.npPortalPdfCard>span,.npPortalDocIcon{width:45px;height:45px;border-radius:11px;background:var(--np-primary-faint);color:var(--np-primary);display:grid;place-items:center}.npPortalPdfCard>span svg,.npPortalDocIcon svg{width:20px;height:20px}.npPortalPdfCard h2{margin:0 0 4px;font-size:16px}.npPortalPdfCard p{margin:0;color:#899792;font-size:10px}.npPortalPdfCard a{background:var(--np-primary);color:var(--np-on-primary,#fff);padding:10px 13px;border-radius:8px;font-size:10px;font-weight:700;display:flex;align-items:center;gap:6px}.npPortalPdfCard a svg{width:14px;height:14px}.npPortalProgressHero{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.npPortalProgressHero article{padding:21px}.npPortalProgressHero span{font-size:10px;color:#7f908a}.npPortalProgressHero strong{display:block;font-size:27px;margin:9px 0 4px}.npPortalProgressHero strong small{font-size:12px;color:#7e8d88}.npPortalProgressHero p{margin:0;color:#8d9a96;font-size:9px}.npPortalSection{padding:24px}.npPortalSectionTitle{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:14px}.npPortalSectionTitle span{font-size:9px;letter-spacing:.12em;color:var(--np-primary);font-weight:800}.npPortalSectionTitle h2{font-size:20px;margin:6px 0 0}.npPortalProgressList{display:grid;gap:9px}.npPortalProgressList article{border:1px solid #edf0ef;border-radius:12px;padding:15px}.npPortalProgressList header{display:flex;align-items:center;gap:12px;margin-bottom:11px}.npPortalProgressList header time{font-size:9px;color:#82928d}.npPortalProgressList header strong{font-size:12px}.npPortalProgressList article>div{display:flex;flex-wrap:wrap;gap:7px}.npPortalProgressList article>div span{min-width:110px;background:#f8faf9;border-radius:9px;padding:9px 11px;display:flex;flex-direction:column;gap:3px}.npPortalProgressList small{font-size:8px;color:#879691}.npPortalProgressList b{font-size:11px}.npPortalDocs{display:grid;gap:9px}.npPortalDocs article{padding:15px 17px;display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:13px}.npPortalDocs article>div{display:flex;flex-direction:column;gap:4px}.npPortalDocs strong{font-size:12px}.npPortalDocs small{font-size:9px;color:#899792}.npPortalDocs a{font-size:10px;color:var(--np-primary);font-weight:700;display:flex;align-items:center;gap:5px}.npPortalDocs a svg{width:14px;height:14px}.npPortalEmpty{padding:30px;text-align:center;color:#889793;background:#f7f9f8;border-radius:12px;font-size:11px}.npPortalProfile{padding:23px;display:flex;align-items:center;gap:16px}.npPortalAvatarBig{width:64px;height:64px;border-radius:50%;background:var(--np-primary);color:var(--np-on-primary,#fff);display:grid;place-items:center;font-size:16px;font-weight:800}.npPortalProfile h2{margin:0;font-size:20px}.npPortalProfile p{margin:4px 0 0;color:#81918c;font-size:10px}.npPortalInfoGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.npPortalInfoGrid article{padding:18px;display:flex;flex-direction:column;gap:7px}.npPortalInfoGrid span{font-size:9px;color:#879691}.npPortalInfoGrid strong{font-size:12px}.npPortalPrivacyNote{margin-top:12px;background:var(--np-primary-faint);color:#587069;border-radius:11px;padding:13px 16px;font-size:10px;line-height:1.5}.npPortalMobileNav{display:none}

/* FIX164 — Impostazioni > Aspetto portale assistito */
.nutritionPortalSettings{display:grid;gap:16px}.nutritionPortalSettingsGrid{display:grid;grid-template-columns:minmax(360px,.78fr) minmax(520px,1.22fr);gap:20px;align-items:start}.nutritionPortalAppearanceForm{display:grid;gap:16px}.nutritionPortalSettingsCard>p:not(.eyebrow){margin:4px 0 18px;color:#73817c;line-height:1.55}.nutritionPortalColorLabel{display:grid!important;gap:8px}.nutritionPortalColorControl{height:46px;border:1px solid #dfe6e3;border-radius:11px;padding:5px 8px;display:grid;grid-template-columns:36px 1fr;align-items:center;gap:9px;background:#fff}.nutritionPortalColorControl input[type=color]{width:36px!important;height:34px!important;padding:0!important;border:0!important;background:none!important;border-radius:8px;overflow:hidden}.nutritionPortalColorControl input[type=text]{border:0!important;box-shadow:none!important;background:transparent!important;padding:0!important;height:auto!important;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:700;text-transform:uppercase}.nutritionPortalPaletteHint{display:grid;grid-template-columns:32px 32px 32px 1fr;gap:7px;align-items:center;margin-top:10px}.nutritionPortalPaletteHint>span{width:32px;height:32px;border-radius:9px;border:1px solid rgba(0,0,0,.06)}.nutritionPortalPaletteHint small{font-size:11px;color:#7a8883;line-height:1.4}.nutritionPortalModeChoices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}.nutritionPortalModeChoices label{margin:0!important}.nutritionPortalModeChoices input{position:absolute;opacity:0;pointer-events:none}.nutritionPortalModeChoices span{height:44px;border:1px solid #dfe6e3;border-radius:11px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;color:#586a64;cursor:pointer}.nutritionPortalModeChoices input:checked+span{background:var(--backend-secondary-color,#e6f1ec);border-color:#b9d1c8;color:#173b36;box-shadow:inset 0 0 0 1px #b9d1c8}.nutritionPortalBannerFields{display:grid;gap:13px}.nutritionPortalCurrentImage{border:1px solid #e1e7e4;border-radius:11px;padding:12px;display:grid;gap:5px;background:#fbfcfb}.nutritionPortalCurrentImage>span{font-size:10px;color:#83918c}.nutritionPortalCurrentImage>strong{font-size:12px}.nutritionPortalBannerSpec{border:1px solid #dce9e3;background:#f5faf7;border-radius:12px;padding:14px 15px;color:#446158}.nutritionPortalBannerSpec strong{display:block;margin-bottom:8px;color:#1d4d40}.nutritionPortalBannerSpec p{margin:4px 0!important;font-size:11px!important;color:#526e65!important}.nutritionPortalBannerSpec small{display:block;margin-top:9px;font-size:10px;line-height:1.45;color:#768781}.nutritionPortalBannerSpec code{font-size:10px}.nutritionPortalActions{display:flex;justify-content:flex-end}.nutritionPortalPreviewPanel{border:1px solid #e0e6e3;border-radius:18px;background:#f9fbfa;padding:14px;position:sticky;top:88px}.nutritionPortalPreviewHead{display:flex;align-items:center;justify-content:space-between;margin:2px 2px 12px}.nutritionPortalPreviewHead>div:first-child{display:flex;align-items:center;gap:8px;color:#405950;font-size:10px;letter-spacing:.08em}.nutritionPortalLiveDot{width:7px;height:7px;border-radius:50%;background:#2f8b6d;box-shadow:0 0 0 4px rgba(47,139,109,.1)}.nutritionPortalPreviewSwitch{display:flex;border:1px solid #dfe5e2;border-radius:9px;padding:3px;background:#fff}.nutritionPortalPreviewSwitch button{border:0;background:transparent;color:#788681;padding:7px 10px;border-radius:6px;font-size:10px}.nutritionPortalPreviewSwitch button.active{background:#edf3f0;color:#24493e;font-weight:700}.nutritionPortalPreviewViewport{--np-preview-primary:#184738;--np-preview-banner:#e7efe9;border:1px solid #dfe5e2;border-radius:14px;overflow:hidden;background:#fff;min-height:480px;transition:.25s ease}.nutritionPortalMiniApp{display:grid;grid-template-columns:105px minmax(0,1fr) 155px;min-height:480px;color:#183d34;background:#fff}.nutritionPortalMiniApp>aside:first-child{border-right:1px solid #edf0ef;padding:18px 8px;display:flex;flex-direction:column}.nutritionPortalMiniLogo{padding:0 6px 13px;display:flex;flex-direction:column;gap:5px}.nutritionPortalMiniLogo img{max-width:75px;max-height:28px;object-fit:contain;object-position:left}.nutritionPortalMiniLogo b{font-size:10px}.nutritionPortalMiniLogo small{font-size:6px;color:#82908b}.nutritionPortalMiniApp nav{display:grid;gap:4px}.nutritionPortalMiniApp nav span{height:29px;border-radius:7px;display:flex;align-items:center;gap:7px;padding:0 8px;font-size:7px}.nutritionPortalMiniApp nav span.active{background:var(--np-preview-primary);color:#fff}.nutritionPortalMiniApp nav svg{width:11px;height:11px}.nutritionPortalMiniApp>main{padding:0 10px 12px;min-width:0}.nutritionPortalMiniApp>main>header{height:38px;display:flex;align-items:center;justify-content:flex-end;border-bottom:1px solid #f0f2f1;font-size:6px;color:#8a9692}.nutritionPortalMiniApp>main>header>b{margin-left:7px;width:19px;height:19px;border-radius:50%;display:grid;place-items:center;background:var(--np-preview-primary);color:#fff;font-size:6px}.nutritionPortalMiniHero{height:130px;border:1px solid #e3e8e6;border-radius:8px;margin-top:10px;padding:20px;background:var(--np-preview-banner);background-size:cover;background-position:center;overflow:hidden}.nutritionPortalMiniHero p{font-size:6px;font-weight:800;letter-spacing:.08em;margin:0 0 7px;color:var(--np-preview-primary)}.nutritionPortalMiniHero h2{font-family:Georgia,serif;font-size:22px;font-weight:500;margin:0 0 7px;color:var(--np-preview-primary)}.nutritionPortalMiniHero>span{display:block;max-width:210px;font-size:6px;line-height:1.4;color:#4f615b}.nutritionPortalMiniHero button{margin-top:11px;border:0;background:var(--np-preview-primary);color:#fff;border-radius:5px;padding:6px 9px;display:flex;align-items:center;gap:5px;font-size:6px}.nutritionPortalMiniHero button svg{width:9px;height:9px}.nutritionPortalMiniGrid{display:grid;grid-template-columns:1.3fr .7fr;gap:8px;margin-top:8px}.nutritionPortalMiniGrid article{min-height:91px;border:1px solid #e4e9e7;border-radius:7px;padding:9px}.nutritionPortalMiniGrid article>b{display:block;font-size:7px;margin-bottom:8px}.nutritionPortalMiniGrid article>div{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.nutritionPortalMiniGrid article>div i{height:45px;border:1px solid #edf0ef;border-radius:4px;background:#fff}.nutritionPortalMiniGrid article>div i.active{background:color-mix(in srgb,var(--np-preview-primary) 8%,#fff);border-color:color-mix(in srgb,var(--np-preview-primary) 30%,#fff)}.nutritionPortalMiniGrid article>span{display:flex;justify-content:space-between;border-top:1px solid #f0f2f1;padding:6px 0;font-size:6px}.nutritionPortalMiniGrid article svg{width:100%;height:50px;color:var(--np-preview-primary)}.nutritionPortalMiniApp>.nutritionPortalMiniRail{border-left:1px solid #edf0ef;padding:50px 10px 10px;display:flex;flex-direction:column;gap:10px}.nutritionPortalMiniRail>b{font-size:7px}.nutritionPortalMiniRail>.ring{width:48px;height:48px;border-radius:50%;margin:3px auto 15px;border:5px solid var(--np-preview-primary);display:grid;place-items:center;font-family:Georgia,serif;font-size:13px}.nutritionPortalMiniRail>span{font-size:6px;line-height:1.4;color:#697a74}.nutritionPortalPreviewViewport.is-mobile{width:290px;max-width:100%;margin:0 auto;min-height:530px;border-radius:24px}.nutritionPortalPreviewViewport.is-mobile .nutritionPortalMiniApp{display:block;min-height:530px}.nutritionPortalPreviewViewport.is-mobile .nutritionPortalMiniApp>aside,.nutritionPortalPreviewViewport.is-mobile .nutritionPortalMiniRail{display:none}.nutritionPortalPreviewViewport.is-mobile .nutritionPortalMiniApp>main{padding:0 12px 16px}.nutritionPortalPreviewViewport.is-mobile .nutritionPortalMiniApp>main>header{height:48px}.nutritionPortalPreviewViewport.is-mobile .nutritionPortalMiniHero{height:165px}.nutritionPortalPreviewViewport.is-mobile .nutritionPortalMiniHero h2{font-size:25px}.nutritionPortalPreviewViewport.is-mobile .nutritionPortalMiniGrid{grid-template-columns:1fr}.nutritionPortalPreviewNote{font-size:10px;line-height:1.45;color:#7c8985;margin:11px 3px 1px}.nutritionPortalResetForm{display:flex;justify-content:flex-start}.nutritionPortalSettings [hidden]{display:none!important}

@media(max-width:1180px){.npPortalApp{grid-template-columns:176px minmax(0,1fr)}.npPortalSidebar{padding-left:12px;padding-right:12px}.npPortalHomeLayout{grid-template-columns:minmax(0,1fr) 270px}.npPortalWeekDays a{min-height:145px}.nutritionPortalSettingsGrid{grid-template-columns:1fr}.nutritionPortalPreviewPanel{position:static}}
@media(max-width:980px){.npPortalApp{display:block}.npPortalSidebar{display:none}.npPortalTopbar{height:64px;padding:0 18px}.npPortalPreviewPill{font-size:8px}.npPortalContent{padding:14px 14px 90px}.npPortalHomeLayout{grid-template-columns:1fr}.npPortalHomeRail{grid-template-columns:1fr 1fr}.npPortalHero{min-height:215px;padding:28px 26px}.npPortalHeroCopy{width:68%}.npPortalHeroCopy h1{font-size:36px}.npPortalHomeTopGrid,.npPortalHomeBottomGrid{grid-template-columns:1fr}.npPortalFooter{display:none}.npPortalMobileNav{display:grid!important;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;height:72px;padding-bottom:env(safe-area-inset-bottom);background:rgba(255,255,255,.97);backdrop-filter:blur(12px);border-top:1px solid #dfe6e3;z-index:50}.npPortalMobileNav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#83918c}.npPortalMobileNav a.active{color:var(--np-primary)}.npPortalMobileNav svg{width:20px;height:20px}.npPortalMobileNav small{font-size:9px;font-weight:700}.npPortalMeals{grid-template-columns:1fr}}
@media(max-width:650px){.npPortalTopActions strong,.npPortalTopChevron{display:none}.npPortalPreviewPill{max-width:155px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.npPortalHero{aspect-ratio:auto;min-height:250px;padding:25px 21px;background-position:center!important}.npPortalHeroCopy{width:100%}.npPortalHeroCopy h1{font-size:32px}.npPortalHeroCopy>div{font-size:12px}.npPortalDesktopOnly{display:none}.npPortalWeekDays{overflow-x:auto;grid-template-columns:repeat(7,76px);padding-bottom:4px}.npPortalWeekDays a{min-height:132px}.npPortalHomeRail{grid-template-columns:1fr}.npPortalSummary>div{justify-content:flex-start}.npPortalProgressHero{grid-template-columns:1fr}.npPortalInfoGrid{grid-template-columns:1fr}.npPortalDocs article{grid-template-columns:45px 1fr}.npPortalDocs article>a{grid-column:2}.npPortalPdfCard{grid-template-columns:45px 1fr}.npPortalPdfCard>a{grid-column:1/-1;justify-content:center}.npPortalSubPageHead{padding:25px 22px}.npPortalSubPageHead h1{font-size:31px}.nutritionPortalSettingsGrid{display:block}.nutritionPortalPreviewPanel{margin-top:18px}.nutritionPortalMiniApp{grid-template-columns:85px minmax(0,1fr) 120px}.nutritionPortalModeChoices{grid-template-columns:1fr}.nutritionPortalPaletteHint{grid-template-columns:28px 28px 28px 1fr}}


/* FIX166 — gerarchia titolo hero + contenuti portale */
body.npPortalBody .npPortalHeroCopy h1{font-size:52px!important;font-weight:700!important;line-height:1.02!important;letter-spacing:-.035em!important}
.nutritionPortalContentSettings textarea{min-height:92px;resize:vertical;line-height:1.5}
.nutritionPortalContentSettings label>small{display:block;margin-top:4px;color:#7b8984;font-size:10px;line-height:1.45;font-weight:400}
@media(max-width:980px){body.npPortalBody .npPortalHeroCopy h1{font-size:42px!important}}
@media(max-width:650px){body.npPortalBody .npPortalHeroCopy h1{font-size:36px!important}}


/* =========================================================
   FIX167 — ACCOUNT / LOGIN PORTALE ASSISTITO
   ========================================================= */
.nxPortalAccessCard{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:18px 0 22px;padding:20px 22px!important;border:1px solid #e2e8e5!important;border-radius:18px!important;background:#fff!important}
.nxPortalAccessMain{display:flex;align-items:center;gap:16px;min-width:0}.nxPortalAccessIcon{width:46px;height:46px;border-radius:14px;background:#edf5f1;color:#175b47;display:grid;place-items:center;flex:0 0 auto}.nxPortalAccessIcon svg{width:23px!important;height:23px!important;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.nxPortalAccessMain h3{margin:2px 0 4px;font-size:18px}.nxPortalAccessMain p{margin:0;color:#61706c;font-size:13px}.nxPortalAccessMain .eyebrow{font-size:10px;letter-spacing:.12em;color:#159447;font-weight:850}.nxPortalAccessMeta{display:flex;align-items:center;gap:10px;margin-top:9px;flex-wrap:wrap}.nxPortalAccessMeta small{color:#81908b}.nxPortalAccessStatus{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:850}.nxPortalAccessStatus--none{background:#f1f3f2;color:#68726f}.nxPortalAccessStatus--pending{background:#fff5df;color:#9b6500}.nxPortalAccessStatus--active{background:#e6f5ec;color:#11703d}.nxPortalAccessStatus--disabled{background:#fff0ef;color:#a74237}.nxPortalAccessActions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}.nxPortalAccessActions form{margin:0}.nxPortalAccessActions button{min-height:40px;padding:0 15px;border:1px solid #173b36;border-radius:11px;background:#173b36;color:#fff;font-weight:800;cursor:pointer}.nxPortalAccessActions button.subtle{background:#fff;color:#173b36;border-color:#d8e0dd}.nxPortalAccessActions button.danger{color:#a43a32;border-color:#efd2cf}.nxPortalAccessActions button:disabled{opacity:.45;cursor:not-allowed}

.npPortalAuthBody{margin:0;min-height:100vh;background:#f4f7f5;color:#18312b;font-family:Helvetica,Arial,sans-serif;display:grid;place-items:center;padding:28px}.npPortalAuthBody *{box-sizing:border-box}.npPortalAuthShell{width:min(980px,100%);min-height:610px;background:#fff;border:1px solid #e2e9e6;border-radius:28px;box-shadow:0 24px 70px rgba(25,54,46,.08);display:grid;grid-template-columns:310px 1fr;overflow:hidden}.npPortalAuthBrand{padding:50px 40px;background:linear-gradient(160deg,var(--np-primary),color-mix(in srgb,var(--np-primary) 68%,#fff));color:#fff;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:14px}.npPortalAuthBrand img{max-width:190px;max-height:90px;object-fit:contain;filter:brightness(0) invert(1)}.npPortalAuthBrand>strong{font-size:30px;line-height:1.05}.npPortalAuthBrand span{font-size:13px;opacity:.86;letter-spacing:.05em}.npPortalAuthCard{align-self:center;width:min(470px,calc(100% - 70px));margin:0 auto;padding:48px 0}.npPortalAuthMark{width:48px;height:48px;border-radius:16px;background:color-mix(in srgb,var(--np-primary) 10%,#fff);color:var(--np-primary);display:grid;place-items:center;font-size:20px;margin-bottom:24px}.npPortalAuthCard h1{margin:0 0 10px;font-size:38px;line-height:1.08;color:#173b36}.npPortalAuthCard>p{margin:0 0 28px;color:#667772;line-height:1.55}.npPortalAuthNotice{padding:12px 14px;margin:0 0 18px;border-radius:11px;background:#eef5f1;color:#31574d;font-size:13px}.npPortalAuthForm{display:grid;gap:16px}.npPortalAuthForm label{display:grid;gap:7px;font-size:13px;font-weight:800;color:#334943}.npPortalAuthForm input{height:48px;border:1px solid #d7e0dd;border-radius:11px;padding:0 14px;font:inherit;outline:none}.npPortalAuthForm input:focus{border-color:var(--np-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--np-primary) 10%,transparent)}.npPortalAuthForm button,.npPortalAuthPrimaryLink{height:48px;border:0;border-radius:11px;background:var(--np-primary);color:#fff;font:inherit;font-weight:850;display:flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer}.npPortalAuthForm>a{justify-self:center;color:var(--np-primary);font-size:13px;text-decoration:none;font-weight:750}.npPortalAuthForm small{color:#75847f;line-height:1.45}
@media(max-width:780px){.nxPortalAccessCard{align-items:flex-start;flex-direction:column}.nxPortalAccessActions{width:100%;justify-content:flex-start}.npPortalAuthBody{padding:0;background:#fff}.npPortalAuthShell{min-height:100vh;border:0;border-radius:0;display:block;box-shadow:none}.npPortalAuthBrand{padding:28px 24px;min-height:150px}.npPortalAuthBrand img{max-width:150px;max-height:60px}.npPortalAuthCard{width:auto;margin:0;padding:38px 24px}.npPortalAuthCard h1{font-size:32px}}


/* =========================================================
   FIX169 — LINK MANUALE DI TEST · PORTALE ASSISTITO
   ========================================================= */
.nxPortalManualLink{width:100%;margin-top:16px;padding:16px 18px;border:1px solid #d9e5e0;border-radius:14px;background:#f7fbf9;display:grid;grid-template-columns:minmax(220px,.9fr) minmax(320px,1.5fr);gap:18px;align-items:center}.nxPortalManualLink .eyebrow{margin:0 0 4px;font-size:10px;letter-spacing:.12em;color:#159447;font-weight:850}.nxPortalManualLink strong{display:block;color:#173b36;font-size:14px}.nxPortalManualLink p{margin:5px 0 0;color:#6d7d77;font-size:12px;line-height:1.5}.nxPortalManualLinkControls{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center}.nxPortalManualLinkControls input{width:100%;min-width:0;height:40px;padding:0 11px;border:1px solid #d8e0dd;border-radius:10px;background:#fff;color:#52615c;font-size:11px}.nxPortalManualLinkControls button,.nxPortalManualOpen{height:40px;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;border:1px solid #d8e0dd;border-radius:10px;background:#fff;color:#173b36;font-size:12px;font-weight:800;white-space:nowrap;cursor:pointer;text-decoration:none}.nxPortalManualOpen{background:#173b36;color:#fff;border-color:#173b36}@media(max-width:900px){.nxPortalManualLink{grid-template-columns:1fr}.nxPortalManualLinkControls{grid-template-columns:1fr 1fr}.nxPortalManualLinkControls input{grid-column:1/-1}}@media(max-width:560px){.nxPortalManualLinkControls{grid-template-columns:1fr}.nxPortalManualLinkControls input{grid-column:auto}}

/* =========================================================
   FIX170 — PORTALE ASSISTITO · AUTH UI APPROVATA
   Mockup approvato: branding leggibile, layout premium,
   password show/hide e responsive dedicato.
   ========================================================= */
.npPortalAuthBody{
  margin:0!important;min-height:100vh!important;padding:34px!important;
  background:radial-gradient(circle at 50% -20%,#fff 0,#f8f8f5 46%,#f2f3f0 100%)!important;
  color:#183b34!important;font-family:Helvetica,Arial,sans-serif!important;
  display:grid!important;place-items:center!important;
}
.npPortalAuthBody *{box-sizing:border-box}
.npPortalAuthShell{
  width:min(1210px,100%)!important;min-height:720px!important;
  display:grid!important;grid-template-columns:minmax(350px,390px) 1fr!important;
  overflow:hidden!important;background:#fff!important;border:1px solid #dfe6e2!important;
  border-radius:34px!important;box-shadow:0 28px 80px rgba(27,55,47,.09)!important;
}
.npPortalAuthBrand{
  position:relative!important;isolation:isolate!important;overflow:hidden!important;
  min-width:0!important;padding:66px 58px 50px!important;color:#fff!important;
  display:flex!important;flex-direction:column!important;justify-content:space-between!important;align-items:flex-start!important;
  background-image:linear-gradient(180deg,rgba(5,35,29,.18) 0%,rgba(5,32,27,.12) 45%,rgba(4,28,24,.34) 100%),var(--np-auth-bg)!important;
  background-size:cover!important;background-position:center center!important;background-repeat:no-repeat!important;
}
.npPortalAuthBrand::after{
  content:"";position:absolute;z-index:-1;left:-50px;right:-50px;bottom:-120px;height:360px;
  background:radial-gradient(ellipse at 35% 30%,rgba(255,255,255,.22),transparent 47%);
  filter:blur(4px);pointer-events:none;
}
.npPortalAuthIdentity{position:relative;z-index:2;width:100%;display:grid;justify-items:center;gap:18px;text-align:center}
.npPortalAuthCompanyLogo{
  display:block!important;width:auto!important;max-width:245px!important;max-height:116px!important;height:auto!important;
  object-fit:contain!important;filter:none!important;mix-blend-mode:screen!important;background:transparent!important;
}
.npPortalAuthCompanyName{display:block;font-family:Georgia,'Times New Roman',serif;font-size:42px;line-height:1.05;font-weight:500;letter-spacing:.04em;color:#fff;text-align:center}
.npPortalAuthBy{display:block!important;width:max-content!important;padding-top:18px!important;border-top:1px solid rgba(255,255,255,.66)!important;font-size:14px!important;letter-spacing:.04em!important;color:rgba(255,255,255,.92)!important}
.npPortalAuthBy b{font-size:16px;letter-spacing:.08em;color:#fff}
.npPortalAuthBotanical{position:absolute;left:-16px;bottom:75px;width:255px;height:370px;opacity:.23;z-index:0;pointer-events:none}
.npPortalAuthBotanical svg{width:100%;height:100%;fill:rgba(7,55,45,.48);stroke:rgba(7,55,45,.48);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.npPortalAuthSecurity{position:relative;z-index:2;display:flex;align-items:center;gap:15px;color:#fff;text-shadow:0 1px 14px rgba(0,0,0,.22)}
.npPortalAuthSecurityIcon{width:48px;height:48px;flex:0 0 48px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.18);backdrop-filter:blur(8px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.28)}
.npPortalAuthSecurityIcon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.npPortalAuthSecurity strong{display:block;font-size:14px;line-height:1.3;font-weight:850;margin-bottom:4px}
.npPortalAuthSecurity p{margin:0;font-size:13px;line-height:1.45;color:rgba(255,255,255,.88)}
.npPortalAuthCard{
  align-self:center!important;width:min(610px,calc(100% - 90px))!important;margin:0 auto!important;padding:70px 0!important;
}
.npPortalAuthMark{
  position:relative;width:56px!important;height:56px!important;margin:0 0 30px!important;border-radius:50%!important;
  background:color-mix(in srgb,var(--np-primary) 6%,#f8faf7)!important;border:1px solid color-mix(in srgb,var(--np-primary) 15%,#e8ece9)!important;
  color:var(--np-primary)!important;display:grid!important;place-items:center!important;
}
.npPortalAuthMark svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.npPortalAuthMark i{position:absolute;right:-7px;bottom:2px;width:20px;height:30px;transform:rotate(34deg)}
.npPortalAuthMark i::before,.npPortalAuthMark i::after{content:"";position:absolute;border-radius:100% 0 100% 0;background:color-mix(in srgb,var(--np-primary) 70%,#8ba78f)}
.npPortalAuthMark i::before{width:9px;height:18px;left:3px;top:1px;transform:rotate(-20deg)}
.npPortalAuthMark i::after{width:8px;height:15px;left:11px;top:10px;transform:rotate(18deg)}
.npPortalAuthCard h1{
  margin:0 0 10px!important;font-family:Georgia,'Times New Roman',serif!important;font-size:46px!important;line-height:1.06!important;
  font-weight:500!important;letter-spacing:-.025em!important;color:#17483d!important;
}
.npPortalAuthCard>p{margin:0 0 38px!important;color:#6c7a76!important;font-size:17px!important;line-height:1.5!important}
.npPortalAuthNotice{padding:13px 15px!important;margin:0 0 22px!important;border-radius:13px!important;background:color-mix(in srgb,var(--np-primary) 7%,#fff)!important;border:1px solid color-mix(in srgb,var(--np-primary) 12%,#fff)!important;color:#31574d!important;font-size:13px!important}
.npPortalAuthForm{display:grid!important;gap:22px!important}
.npPortalAuthForm label{display:grid!important;gap:9px!important;font-size:14px!important;font-weight:850!important;color:#283d37!important}
.npPortalAuthForm label>span:first-child{display:block}
.npPortalAuthForm input{
  width:100%!important;height:58px!important;border:1px solid #d7dfdc!important;border-radius:14px!important;padding:0 16px!important;
  background:#fff!important;color:#1e312c!important;font:inherit!important;outline:none!important;box-shadow:0 2px 6px rgba(20,49,41,.025)!important;
}
.npPortalAuthForm input:focus{border-color:color-mix(in srgb,var(--np-primary) 64%,#fff)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--np-primary) 8%,transparent)!important}
.npPortalPasswordField{position:relative;display:block!important}
.npPortalPasswordField input{padding-right:58px!important}
.npPortalPasswordToggle{
  position:absolute;right:9px;top:50%;transform:translateY(-50%);width:42px!important;height:42px!important;padding:0!important;
  border:0!important;border-radius:10px!important;background:transparent!important;color:#2b3734!important;display:grid!important;place-items:center!important;cursor:pointer!important;
}
.npPortalPasswordToggle:hover{background:color-mix(in srgb,var(--np-primary) 7%,#fff)!important;color:var(--np-primary)!important}
.npPortalEyeIcon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.npPortalEyeIcon--hide{display:none}.npPortalPasswordToggle.is-visible .npPortalEyeIcon--show{display:none}.npPortalPasswordToggle.is-visible .npPortalEyeIcon--hide{display:block}
.npPortalPasswordHint{display:flex!important;align-items:center!important;gap:10px!important;margin:-1px 0 2px!important;color:#71807b!important;font-size:13px!important;line-height:1.45!important}
.npPortalPasswordHint>span{width:22px;height:22px;flex:0 0 22px;color:var(--np-primary)}
.npPortalPasswordHint svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.npPortalAuthForm button[type="submit"],.npPortalAuthPrimaryLink{
  width:100%!important;height:60px!important;margin-top:4px!important;padding:0 24px!important;border:0!important;border-radius:14px!important;
  background:linear-gradient(90deg,color-mix(in srgb,var(--np-primary) 92%,#08221b),var(--np-primary))!important;color:#fff!important;
  font:inherit!important;font-size:16px!important;font-weight:850!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:16px!important;
  text-decoration:none!important;cursor:pointer!important;box-shadow:0 8px 20px color-mix(in srgb,var(--np-primary) 18%,transparent)!important;transition:transform .18s ease,box-shadow .18s ease!important;
}
.npPortalAuthForm button[type="submit"] span{margin-left:auto;font-size:25px;font-weight:400;line-height:1}
.npPortalAuthForm button[type="submit"]::before{content:"";width:25px}
.npPortalAuthForm button[type="submit"]:hover,.npPortalAuthPrimaryLink:hover{transform:translateY(-1px);box-shadow:0 11px 26px color-mix(in srgb,var(--np-primary) 22%,transparent)!important}
.npPortalAuthForm>a{justify-self:center!important;color:var(--np-primary)!important;font-size:13px!important;text-decoration:none!important;font-weight:780!important}
.npPortalAuthForm>small:not(.npPortalPasswordHint){color:#75847f!important;line-height:1.45!important}
@media(max-width:900px){
  .npPortalAuthBody{padding:18px!important}.npPortalAuthShell{grid-template-columns:300px 1fr!important;min-height:650px!important;border-radius:26px!important}
  .npPortalAuthBrand{padding:48px 32px 38px!important}.npPortalAuthCompanyLogo{max-width:190px!important;max-height:90px!important}.npPortalAuthBotanical{width:205px;height:300px}
  .npPortalAuthCard{width:min(520px,calc(100% - 54px))!important;padding:55px 0!important}.npPortalAuthCard h1{font-size:40px!important}
}
@media(max-width:680px){
  .npPortalAuthBody{display:block!important;padding:0!important;background:#fff!important}
  .npPortalAuthShell{width:100%!important;min-height:100vh!important;display:block!important;border:0!important;border-radius:0!important;box-shadow:none!important}
  .npPortalAuthBrand{min-height:230px!important;padding:30px 24px!important;justify-content:flex-start!important;align-items:center!important;background-image:linear-gradient(180deg,rgba(5,35,29,.22),rgba(4,28,24,.34)),var(--np-auth-bg)!important;background-size:cover!important;background-position:center 46%!important}
  .npPortalAuthIdentity{gap:12px}.npPortalAuthCompanyLogo{max-width:180px!important;max-height:75px!important}.npPortalAuthCompanyName{font-size:32px}.npPortalAuthBy{padding-top:12px!important}
  .npPortalAuthBotanical{display:none}.npPortalAuthSecurity{display:none}
  .npPortalAuthCard{width:auto!important;margin:0!important;padding:42px 24px 50px!important}.npPortalAuthMark{width:50px!important;height:50px!important;margin-bottom:24px!important}
  .npPortalAuthCard h1{font-size:36px!important}.npPortalAuthCard>p{font-size:16px!important;margin-bottom:30px!important}.npPortalAuthForm{gap:19px!important}.npPortalAuthForm input{height:56px!important}
}


/* =========================================================
   FIX171 — IMMAGINE UNICA AREA ACCESSO ASSISTITO
   Login, attivazione e recupero password condividono lo stesso sfondo.
   ========================================================= */
.nutritionPortalAuthImageSettings .nutritionPortalAuthImagePreview{
  width:100%;max-width:250px;aspect-ratio:9/16;margin:14px auto 18px;border-radius:18px;
  background-size:cover;background-position:center;box-shadow:0 14px 34px rgba(27,55,47,.14);border:1px solid #dce5e1;
}
.nutritionPortalAuthImageSettings .nutritionPortalCurrentImage.is-default{background:#f7faf8}
.nutritionPortalAuthImageSettings>label{margin-top:4px}
@media(max-width:720px){.nutritionPortalAuthImageSettings .nutritionPortalAuthImagePreview{max-width:190px}}


/* =========================================================
   FIX172 — LOGIN ASSISTITO · PULSANTE ACCEDI PIÙ COMPATTO
   ========================================================= */
.npPortalAuthForm button[type="submit"].npPortalAuthSubmit--login{
  width:min(360px,100%)!important;
  height:50px!important;
  justify-self:center!important;
  margin-top:6px!important;
  border-radius:12px!important;
  font-size:15px!important;
}
@media(max-width:680px){
  .npPortalAuthForm button[type="submit"].npPortalAuthSubmit--login{
    width:100%!important;
    height:52px!important;
  }
}


/* =========================================================
   FIX173 — LOGIN ASSISTITO · AZIONI ALLINEATE A SINISTRA
   ========================================================= */
.npPortalAuthForm button[type="submit"].npPortalAuthSubmit--login{
  justify-self:start!important;
}
.npPortalAuthForm>a.npPortalAuthForgot--login{
  justify-self:start!important;
  margin-top:-2px!important;
  text-align:left!important;
}
@media(max-width:680px){
  .npPortalAuthForm button[type="submit"].npPortalAuthSubmit--login{justify-self:stretch!important}
  .npPortalAuthForm>a.npPortalAuthForgot--login{justify-self:start!important}
}

/* =========================================================
   FIX175 — PORTALE ASSISTITO / HOME RESPONSIVE MOBILE
   - impedisce overflow orizzontale della pagina
   - panoramica settimanale confinata in scroll interno
   - misure corporee leggibili su viewport stretti
   ========================================================= */
@media (max-width:650px){
  .npPortalBody{
    width:100%!important;
    max-width:100vw!important;
    overflow-x:hidden!important;
  }
  .npPortalApp,
  .npPortalWorkspace,
  .npPortalContent,
  .npPortalHomeLayout,
  .npPortalHomeMain,
  .npPortalHomeTopGrid,
  .npPortalHomeBottomGrid,
  .npPortalWeeklyCard,
  .npPortalBodyCard,
  .npPortalChartCard,
  .npPortalSharedDocs{
    min-width:0!important;
    max-width:100%!important;
  }
  .npPortalContent{
    width:100%!important;
    overflow-x:hidden!important;
    padding-left:14px!important;
    padding-right:14px!important;
  }
  .npPortalHomeTopGrid,
  .npPortalHomeBottomGrid{
    width:100%!important;
    grid-template-columns:minmax(0,1fr)!important;
  }

  /* Panoramica settimanale: la pagina resta ferma, scorrono solo i giorni. */
  .npPortalWeeklyCard{
    width:100%!important;
    overflow:hidden!important;
    padding:16px 14px!important;
  }
  .npPortalWeeklyCard>header{
    flex-wrap:wrap!important;
    align-items:flex-start!important;
    margin-bottom:14px!important;
  }
  .npPortalWeeklyCard>header>div{
    min-width:0!important;
  }
  .npPortalWeeklyCard>header>span{
    flex:0 0 100%!important;
    width:100%!important;
    padding-left:27px!important;
    white-space:normal!important;
    line-height:1.35!important;
  }
  .npPortalWeekDays{
    display:flex!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    gap:9px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:0 2px 8px!important;
    scroll-snap-type:x proximity;
    overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .npPortalWeekDays::-webkit-scrollbar{display:none}
  .npPortalWeekDays a{
    flex:0 0 104px!important;
    width:104px!important;
    min-width:104px!important;
    max-width:104px!important;
    min-height:142px!important;
    padding:13px 5px 10px!important;
    scroll-snap-align:start;
  }
  .npPortalWeekDays b{font-size:10px!important}
  .npPortalWeekDays strong{font-size:17px!important}
  .npPortalWeekDays span{margin:8px 0 3px!important}
  .npPortalWeekDays small{font-size:9px!important;white-space:normal!important}

  /* Misure corporee: valore e variazione restano sempre dentro la card. */
  .npPortalBodyCard{
    width:100%!important;
    overflow:hidden!important;
    padding:16px 14px!important;
  }
  .npPortalBodyCard>header{
    margin-bottom:8px!important;
  }
  .npPortalBodyList{
    width:100%!important;
    min-width:0!important;
  }
  .npPortalBodyList>div{
    width:100%!important;
    min-width:0!important;
    min-height:45px!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-rows:auto auto!important;
    column-gap:10px!important;
    row-gap:2px!important;
    padding:7px 0!important;
    border-bottom:1px solid #f0f2f1;
  }
  .npPortalBodyList>div:last-child{border-bottom:0}
  .npPortalBodyList>div>span{
    min-width:0!important;
    overflow-wrap:anywhere;
    font-size:11px!important;
  }
  .npPortalBodyList strong{
    grid-column:2!important;
    grid-row:1!important;
    justify-self:end!important;
    white-space:nowrap!important;
    font-size:11px!important;
    color:#173b32!important;
  }
  .npPortalBodyList em{
    grid-column:2!important;
    grid-row:2!important;
    justify-self:end!important;
    white-space:nowrap!important;
    text-align:right!important;
    font-size:9px!important;
  }
  .npPortalBodyCard>a{
    width:100%!important;
    max-width:100%!important;
    margin-top:12px!important;
  }

  /* Sicurezza ulteriore per le card inferiori. */
  .npPortalChartCard,
  .npPortalSharedDocs{
    overflow:hidden!important;
  }
  .npPortalChartWrap,
  .npPortalChartWrap>svg{
    max-width:100%!important;
    min-width:0!important;
  }
}

/* =========================================================
   FIX176 — PORTALE ASSISTITO / PROGRESSI · LEGGIBILITÀ RESPONSIVE
   - tipografia desktop più leggibile e proporzionata
   - tablet/mobile verificati senza overflow
   - card misurazioni più chiare sui viewport stretti
   ========================================================= */
@media (min-width:901px){
  body.npPortalBody .npPortalSubPageHead{padding:32px 34px!important}
  body.npPortalBody .npPortalSubPageHead>p{font-size:12px!important;line-height:1.3!important}
  body.npPortalBody .npPortalSubPageHead h1{font-size:42px!important;line-height:1.08!important}
  body.npPortalBody .npPortalSubPageHead>div{font-size:15px!important;line-height:1.55!important}

  body.npPortalBody .npPortalProgressHero{gap:14px!important;margin-bottom:20px!important}
  body.npPortalBody .npPortalProgressHero article{padding:27px 28px!important;min-height:142px!important}
  body.npPortalBody .npPortalProgressHero span{font-size:13px!important;line-height:1.35!important}
  body.npPortalBody .npPortalProgressHero strong{font-size:35px!important;line-height:1.05!important;margin:12px 0 7px!important}
  body.npPortalBody .npPortalProgressHero strong small{font-size:15px!important}
  body.npPortalBody .npPortalProgressHero p{font-size:12px!important;line-height:1.45!important}

  body.npPortalBody .npPortalSection{padding:28px 30px!important}
  body.npPortalBody .npPortalSectionTitle{margin-bottom:18px!important}
  body.npPortalBody .npPortalSectionTitle span{font-size:11px!important;line-height:1.3!important}
  body.npPortalBody .npPortalSectionTitle h2{font-size:24px!important;line-height:1.15!important;margin-top:7px!important}

  body.npPortalBody .npPortalProgressList{gap:12px!important}
  body.npPortalBody .npPortalProgressList article{padding:20px 22px!important;border-radius:14px!important}
  body.npPortalBody .npPortalProgressList header{gap:16px!important;margin-bottom:15px!important}
  body.npPortalBody .npPortalProgressList header time{font-size:12px!important;line-height:1.35!important}
  body.npPortalBody .npPortalProgressList header strong{font-size:16px!important;line-height:1.35!important}
  body.npPortalBody .npPortalProgressList article>div{gap:9px!important}
  body.npPortalBody .npPortalProgressList article>div span{min-width:132px!important;padding:11px 14px!important;border-radius:10px!important;gap:4px!important}
  body.npPortalBody .npPortalProgressList small{font-size:11px!important;line-height:1.25!important}
  body.npPortalBody .npPortalProgressList b{font-size:15px!important;line-height:1.25!important}
}

@media (min-width:651px) and (max-width:900px){
  body.npPortalBody .npPortalSubPageHead>p{font-size:11px!important}
  body.npPortalBody .npPortalSubPageHead h1{font-size:35px!important}
  body.npPortalBody .npPortalSubPageHead>div{font-size:13px!important}
  body.npPortalBody .npPortalProgressHero span{font-size:12px!important}
  body.npPortalBody .npPortalProgressHero strong{font-size:31px!important}
  body.npPortalBody .npPortalProgressHero p{font-size:11px!important}
  body.npPortalBody .npPortalSectionTitle span{font-size:10px!important}
  body.npPortalBody .npPortalSectionTitle h2{font-size:22px!important}
  body.npPortalBody .npPortalProgressList header time{font-size:11px!important}
  body.npPortalBody .npPortalProgressList header strong{font-size:14px!important}
  body.npPortalBody .npPortalProgressList article>div span{min-width:122px!important}
  body.npPortalBody .npPortalProgressList small{font-size:10px!important}
  body.npPortalBody .npPortalProgressList b{font-size:13px!important}
}

@media (max-width:650px){
  body.npPortalBody .npPortalSubPageHead{padding:23px 19px!important;margin-bottom:14px!important}
  body.npPortalBody .npPortalSubPageHead>p{font-size:10px!important;line-height:1.3!important}
  body.npPortalBody .npPortalSubPageHead h1{font-size:29px!important;line-height:1.1!important;margin-bottom:9px!important}
  body.npPortalBody .npPortalSubPageHead>div{font-size:12px!important;line-height:1.5!important}

  body.npPortalBody .npPortalProgressHero{grid-template-columns:minmax(0,1fr)!important;gap:10px!important;margin-bottom:14px!important}
  body.npPortalBody .npPortalProgressHero article{min-width:0!important;padding:18px 19px!important;min-height:112px!important}
  body.npPortalBody .npPortalProgressHero span{font-size:11px!important;line-height:1.35!important}
  body.npPortalBody .npPortalProgressHero strong{font-size:29px!important;line-height:1.05!important;margin:8px 0 5px!important}
  body.npPortalBody .npPortalProgressHero strong small{font-size:13px!important}
  body.npPortalBody .npPortalProgressHero p{font-size:10px!important;line-height:1.4!important}

  body.npPortalBody .npPortalSection{min-width:0!important;padding:18px 14px!important;overflow:hidden!important}
  body.npPortalBody .npPortalSectionTitle{margin-bottom:13px!important}
  body.npPortalBody .npPortalSectionTitle span{font-size:9px!important}
  body.npPortalBody .npPortalSectionTitle h2{font-size:21px!important;line-height:1.2!important;margin-top:5px!important}

  body.npPortalBody .npPortalProgressList{min-width:0!important;gap:10px!important}
  body.npPortalBody .npPortalProgressList article{min-width:0!important;width:100%!important;padding:15px 13px!important;overflow:hidden!important}
  body.npPortalBody .npPortalProgressList header{display:flex!important;flex-wrap:wrap!important;gap:5px 11px!important;margin-bottom:12px!important}
  body.npPortalBody .npPortalProgressList header time{font-size:10px!important;line-height:1.3!important}
  body.npPortalBody .npPortalProgressList header strong{font-size:13px!important;line-height:1.3!important}
  body.npPortalBody .npPortalProgressList article>div{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:100%!important;
    min-width:0!important;
    gap:7px!important;
  }
  body.npPortalBody .npPortalProgressList article>div span{
    width:auto!important;
    min-width:0!important;
    max-width:100%!important;
    padding:10px 11px!important;
    border-radius:9px!important;
  }
  body.npPortalBody .npPortalProgressList small{font-size:9px!important;line-height:1.25!important}
  body.npPortalBody .npPortalProgressList b{font-size:12px!important;line-height:1.25!important;overflow-wrap:anywhere}
}

@media (max-width:360px){
  body.npPortalBody .npPortalProgressList article>div{grid-template-columns:minmax(0,1fr)!important}
}

/* =========================================================
   FIX177 — PORTALE ASSISTITO / AUDIT RESPONSIVE COMPLETO
   Home, Piano, Progressi, Documenti, Profilo
   - scala tipografica desktop riequilibrata
   - tablet e mobile leggibili senza overflow
   - mantiene FIX175/FIX176 e la struttura approvata
   ========================================================= */

/* ---------- DESKTOP ---------- */
@media (min-width:981px){
  body.npPortalBody .npPortalContent{padding:20px 32px 24px!important}
  body.npPortalBody .npPortalTopbar{height:78px!important;padding-left:36px!important;padding-right:36px!important}
  body.npPortalBody .npPortalPreviewPill{font-size:10.5px!important;padding:8px 13px!important}
  body.npPortalBody .npPortalTopActions strong{font-size:14px!important}
  body.npPortalBody .npPortalUserAvatar{width:42px!important;height:42px!important;font-size:12px!important}
  body.npPortalBody .npPortalSideNav a{font-size:15px!important;height:52px!important}
  body.npPortalBody .npPortalSidebarBrand>span{font-size:12px!important}
  body.npPortalBody .npPortalSidebarBrand>span b{font-size:14px!important}
  body.npPortalBody .npPortalGuideCard strong{font-size:19px!important}
  body.npPortalBody .npPortalGuideCard p{font-size:13px!important}
  body.npPortalBody .npPortalExit{font-size:13px!important}

  /* Home */
  body.npPortalBody .npPortalHeroCopy>p{font-size:12px!important}
  body.npPortalBody .npPortalHeroCopy>div{font-size:15px!important;line-height:1.6!important}
  body.npPortalBody .npPortalHeroCopy>a{font-size:13px!important;padding:13px 18px!important}
  body.npPortalBody .npPortalWeeklyCard,
  body.npPortalBody .npPortalBodyCard,
  body.npPortalBody .npPortalChartCard,
  body.npPortalBody .npPortalSharedDocs{padding:22px!important}
  body.npPortalBody .npPortalWeeklyCard h2,
  body.npPortalBody .npPortalBodyCard h2,
  body.npPortalBody .npPortalChartCard h2,
  body.npPortalBody .npPortalSharedDocs h2,
  body.npPortalBody .npPortalRailCard h2{font-size:18px!important;line-height:1.25!important}
  body.npPortalBody .npPortalWeeklyCard>header>span{font-size:12px!important}
  body.npPortalBody .npPortalWeekDays{gap:8px!important}
  body.npPortalBody .npPortalWeekDays a{min-height:166px!important;padding:16px 5px 12px!important}
  body.npPortalBody .npPortalWeekDays b{font-size:11.5px!important}
  body.npPortalBody .npPortalWeekDays strong{font-size:21px!important}
  body.npPortalBody .npPortalWeekDays small{font-size:10.5px!important;line-height:1.3!important}
  body.npPortalBody .npPortalBodyList>div{min-height:42px!important;font-size:12.5px!important;gap:9px!important}
  body.npPortalBody .npPortalBodyList>div>span{font-size:12.5px!important}
  body.npPortalBody .npPortalBodyList strong{font-size:13px!important}
  body.npPortalBody .npPortalBodyList em{font-size:11px!important}
  body.npPortalBody .npPortalBodyCard>a{height:40px!important;font-size:12px!important;margin-top:14px!important}
  body.npPortalBody .npPortalMiniEmpty{font-size:13px!important}
  body.npPortalBody .npPortalChartCard>header span{font-size:11px!important;padding:7px 13px!important}
  body.npPortalBody .npPortalChartDates{font-size:10px!important}
  body.npPortalBody .npPortalChartLast{font-size:12px!important;padding:8px 10px!important}
  body.npPortalBody .npPortalChartEmpty{font-size:13px!important}
  body.npPortalBody .npPortalSharedDocs>div>a{min-height:58px!important;padding:9px 12px!important}
  body.npPortalBody .npPortalSharedDocs strong{font-size:13px!important}
  body.npPortalBody .npPortalSharedDocs small{font-size:10.5px!important}
  body.npPortalBody .npPortalTextLink{font-size:12px!important;margin-top:15px!important}
  body.npPortalBody .npPortalRailCard{padding:23px!important}
  body.npPortalBody .npPortalSummary p strong{font-size:12.5px!important}
  body.npPortalBody .npPortalSummary p small{font-size:11px!important;line-height:1.5!important}
  body.npPortalBody .npPortalAdvice p,
  body.npPortalBody .npPortalObjective p,
  body.npPortalBody .npPortalSupport p{font-size:12.5px!important;line-height:1.6!important}
  body.npPortalBody .npPortalObjective small{font-size:10.5px!important}
  body.npPortalBody .npPortalSupport>a{font-size:11.5px!important;padding:10px 14px!important}
  body.npPortalBody .npPortalFooter{font-size:9.5px!important}

  /* Piano */
  body.npPortalBody .npPortalDayTabs a{font-size:12.5px!important;min-width:76px!important;padding:12px 15px!important}
  body.npPortalBody .npPortalMeal header{padding:18px 20px!important}
  body.npPortalBody .npPortalMeal header span{font-size:15px!important}
  body.npPortalBody .npPortalMeal header small{font-size:11px!important}
  body.npPortalBody .npPortalMeal>div{padding:9px 20px 15px!important}
  body.npPortalBody .npPortalMeal article{min-height:60px!important}
  body.npPortalBody .npPortalMeal article small{font-size:10.5px!important}
  body.npPortalBody .npPortalMeal article strong{font-size:13.5px!important;line-height:1.4!important}
  body.npPortalBody .npPortalMeal article b{font-size:13px!important}
  body.npPortalBody .npPortalMealEmpty{font-size:12.5px!important}
  body.npPortalBody .npPortalPdfCard h2{font-size:18px!important}
  body.npPortalBody .npPortalPdfCard p{font-size:11.5px!important}
  body.npPortalBody .npPortalPdfCard a{font-size:11.5px!important}

  /* Documenti */
  body.npPortalBody .npPortalDocs{gap:11px!important}
  body.npPortalBody .npPortalDocs article{padding:18px 20px!important;grid-template-columns:52px minmax(0,1fr) auto!important}
  body.npPortalBody .npPortalDocs strong{font-size:14.5px!important;line-height:1.35!important}
  body.npPortalBody .npPortalDocs small{font-size:11px!important;line-height:1.4!important}
  body.npPortalBody .npPortalDocs a{font-size:12px!important}
  body.npPortalBody .npPortalEmpty{font-size:13px!important}

  /* Profilo */
  body.npPortalBody .npPortalProfile{padding:27px!important}
  body.npPortalBody .npPortalProfile h2{font-size:24px!important}
  body.npPortalBody .npPortalProfile p{font-size:12.5px!important}
  body.npPortalBody .npPortalInfoGrid article{padding:21px!important}
  body.npPortalBody .npPortalInfoGrid span{font-size:11.5px!important}
  body.npPortalBody .npPortalInfoGrid strong{font-size:14.5px!important;line-height:1.4!important;overflow-wrap:anywhere}
  body.npPortalBody .npPortalPrivacyNote{font-size:12.5px!important;padding:15px 18px!important}
}

/* ---------- TABLET ---------- */
@media (min-width:651px) and (max-width:980px){
  body.npPortalBody .npPortalContent{overflow-x:hidden!important}
  body.npPortalBody .npPortalWeeklyCard h2,
  body.npPortalBody .npPortalBodyCard h2,
  body.npPortalBody .npPortalChartCard h2,
  body.npPortalBody .npPortalSharedDocs h2,
  body.npPortalBody .npPortalRailCard h2{font-size:17px!important}
  body.npPortalBody .npPortalWeekDays b{font-size:11px!important}
  body.npPortalBody .npPortalWeekDays strong{font-size:20px!important}
  body.npPortalBody .npPortalWeekDays small{font-size:10px!important}
  body.npPortalBody .npPortalBodyList>div>span{font-size:12px!important}
  body.npPortalBody .npPortalBodyList strong{font-size:12.5px!important}
  body.npPortalBody .npPortalBodyList em{font-size:10.5px!important}
  body.npPortalBody .npPortalChartCard>header span{font-size:10.5px!important}
  body.npPortalBody .npPortalSharedDocs strong{font-size:12.5px!important}
  body.npPortalBody .npPortalSharedDocs small{font-size:10px!important}
  body.npPortalBody .npPortalTextLink{font-size:11.5px!important}
  body.npPortalBody .npPortalSummary p strong{font-size:12px!important}
  body.npPortalBody .npPortalSummary p small{font-size:10.5px!important}
  body.npPortalBody .npPortalAdvice p,
  body.npPortalBody .npPortalObjective p,
  body.npPortalBody .npPortalSupport p{font-size:12px!important}
  body.npPortalBody .npPortalMeal header span{font-size:14.5px!important}
  body.npPortalBody .npPortalMeal header small{font-size:10.5px!important}
  body.npPortalBody .npPortalMeal article strong{font-size:13px!important}
  body.npPortalBody .npPortalMeal article b{font-size:12.5px!important}
  body.npPortalBody .npPortalDocs strong{font-size:13.5px!important}
  body.npPortalBody .npPortalDocs small{font-size:10.5px!important}
  body.npPortalBody .npPortalDocs a{font-size:11.5px!important}
  body.npPortalBody .npPortalProfile h2{font-size:23px!important}
  body.npPortalBody .npPortalInfoGrid span{font-size:11px!important}
  body.npPortalBody .npPortalInfoGrid strong{font-size:14px!important}
  body.npPortalBody .npPortalPrivacyNote{font-size:12px!important}
  body.npPortalBody .npPortalMobileNav small{font-size:10px!important}
}

/* ---------- MOBILE ---------- */
@media (max-width:650px){
  body.npPortalBody .npPortalTopbar{padding-left:14px!important;padding-right:14px!important}
  body.npPortalBody .npPortalPreviewPill{font-size:9px!important;padding:7px 10px!important}
  body.npPortalBody .npPortalUserAvatar{width:40px!important;height:40px!important;font-size:11.5px!important}
  body.npPortalBody .npPortalMobileNav{height:76px!important}
  body.npPortalBody .npPortalMobileNav svg{width:22px!important;height:22px!important}
  body.npPortalBody .npPortalMobileNav small{font-size:10.5px!important}

  /* Home */
  body.npPortalBody .npPortalHeroCopy>p{font-size:10.5px!important}
  body.npPortalBody .npPortalHeroCopy h1{font-size:33px!important}
  body.npPortalBody .npPortalHeroCopy>div{font-size:12.5px!important;line-height:1.55!important}
  body.npPortalBody .npPortalHeroCopy>a{font-size:12px!important}
  body.npPortalBody .npPortalWeeklyCard h2,
  body.npPortalBody .npPortalBodyCard h2,
  body.npPortalBody .npPortalChartCard h2,
  body.npPortalBody .npPortalSharedDocs h2,
  body.npPortalBody .npPortalRailCard h2{font-size:17px!important;line-height:1.25!important}
  body.npPortalBody .npPortalWeeklyCard>header>span{font-size:10.5px!important}
  body.npPortalBody .npPortalWeekDays b{font-size:11px!important}
  body.npPortalBody .npPortalWeekDays strong{font-size:20px!important}
  body.npPortalBody .npPortalWeekDays small{font-size:10px!important}
  body.npPortalBody .npPortalBodyList>div>span{font-size:12px!important}
  body.npPortalBody .npPortalBodyList strong{font-size:12px!important}
  body.npPortalBody .npPortalBodyList em{font-size:10px!important}
  body.npPortalBody .npPortalBodyCard>a{font-size:11.5px!important;height:39px!important}
  body.npPortalBody .npPortalMiniEmpty{font-size:12px!important}
  body.npPortalBody .npPortalChartCard>header span{font-size:10.5px!important}
  body.npPortalBody .npPortalChartDates{font-size:9px!important}
  body.npPortalBody .npPortalChartLast{font-size:11px!important}
  body.npPortalBody .npPortalChartEmpty{font-size:12px!important}
  body.npPortalBody .npPortalSharedDocs>div>a{grid-template-columns:34px minmax(0,1fr) 18px!important}
  body.npPortalBody .npPortalSharedDocs strong{font-size:12px!important}
  body.npPortalBody .npPortalSharedDocs small{font-size:9.5px!important}
  body.npPortalBody .npPortalTextLink{font-size:11.5px!important}
  body.npPortalBody .npPortalRailCard{padding:18px!important}
  body.npPortalBody .npPortalSummary p strong{font-size:11.5px!important}
  body.npPortalBody .npPortalSummary p small{font-size:10px!important}
  body.npPortalBody .npPortalAdvice p,
  body.npPortalBody .npPortalObjective p,
  body.npPortalBody .npPortalSupport p{font-size:11.5px!important;line-height:1.55!important}
  body.npPortalBody .npPortalObjective small{font-size:9.5px!important}
  body.npPortalBody .npPortalSupport>a{font-size:10.5px!important}

  /* Piano */
  body.npPortalBody .npPortalDayTabs{max-width:100%!important;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
  body.npPortalBody .npPortalDayTabs a{font-size:11.5px!important;min-width:66px!important}
  body.npPortalBody .npPortalMeals{min-width:0!important}
  body.npPortalBody .npPortalMeal{min-width:0!important}
  body.npPortalBody .npPortalMeal header{padding:15px 14px!important}
  body.npPortalBody .npPortalMeal header span{font-size:14px!important}
  body.npPortalBody .npPortalMeal header small{font-size:10px!important}
  body.npPortalBody .npPortalMeal>div{padding-left:14px!important;padding-right:14px!important}
  body.npPortalBody .npPortalMeal article{min-width:0!important;gap:10px!important}
  body.npPortalBody .npPortalMeal article>div{min-width:0!important}
  body.npPortalBody .npPortalMeal article strong{font-size:12.5px!important;line-height:1.4!important;overflow-wrap:anywhere}
  body.npPortalBody .npPortalMeal article b{font-size:12px!important;flex:0 0 auto!important}
  body.npPortalBody .npPortalMeal article small{font-size:10px!important}
  body.npPortalBody .npPortalMealEmpty{font-size:11.5px!important}
  body.npPortalBody .npPortalPdfCard h2{font-size:16.5px!important}
  body.npPortalBody .npPortalPdfCard p{font-size:10.5px!important;overflow-wrap:anywhere}
  body.npPortalBody .npPortalPdfCard a{font-size:11px!important}

  /* Documenti */
  body.npPortalBody .npPortalDocs{min-width:0!important}
  body.npPortalBody .npPortalDocs article{min-width:0!important;grid-template-columns:44px minmax(0,1fr)!important;padding:14px!important;gap:12px!important}
  body.npPortalBody .npPortalDocs article>div{min-width:0!important}
  body.npPortalBody .npPortalDocs strong{font-size:13px!important;line-height:1.35!important;overflow-wrap:anywhere}
  body.npPortalBody .npPortalDocs small{font-size:10px!important;line-height:1.4!important;overflow-wrap:anywhere}
  body.npPortalBody .npPortalDocs article>a{grid-column:2!important;font-size:11px!important;width:max-content;max-width:100%!important}
  body.npPortalBody .npPortalEmpty{font-size:12px!important;padding:25px 18px!important}

  /* Profilo */
  body.npPortalBody .npPortalProfile{padding:20px!important}
  body.npPortalBody .npPortalAvatarBig{width:60px!important;height:60px!important}
  body.npPortalBody .npPortalProfile h2{font-size:21px!important}
  body.npPortalBody .npPortalProfile p{font-size:11px!important}
  body.npPortalBody .npPortalInfoGrid{min-width:0!important}
  body.npPortalBody .npPortalInfoGrid article{min-width:0!important;padding:17px!important}
  body.npPortalBody .npPortalInfoGrid span{font-size:10.5px!important}
  body.npPortalBody .npPortalInfoGrid strong{font-size:13px!important;line-height:1.4!important;overflow-wrap:anywhere}
  body.npPortalBody .npPortalPrivacyNote{font-size:11.5px!important;line-height:1.55!important;padding:14px 15px!important}
}

/* =========================================================
   FIX178 — PORTALE ASSISTITO / LEGGIBILITÀ + NOTIFICHE REALI
   - scala testi ulteriormente aumentata desktop/mobile
   - campanella interattiva con pallino rosso solo per non letti
   - pannello notifiche responsive
   ========================================================= */

/* Campanella: nessun pallino decorativo permanente. */
body.npPortalBody .npPortalNotifications{position:relative;display:flex;align-items:center}
body.npPortalBody .npPortalBell{
  appearance:none;border:0;background:transparent;color:inherit;padding:0;cursor:pointer;
  border-radius:10px;transition:background .18s ease,color .18s ease;
}
body.npPortalBody .npPortalBell:hover,
body.npPortalBody .npPortalBell[aria-expanded="true"]{background:var(--np-primary-faint)}
body.npPortalBody .npPortalBell:after{display:none!important;content:none!important}
body.npPortalBody .npPortalBellDot{
  position:absolute;right:3px;top:3px;width:9px;height:9px;border-radius:50%;
  background:#d9363e;border:2px solid #fff;box-sizing:content-box;pointer-events:none;
}
body.npPortalBody .npPortalNotificationPanel{
  position:absolute;right:-12px;top:44px;width:390px;max-width:calc(100vw - 24px);
  background:#fff;border:1px solid #dfe6e3;border-radius:16px;box-shadow:0 18px 46px rgba(22,55,47,.16);
  overflow:hidden;z-index:80;color:#173b32;
}
body.npPortalBody .npPortalNotificationPanel[hidden]{display:none!important}
body.npPortalBody .npPortalNotificationPanel>header{
  display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 17px;
  border-bottom:1px solid #edf1ef;background:#fbfcfb;
}
body.npPortalBody .npPortalNotificationPanel>header>div{display:flex;flex-direction:column;gap:3px;min-width:0}
body.npPortalBody .npPortalNotificationPanel>header strong{font-size:15px!important;font-weight:800}
body.npPortalBody .npPortalNotificationPanel>header small{font-size:11px;color:#71817c}
body.npPortalBody .npPortalNotificationPanel>header form{margin:0;flex:0 0 auto}
body.npPortalBody .npPortalNotificationPanel>header button{
  border:0;background:transparent;color:var(--np-primary);padding:5px 0;font-size:11px;font-weight:800;cursor:pointer
}
body.npPortalBody .npPortalNotificationList{max-height:420px;overflow-y:auto}
body.npPortalBody .npPortalNotificationList>a{
  position:relative;display:grid;grid-template-columns:38px minmax(0,1fr) 8px;gap:11px;align-items:start;
  padding:14px 15px;border-bottom:1px solid #eef1ef;color:inherit;text-decoration:none;background:#fff;
}
body.npPortalBody .npPortalNotificationList>a:last-child{border-bottom:0}
body.npPortalBody .npPortalNotificationList>a:hover{background:#f8faf9}
body.npPortalBody .npPortalNotificationList>a.unread{background:color-mix(in srgb,var(--np-primary) 4%,#fff)}
body.npPortalBody .npPortalNotificationIcon{
  width:38px;height:38px;border-radius:10px;background:var(--np-primary-faint);color:var(--np-primary);display:grid;place-items:center
}
body.npPortalBody .npPortalNotificationIcon svg{width:19px;height:19px}
body.npPortalBody .npPortalNotificationList>a>div{min-width:0}
body.npPortalBody .npPortalNotificationList>a strong{display:block;font-size:13px!important;line-height:1.35;margin:0 0 4px}
body.npPortalBody .npPortalNotificationList>a p{font-size:12px;line-height:1.4;color:#50675f;margin:0 0 6px;overflow-wrap:anywhere}
body.npPortalBody .npPortalNotificationList>a small{font-size:10px;color:#85938e}
body.npPortalBody .npPortalNotificationUnread{width:7px;height:7px;border-radius:50%;background:#d9363e;margin-top:6px}
body.npPortalBody .npPortalNotificationEmpty{padding:26px 18px;text-align:center;color:#7c8d87;font-size:12px}

/* ---------- DESKTOP: scala generale più leggibile ---------- */
@media (min-width:981px){
  body.npPortalBody .npPortalWeeklyCard h2,
  body.npPortalBody .npPortalBodyCard h2,
  body.npPortalBody .npPortalChartCard h2,
  body.npPortalBody .npPortalSharedDocs h2,
  body.npPortalBody .npPortalRailCard h2{font-size:20px!important}
  body.npPortalBody .npPortalWeeklyCard>header>span{font-size:13.5px!important}
  body.npPortalBody .npPortalWeekDays b{font-size:13px!important}
  body.npPortalBody .npPortalWeekDays strong{font-size:24px!important}
  body.npPortalBody .npPortalWeekDays small{font-size:12px!important}
  body.npPortalBody .npPortalBodyList>div>span{font-size:14px!important}
  body.npPortalBody .npPortalBodyList strong{font-size:15px!important}
  body.npPortalBody .npPortalBodyList em{font-size:12.5px!important}
  body.npPortalBody .npPortalBodyCard>a{font-size:13.5px!important}
  body.npPortalBody .npPortalChartCard>header span{font-size:12.5px!important}
  body.npPortalBody .npPortalChartDates{font-size:11px!important}
  body.npPortalBody .npPortalChartLast{font-size:13px!important}
  body.npPortalBody .npPortalSharedDocs strong{font-size:14.5px!important}
  body.npPortalBody .npPortalSharedDocs small{font-size:12px!important}
  body.npPortalBody .npPortalTextLink{font-size:13px!important}
  body.npPortalBody .npPortalSummary p strong{font-size:14px!important}
  body.npPortalBody .npPortalSummary p small{font-size:12.5px!important}
  body.npPortalBody .npPortalAdvice p,
  body.npPortalBody .npPortalObjective p,
  body.npPortalBody .npPortalSupport p{font-size:14px!important}
  body.npPortalBody .npPortalObjective small{font-size:12px!important}
  body.npPortalBody .npPortalSupport>a{font-size:13px!important}

  body.npPortalBody .npPortalMeal header span{font-size:16px!important}
  body.npPortalBody .npPortalMeal header small{font-size:12px!important}
  body.npPortalBody .npPortalMeal article strong{font-size:15px!important}
  body.npPortalBody .npPortalMeal article b{font-size:14.5px!important}
  body.npPortalBody .npPortalMeal article small{font-size:11.5px!important}
  body.npPortalBody .npPortalDocs strong{font-size:16px!important}
  body.npPortalBody .npPortalDocs small{font-size:12.5px!important}
  body.npPortalBody .npPortalDocs a{font-size:13.5px!important}
  body.npPortalBody .npPortalInfoGrid span{font-size:13px!important}
  body.npPortalBody .npPortalInfoGrid strong{font-size:16px!important}
  body.npPortalBody .npPortalPrivacyNote{font-size:14px!important}
}

/* ---------- TABLET ---------- */
@media (min-width:651px) and (max-width:980px){
  body.npPortalBody .npPortalWeeklyCard h2,
  body.npPortalBody .npPortalBodyCard h2,
  body.npPortalBody .npPortalChartCard h2,
  body.npPortalBody .npPortalSharedDocs h2,
  body.npPortalBody .npPortalRailCard h2{font-size:19px!important}
  body.npPortalBody .npPortalWeekDays b{font-size:12.5px!important}
  body.npPortalBody .npPortalWeekDays strong{font-size:23px!important}
  body.npPortalBody .npPortalWeekDays small{font-size:11.5px!important}
  body.npPortalBody .npPortalBodyList>div>span{font-size:13.5px!important}
  body.npPortalBody .npPortalBodyList strong{font-size:14px!important}
  body.npPortalBody .npPortalBodyList em{font-size:12px!important}
}

/* ---------- MOBILE: incremento definitivo leggibilità ---------- */
@media (max-width:650px){
  body.npPortalBody .npPortalMobileNav small{font-size:12px!important}
  body.npPortalBody .npPortalMobileNav svg{width:24px!important;height:24px!important}

  body.npPortalBody .npPortalWeeklyCard,
  body.npPortalBody .npPortalBodyCard{padding:18px 15px!important}
  body.npPortalBody .npPortalWeeklyCard h2,
  body.npPortalBody .npPortalBodyCard h2,
  body.npPortalBody .npPortalChartCard h2,
  body.npPortalBody .npPortalSharedDocs h2,
  body.npPortalBody .npPortalRailCard h2{font-size:20px!important;line-height:1.25!important}
  body.npPortalBody .npPortalWeeklyCard>header>span{font-size:13px!important;padding-left:0!important;margin-top:3px}
  body.npPortalBody .npPortalWeekDays a{flex-basis:112px!important;width:112px!important;min-width:112px!important;max-width:112px!important;min-height:154px!important}
  body.npPortalBody .npPortalWeekDays b{font-size:13px!important}
  body.npPortalBody .npPortalWeekDays strong{font-size:25px!important}
  body.npPortalBody .npPortalWeekDays small{font-size:13px!important;line-height:1.3!important}

  body.npPortalBody .npPortalBodyList>div{min-height:58px!important;padding:10px 0!important;row-gap:4px!important}
  body.npPortalBody .npPortalBodyList>div>span{font-size:15px!important;line-height:1.3!important}
  body.npPortalBody .npPortalBodyList>div>span svg{width:19px!important;height:19px!important}
  body.npPortalBody .npPortalBodyList strong{font-size:16px!important}
  body.npPortalBody .npPortalBodyList em{font-size:14px!important}
  body.npPortalBody .npPortalBodyCard>a{height:46px!important;font-size:15px!important}
  body.npPortalBody .npPortalMiniEmpty{font-size:14px!important}
  body.npPortalBody .npPortalChartCard>header span{font-size:12.5px!important}
  body.npPortalBody .npPortalChartLast{font-size:13px!important}
  body.npPortalBody .npPortalSharedDocs strong{font-size:14px!important}
  body.npPortalBody .npPortalSharedDocs small{font-size:11.5px!important}
  body.npPortalBody .npPortalTextLink{font-size:13.5px!important}
  body.npPortalBody .npPortalSummary p strong{font-size:13.5px!important}
  body.npPortalBody .npPortalSummary p small{font-size:12px!important}
  body.npPortalBody .npPortalAdvice p,
  body.npPortalBody .npPortalObjective p,
  body.npPortalBody .npPortalSupport p{font-size:13.5px!important}
  body.npPortalBody .npPortalObjective small{font-size:11.5px!important}
  body.npPortalBody .npPortalSupport>a{font-size:12.5px!important}

  body.npPortalBody .npPortalSubPageHead>p{font-size:11px!important}
  body.npPortalBody .npPortalSubPageHead>div{font-size:13.5px!important}
  body.npPortalBody .npPortalProgressHero span{font-size:13px!important}
  body.npPortalBody .npPortalProgressHero p{font-size:12px!important}
  body.npPortalBody .npPortalSectionTitle span{font-size:10.5px!important}
  body.npPortalBody .npPortalProgressList header time{font-size:12px!important}
  body.npPortalBody .npPortalProgressList header strong{font-size:15px!important}
  body.npPortalBody .npPortalProgressList small{font-size:11.5px!important}
  body.npPortalBody .npPortalProgressList b{font-size:14px!important}

  body.npPortalBody .npPortalMeal header span{font-size:16px!important}
  body.npPortalBody .npPortalMeal header small{font-size:12px!important}
  body.npPortalBody .npPortalMeal article strong{font-size:14.5px!important}
  body.npPortalBody .npPortalMeal article b{font-size:14px!important}
  body.npPortalBody .npPortalMeal article small{font-size:11.5px!important}
  body.npPortalBody .npPortalDocs strong{font-size:14.5px!important}
  body.npPortalBody .npPortalDocs small{font-size:11.5px!important}
  body.npPortalBody .npPortalDocs article>a{font-size:13px!important}
  body.npPortalBody .npPortalInfoGrid span{font-size:12px!important}
  body.npPortalBody .npPortalInfoGrid strong{font-size:14.5px!important}
  body.npPortalBody .npPortalPrivacyNote{font-size:13px!important}

  body.npPortalBody .npPortalNotificationPanel{
    position:fixed;left:12px;right:12px;top:70px;width:auto;max-width:none;border-radius:15px;
  }
  body.npPortalBody .npPortalNotificationPanel>header{padding:15px}
  body.npPortalBody .npPortalNotificationPanel>header strong{font-size:16px!important}
  body.npPortalBody .npPortalNotificationPanel>header small{font-size:12px}
  body.npPortalBody .npPortalNotificationPanel>header button{font-size:12px}
  body.npPortalBody .npPortalNotificationList{max-height:min(55vh,430px)}
  body.npPortalBody .npPortalNotificationList>a{padding:14px 13px;grid-template-columns:40px minmax(0,1fr) 8px}
  body.npPortalBody .npPortalNotificationList>a strong{font-size:14px!important}
  body.npPortalBody .npPortalNotificationList>a p{font-size:13px}
  body.npPortalBody .npPortalNotificationList>a small{font-size:11px}
}

/* =========================================================
   FIX179 — CAMPANELLA PORTALE ASSISTITO SENZA RIQUADRO
   Mantiene notifiche e pallino rosso, rimuove ogni chrome visivo.
   ========================================================= */
body.npPortalBody .npPortalBell,
body.npPortalBody .npPortalBell:hover,
body.npPortalBody .npPortalBell:active,
body.npPortalBody .npPortalBell[aria-expanded="true"]{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  min-height:34px!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  background:transparent!important;
  box-shadow:none!important;
  outline:0!important;
  color:var(--np-primary)!important;
}
body.npPortalBody .npPortalBell svg{
  width:24px!important;
  height:24px!important;
}
body.npPortalBody .npPortalBell:focus-visible{
  outline:2px solid color-mix(in srgb,var(--np-primary) 28%,transparent)!important;
  outline-offset:3px!important;
  border-radius:50%!important;
}
body.npPortalBody .npPortalBellDot{
  right:1px!important;
  top:1px!important;
}

/* =========================================================
   FIX180 — CAMPANELLA COMPLETAMENTE SENZA CONTENITORE VISIVO
   Elimina anche l'outline/focus circolare mostrato dal browser.
   ========================================================= */
body.npPortalBody .npPortalBell,
body.npPortalBody .npPortalBell:hover,
body.npPortalBody .npPortalBell:active,
body.npPortalBody .npPortalBell:focus,
body.npPortalBody .npPortalBell:focus-visible,
body.npPortalBody .npPortalBell[aria-expanded="true"]{
  -webkit-appearance:none!important;
  appearance:none!important;
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  min-height:34px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:none!important;
  background-color:transparent!important;
  box-shadow:none!important;
  outline:none!important;
  color:var(--np-primary)!important;
}
body.npPortalBody .npPortalBell::-moz-focus-inner{
  border:0!important;
  padding:0!important;
}
body.npPortalBody .npPortalBell svg{
  width:24px!important;
  height:24px!important;
  display:block!important;
}
body.npPortalBody .npPortalBell:focus-visible svg{
  opacity:.82;
}
body.npPortalBody .npPortalBellDot{
  right:1px!important;
  top:1px!important;
}


/* =========================================================
   FIX181 — CAMPANELLA SOLO ICONA / OVERRIDE DEFINITIVO
   ID dedicato per superare le regole globali dei pulsanti backend.
   ========================================================= */
body.npPortalBody #npPortalBellButton,
body.npPortalBody #npPortalBellButton:hover,
body.npPortalBody #npPortalBellButton:active,
body.npPortalBody #npPortalBellButton:focus,
body.npPortalBody #npPortalBellButton:focus-visible,
body.npPortalBody #npPortalBellButton[aria-expanded="true"]{
  -webkit-appearance:none!important;
  appearance:none!important;
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  min-height:34px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-width:0!important;
  border-style:none!important;
  border-color:transparent!important;
  border-radius:0!important;
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  outline:0!important;
  outline-offset:0!important;
  color:var(--np-primary)!important;
  filter:none!important;
  transform:none!important;
}
body.npPortalBody #npPortalBellButton::-moz-focus-inner{border:0!important;padding:0!important}
body.npPortalBody #npPortalBellButton svg{
  display:block!important;
  width:24px!important;
  height:24px!important;
  margin:auto!important;
  padding:0!important;
  border:0!important;
  outline:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

/* =========================================================
   FIX182 — COLORI PORTALE + HOVER CAMPANELLA
   - colore testo configurabile sugli elementi con colore principale
   - campanella solo icona: al passaggio si riempie con il colore principale
   ========================================================= */
.nutritionPortalTextColorLabel{
  margin-top:18px!important;
  padding-top:18px!important;
  border-top:1px solid #e7ece9;
}
.nutritionPortalTextColorLabel>small{
  margin-top:2px;
  color:#7a8883;
  font-size:11px;
  line-height:1.45;
}
.nutritionPortalPreviewViewport{--np-preview-text:#ffffff}
.nutritionPortalMiniApp nav span.active,
.nutritionPortalMiniApp>main>header>b,
.nutritionPortalMiniHero button{
  color:var(--np-preview-text)!important;
}

/* Il colore testo scelto viene usato anche nell'area accesso sui fondi primari. */
.npPortalAuthBrand,
.npPortalAuthForm button,
.npPortalAuthPrimaryLink,
.npPortalAuthForm button[type="submit"].npPortalAuthSubmit--login{
  color:var(--np-on-primary,#ffffff)!important;
}

/* Campanella: nessun contenitore. Il corpo della campana si riempie in hover/aperta. */
body.npPortalBody #npPortalBellButton svg path{
  transition:fill .16s ease,stroke .16s ease,opacity .16s ease;
}
body.npPortalBody #npPortalBellButton svg path:first-child{
  fill:transparent!important;
  stroke:var(--np-primary)!important;
}
body.npPortalBody #npPortalBellButton svg path:last-child{
  fill:none!important;
  stroke:var(--np-primary)!important;
}
body.npPortalBody #npPortalBellButton:hover svg path:first-child,
body.npPortalBody #npPortalBellButton[aria-expanded="true"] svg path:first-child{
  fill:var(--np-primary)!important;
  stroke:var(--np-primary)!important;
}
body.npPortalBody #npPortalBellButton:hover svg path:last-child,
body.npPortalBody #npPortalBellButton[aria-expanded="true"] svg path:last-child{
  stroke:var(--np-primary)!important;
}


/* =========================================================
   FIX184 — Agenda Nutrizione
   ========================================================= */
.nutritionAgendaSidebarLink{position:relative}
.nutritionAgendaUnread{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;margin-left:8px;border-radius:999px;background:#d92d20;color:#fff;font-size:11px;font-weight:800;line-height:1}
.nutritionAgendaPage{display:grid;gap:22px}
.nutritionAgendaHead{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.nutritionAgendaHead h2{margin:4px 0 6px;font-size:30px}
.nutritionAgendaHead p{margin:0;color:#687a75}
.nutritionAgendaLayout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.65fr);gap:22px;align-items:start}
.nutritionAgendaCalendar,.nutritionAgendaCreate,.nutritionAgendaNotifications{background:#fff;border:1px solid #dbe5e1;border-radius:22px}
.nutritionAgendaCalendar{padding:22px}
.nutritionAgendaCreate{padding:24px;position:sticky;top:20px}
.nutritionAgendaCreate h3{margin:4px 0 8px;font-size:24px}
.nutritionAgendaCreate>p:not(.eyebrow){margin:0 0 20px;color:#6d7e79}
.nutritionAgendaCreate form{display:grid;gap:15px}
.nutritionAgendaCreate label{display:grid;gap:7px;font-weight:700;color:#173f35}
.nutritionAgendaCreate select,.nutritionAgendaCreate input{width:100%;min-width:0;height:48px;border:1px solid #d4dfdb;border-radius:12px;background:#fff;padding:0 13px;font:inherit;color:#173f35}
.nutritionAgendaCreate button[type="submit"]{min-height:48px}
.nutritionAgendaSlotNote{display:block;color:#71827d;line-height:1.45}
.nutritionAgendaToolbar{display:flex;align-items:center;gap:12px;padding-bottom:18px;border-bottom:1px solid #e5ece9}
.nutritionAgendaToolbar>div{display:grid;gap:2px;min-width:150px}
.nutritionAgendaToolbar>div small{color:#71827d;font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.nutritionAgendaToolbar>div strong{font-size:21px;color:#173f35}
.nutritionAgendaToolbar .button{margin-left:auto}
.nutritionAgendaDayList{display:grid;gap:11px;padding-top:18px}
.nutritionAgendaEvent{display:grid;grid-template-columns:74px minmax(0,1fr) auto auto;align-items:center;gap:16px;padding:15px 16px;border:1px solid #e1e9e6;border-radius:15px;background:#fff}
.nutritionAgendaEvent time{font-size:22px;font-weight:800;color:#164f40}
.nutritionAgendaEvent>div{display:grid;gap:2px}
.nutritionAgendaEvent>div strong{font-size:16px;color:#173f35}
.nutritionAgendaEvent>div span{font-weight:700;color:#516863}
.nutritionAgendaEvent>div small{color:#81908c}
.nutritionAgendaStatus{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:7px 10px;background:#edf5f2;color:#315e53;font-size:12px;font-weight:800;white-space:nowrap}
.nutritionAgendaEvent--cancelled_client,.nutritionAgendaEvent--cancelled_staff{opacity:.7;background:#fafafa}
.nutritionAgendaEvent--cancelled_client .nutritionAgendaStatus,.nutritionAgendaEvent--cancelled_staff .nutritionAgendaStatus{background:#f4eceb;color:#8a4b44}
.nutritionAgendaCancel{width:36px;height:36px;border-radius:50%;border:1px solid #e4cbc8!important;background:#fff!important;color:#a33b33!important;font-size:22px!important;padding:0!important;line-height:1!important}
.nutritionAgendaEmpty{min-height:250px;display:grid;place-items:center;text-align:center;align-content:center;gap:8px;color:#6f817c}
.nutritionAgendaEmpty svg{width:34px;height:34px;color:#3d6c60}
.nutritionAgendaEmpty strong{font-size:18px;color:#173f35}
.nutritionAgendaEmpty p{margin:0}
.nutritionAgendaNotifications{padding:20px}
.nutritionAgendaSectionHead{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:14px}
.nutritionAgendaSectionHead h3{margin:3px 0 0;font-size:22px}
.nutritionAgendaNotifList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.nutritionAgendaNotifList>a{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:11px;align-items:start;padding:13px;border:1px solid #e2eae7;border-radius:14px;text-decoration:none;color:inherit;background:#fff}
.nutritionAgendaNotifList>a.unread{background:#f4f8f6;border-color:#bcd1ca}
.nutritionAgendaNotifIcon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#edf5f2;color:#194f41}
.nutritionAgendaNotifIcon svg{width:19px;height:19px}
.nutritionAgendaNotifList strong{display:block;color:#173f35;margin-bottom:3px}
.nutritionAgendaNotifList p{margin:0 0 5px;color:#566d67;font-size:13px;line-height:1.4}
.nutritionAgendaNotifList small{color:#84918e;font-size:11px}
.nutritionAgendaNotifList>a>i{width:8px;height:8px;border-radius:50%;background:#d92d20;margin-top:5px}
.nutritionAgendaSettingsPage{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);gap:22px;align-items:start}
.nutritionAgendaSettingsForm{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.nutritionAgendaAvailabilityCard{grid-column:1/-1}
.nutritionAgendaSettingsActions{grid-column:1/-1;display:flex;justify-content:flex-end}
.nutritionAgendaSettingsCard>label:not(.settingsToggleRow){display:grid;gap:7px;margin-top:16px;font-weight:700}
.nutritionAgendaSettingsCard select{height:48px;border:1px solid #d5dfdc;border-radius:12px;padding:0 12px;background:#fff}
.nutritionAgendaSettingsCard .settingsToggleRow{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 0;border-top:1px solid #e7ecea}
.nutritionAgendaSettingsCard .settingsToggleRow span{display:grid;gap:3px}
.nutritionAgendaSettingsCard .settingsToggleRow small{color:#71817d;font-weight:400}
.nutritionAgendaAvailability{display:grid;gap:10px;margin-top:18px}
.nutritionAgendaAvailability>article{display:grid;grid-template-columns:110px minmax(0,1fr);gap:14px;align-items:start;padding:12px 0;border-top:1px solid #e7ecea}
.nutritionAgendaAvailability>article>strong{padding-top:10px;color:#173f35}
.nutritionAgendaAvailability>article>div{display:grid;gap:8px}
.nutritionAgendaAvailabilityRow{display:grid;grid-template-columns:110px minmax(110px,1fr) auto minmax(110px,1fr);gap:9px;align-items:center}
.nutritionAgendaAvailabilityRow input[type="time"]{width:100%;min-width:0;height:42px;border:1px solid #d5dfdc;border-radius:10px;padding:0 10px;background:#fff}
.nutritionAgendaTypesCard{position:sticky;top:20px}
.nutritionAgendaTypeList{display:grid;gap:10px;margin-top:18px}
.nutritionAgendaTypeRow{display:grid;grid-template-columns:minmax(0,1fr) 86px 82px auto;gap:9px;align-items:end;padding:12px;border:1px solid #e0e8e5;border-radius:13px}
.nutritionAgendaTypeRow label:not(.check){display:grid;gap:5px;font-size:12px;font-weight:700;color:#647670}
.nutritionAgendaTypeRow input[type="text"],.nutritionAgendaTypeRow input[type="number"],.nutritionAgendaTypeRow input:not([type]){width:100%;height:42px;border:1px solid #d4dfdb;border-radius:10px;padding:0 10px;font:inherit}
.nutritionAgendaTypeActive{align-self:center;white-space:nowrap}
.nutritionAgendaTypeRow--new{background:#f6f9f8}
.nutritionAgendaTypeRow--new>span{display:block}

/* Portale assistito · Agenda */
.npPortalNextAppointment>strong{display:block;margin:10px 0 4px;font-size:18px;color:var(--np-primary)}
.npPortalNextAppointment>p{margin:0 0 12px!important}
.npPortalNextAppointment>a{display:inline-flex;align-items:center;gap:6px;font-weight:800;color:var(--np-primary);text-decoration:none}
.npPortalNextAppointment>a svg{width:16px;height:16px}
.npPortalAppointmentGrid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:22px;align-items:start}
.npPortalAppointmentColumn{display:grid;gap:16px}
.npPortalAppointmentCard,.npPortalAppointmentBooking,.npPortalAppointmentUpcoming,.npPortalAppointmentHistory{border:1px solid #dce6e2;border-radius:20px;background:#fff}
.npPortalAppointmentCard{padding:26px;text-align:center}
.npPortalAppointmentEyebrow{display:block;font-size:12px;font-weight:800;letter-spacing:.12em;color:var(--np-primary);margin-bottom:14px}
.npPortalAppointmentHeroIcon,.npPortalAppointmentEmptyIcon{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 14px;border-radius:18px;background:var(--np-primary-faint);color:var(--np-primary)}
.npPortalAppointmentHeroIcon svg,.npPortalAppointmentEmptyIcon svg{width:29px;height:29px}
.npPortalAppointmentCard h2{margin:0 0 8px;font-size:25px;color:#173f35}
.npPortalAppointmentCard>strong{display:block;font-size:19px;color:var(--np-primary);margin-bottom:7px}
.npPortalAppointmentCard>p{margin:0;color:#687b75}
.npPortalAppointmentCard form{margin-top:18px}
.npPortalAppointmentCancel{border:1px solid #e0b5b0!important;background:#fff!important;color:#9f342d!important;border-radius:11px!important;padding:11px 15px!important;font-weight:800!important}
.npPortalAppointmentBooking{padding:26px}
.npPortalAppointmentBooking form{display:grid;gap:15px;margin-top:18px}
.npPortalAppointmentBooking label{display:grid;gap:7px;font-weight:800;color:#173f35}
.npPortalAppointmentBooking select,.npPortalAppointmentBooking input{width:100%;min-width:0;height:50px;border:1px solid #d6e1dd;border-radius:12px;background:#fff;padding:0 13px;font:inherit;color:#173f35}
.npPortalAppointmentBooking button[type="submit"]{min-height:50px;border-radius:12px}
.npPortalAppointmentSlotHelp{margin:0;color:#75857f;font-size:13px;line-height:1.45}
.npPortalAppointmentUpcoming{padding:20px}
.npPortalAppointmentUpcoming h2{margin:0 0 12px;font-size:20px}
.npPortalAppointmentUpcoming article{display:flex;align-items:center;gap:11px;padding:12px 0;border-top:1px solid #e5ece9}
.npPortalAppointmentUpcoming article>span{color:var(--np-primary)}
.npPortalAppointmentUpcoming article>span svg{width:22px;height:22px}
.npPortalAppointmentUpcoming article>div{display:grid;gap:3px}
.npPortalAppointmentUpcoming small{color:#71817d}
.npPortalAppointmentHistory{padding:22px;margin-top:22px}
.npPortalAppointmentHistory>div:last-child{display:grid;gap:8px;margin-top:14px}
.npPortalAppointmentHistory article{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 13px;border-radius:12px;background:#f7f9f8}
.npPortalAppointmentHistory time{color:#667a74;font-size:13px}
.npPortalAppointmentHistory strong{color:#173f35}
.npPortalAppointmentHistory article>span{color:#7b8a86;font-size:13px}
.npPortalInlineNotice{margin:0 0 18px;padding:12px 15px;border:1px solid var(--np-primary-mid);border-radius:12px;background:var(--np-primary-faint);color:#173f35;font-weight:700}

@media(max-width:1100px){
  .nutritionAgendaLayout,.nutritionAgendaSettingsPage{grid-template-columns:1fr}
  .nutritionAgendaCreate,.nutritionAgendaTypesCard{position:static}
}
@media(max-width:800px){
  .nutritionAgendaHead,.nutritionAgendaSectionHead{align-items:stretch;flex-direction:column}
  .nutritionAgendaNotifList{grid-template-columns:1fr}
  .nutritionAgendaSettingsForm{grid-template-columns:1fr}
  .nutritionAgendaAvailabilityCard,.nutritionAgendaSettingsActions{grid-column:auto}
  .nutritionAgendaAvailability>article{grid-template-columns:1fr}
  .nutritionAgendaAvailabilityRow{grid-template-columns:1fr 1fr;gap:7px}
  .nutritionAgendaAvailabilityRow .check{grid-column:1/-1}
  .nutritionAgendaAvailabilityRow>span{display:none}
  .nutritionAgendaTypeRow{grid-template-columns:1fr 80px}
  .nutritionAgendaTypeRow .nutritionAgendaTypeActive,.nutritionAgendaTypeRow button{align-self:center}
  .nutritionAgendaEvent{grid-template-columns:60px minmax(0,1fr) auto}
  .nutritionAgendaEvent .nutritionAgendaStatus{grid-column:2/3;justify-self:start}
  .nutritionAgendaEvent form{grid-column:3;grid-row:1/3}
  .npPortalAppointmentGrid{grid-template-columns:1fr}
}
@media(max-width:650px){
  .nutritionAgendaCalendar,.nutritionAgendaCreate,.nutritionAgendaNotifications{border-radius:16px;padding:16px}
  .nutritionAgendaToolbar{flex-wrap:wrap}
  .nutritionAgendaToolbar>div{min-width:130px}
  .nutritionAgendaToolbar .button{margin-left:0}
  .nutritionAgendaEvent{grid-template-columns:52px minmax(0,1fr) auto;padding:12px;gap:10px}
  .nutritionAgendaEvent time{font-size:18px}
  .nutritionAgendaEvent>div strong{font-size:15px}
  .nutritionAgendaTypeRow{grid-template-columns:1fr}
  .nutritionAgendaTypeRow--new>span{display:none}
  .npPortalAppointmentCard,.npPortalAppointmentBooking{padding:20px}
  .npPortalAppointmentCard h2{font-size:22px}
  .npPortalAppointmentHistory article{grid-template-columns:1fr;gap:4px}
  .npPortalMobileNav{grid-template-columns:repeat(6,minmax(0,1fr))!important}
  .npPortalMobileNav a{min-width:0;padding-left:2px!important;padding-right:2px!important}
  .npPortalMobileNav a small{font-size:10px!important;letter-spacing:-.02em}
  .npPortalMobileNav a svg{width:21px!important;height:21px!important}
}

/* FIX185 — Agenda e disponibilità · layout approvato */
.nutritionAgendaSettingsPage--approved{display:block!important;max-width:none!important}
.nutritionAgendaSettingsPage--approved .settingsCardV2{margin:0}
.nutritionAgendaSettingsTop{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(260px,.75fr) minmax(430px,1.45fr);gap:18px;align-items:stretch}
.nutritionAgendaSettingsBottom{display:grid;grid-template-columns:minmax(540px,1.08fr) minmax(560px,.92fr);gap:18px;margin-top:18px;align-items:stretch}
.nutritionAgendaApprovedCard{border:1px solid #e3eae7!important;border-radius:22px!important;background:#fff!important;padding:20px!important;box-shadow:0 8px 28px rgba(25,69,56,.035)!important;color:#173f35}
.nutritionAgendaApprovedCard>p{margin:8px 0 16px;color:#6d7d78;font-size:14px;line-height:1.5}
.nutritionAgendaApprovedCard h3{margin:7px 0 2px;font-size:22px;color:#133f34}
.nutritionAgendaCardEyebrow{display:flex;align-items:center;gap:9px;color:#0d604c;font-size:12px;letter-spacing:.04em;font-weight:800}
.nutritionAgendaCardEyebrow>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#e6f3ed;color:#12604c;flex:none}
.nutritionAgendaCardEyebrow svg{width:17px;height:17px}
.nutritionAgendaCompactList{display:grid;gap:5px;margin-top:14px}
.nutritionAgendaCompactRow{display:grid;grid-template-columns:24px minmax(60px,1fr) auto minmax(82px,auto) 42px;align-items:center;gap:7px;min-height:40px;padding:4px 6px;border:1px solid #e1e8e5;border-radius:9px;background:#fff}
.nutritionAgendaTypeCompactList .nutritionAgendaCompactRow{grid-template-columns:24px minmax(170px,1fr) minmax(82px,auto) 42px}
.nutritionAgendaDrag{color:#7a8b86;font-size:15px;line-height:1;text-align:center;letter-spacing:-2px}
.nutritionAgendaInlineInput{width:100%;min-width:0;border:0!important;background:transparent!important;padding:5px 2px!important;height:31px!important;font-weight:700;color:#26352f;box-shadow:none!important}
.nutritionAgendaInlineInput--name{font-weight:600}
.nutritionAgendaActiveCheck{display:flex;align-items:center;gap:6px;font-size:12px;color:#64736e;white-space:nowrap}
.nutritionAgendaActiveCheck input{position:absolute;opacity:0;pointer-events:none}
.nutritionAgendaActiveCheck i{width:7px;height:7px;border-radius:50%;background:#c5cfcc;display:block}
.nutritionAgendaActiveCheck input:checked+i{background:#37a863}
.nutritionAgendaIconButton{width:36px!important;height:32px!important;min-width:36px!important;display:grid!important;place-items:center!important;border:1px solid #dfe7e4!important;border-radius:8px!important;background:#fff!important;color:#144d3f!important;padding:0!important;box-shadow:none!important}
.nutritionAgendaIconButton svg{width:16px;height:16px}
.nutritionAgendaIconButton--danger{color:#ff4f5e!important}
.nutritionAgendaDeleteForm{margin:-45px 6px 0 auto;transform:translateX(42px);width:36px;position:relative;z-index:2}
.nutritionAgendaIntervalsCard .nutritionAgendaCompactList{padding-right:42px}
.nutritionAgendaAddInline{display:grid;grid-template-columns:84px 1fr;gap:8px;margin-top:18px}
.nutritionAgendaAddInline>input{height:38px;border:1px solid #dce5e2;border-radius:9px;padding:0 10px;min-width:0}
.nutritionAgendaAddInline>button{grid-column:1/-1;height:40px;border:1px solid #16805f!important;border-radius:9px!important;background:#fff!important;color:#0c664e!important;font-weight:800!important;padding:0 14px!important;box-shadow:none!important}
.nutritionAgendaTypeCompactList+.nutritionAgendaAddInline{grid-template-columns:1fr}.nutritionAgendaTypeCompactList+.nutritionAgendaAddInline>input{display:none}
.nutritionAgendaReminderForm{display:grid;gap:14px;margin-top:18px}
.nutritionAgendaReminderRow{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;border:1px solid #e0e7e5;border-radius:12px;padding:13px;background:#fff}
.nutritionAgendaReminderRow>span:first-child{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#f6f8f7;color:#183f35}
.nutritionAgendaReminderRow svg{width:17px;height:17px}.nutritionAgendaReminderRow strong{display:block;color:#253a33;font-size:14px}.nutritionAgendaReminderRow small{display:block;margin-top:3px;color:#7b8985;font-size:11px}
.nutritionAgendaReminderRow input[type=checkbox]{appearance:none;width:36px;height:21px;border-radius:20px;background:#cbd6d2;position:relative;cursor:pointer;transition:.2s}
.nutritionAgendaReminderRow input[type=checkbox]:before{content:"";position:absolute;width:17px;height:17px;left:2px;top:2px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.18);transition:.2s}
.nutritionAgendaReminderRow input[type=checkbox]:checked{background:#0b7659}.nutritionAgendaReminderRow input[type=checkbox]:checked:before{transform:translateX(15px)}
.nutritionAgendaReminderSave{display:none}
.nutritionAgendaWeeklyCard{position:relative;padding-bottom:70px!important}
.nutritionAgendaWeeklyTable{margin-top:12px;border-top:1px solid #edf1ef}
.nutritionAgendaWeeklyHead,.nutritionAgendaWeeklyRow{display:grid;grid-template-columns:120px 1fr 1fr;gap:12px;align-items:center}
.nutritionAgendaWeeklyHead{padding:8px 10px 5px;font-size:11px;color:#687973;font-weight:700}
.nutritionAgendaWeeklyRow{min-height:44px;padding:5px 10px;border-top:1px solid #edf1ef}
.nutritionAgendaWeeklyRow>label{display:flex;align-items:center;gap:10px;font-size:13px;color:#253831;font-weight:600}
.nutritionAgendaWeeklyRow>label input{width:17px;height:17px;accent-color:#0d7658}
.nutritionAgendaTimeRange{display:grid;grid-template-columns:18px minmax(78px,1fr) 10px minmax(78px,1fr);gap:7px;align-items:center}
.nutritionAgendaTimeRange>input[type=checkbox]{display:none}
.nutritionAgendaTimeRange input[type=time]{width:100%;min-width:0;height:32px;border:1px solid #dbe4e1;border-radius:9px;background:#fff;padding:0 9px;font-size:12px;color:#26372f}
.nutritionAgendaTimeRange>span{text-align:center;color:#72817c}
.nutritionAgendaWeeklyRow.is-disabled{opacity:.5}
.nutritionAgendaPrimarySave{position:absolute;right:0;bottom:-66px;min-width:300px;height:48px;border:0!important;border-radius:10px!important;background:#0c7458!important;color:#fff!important;font-size:14px!important;font-weight:800!important;box-shadow:none!important}
.nutritionAgendaClosuresCard{display:grid;grid-template-columns:minmax(320px,1.15fr) minmax(250px,.85fr);gap:20px;padding:0!important;overflow:hidden}
.nutritionAgendaClosureListPane{padding:20px;border-right:1px solid #edf1ef}
.nutritionAgendaClosureList{display:grid;gap:10px;margin-top:18px}
.nutritionAgendaClosureList article{display:grid;grid-template-columns:48px minmax(0,1fr) auto 36px;align-items:center;gap:10px;border:1px solid #e0e8e5;border-radius:10px;padding:9px;background:#fff}
.nutritionAgendaDateBadge{width:44px;height:48px;border-radius:9px;background:#fff1f3;color:#ef3e4c;display:grid;place-items:center;align-content:center;line-height:1}
.nutritionAgendaDateBadge b{font-size:16px}.nutritionAgendaDateBadge small{font-size:9px;margin-top:4px;font-weight:700}
.nutritionAgendaClosureList article>div strong{display:block;font-size:13px;color:#263832}.nutritionAgendaClosureList article>div small{display:block;margin-top:4px;color:#7a8884;font-size:11px}
.nutritionAgendaClosureList article>em{font-style:normal;font-size:10px;color:#ff5362;background:#fff0f2;border-radius:8px;padding:5px 8px;white-space:nowrap}
.nutritionAgendaClosureList article form{margin:0}.nutritionAgendaClosureList article form .nutritionAgendaIconButton{color:#0d6f56!important}
.nutritionAgendaClosureAdd{display:grid;grid-template-columns:145px 1fr;gap:8px;margin-top:14px}
.nutritionAgendaClosureAdd input{height:36px;border:1px solid #dce5e2;border-radius:9px;padding:0 9px;min-width:0}
.nutritionAgendaClosureAdd button{grid-column:1/-1;height:40px;border:1px solid #16805f!important;border-radius:9px!important;background:#fff!important;color:#0c664e!important;font-weight:800!important;padding:0!important;box-shadow:none!important}
.nutritionAgendaMiniCalendar{padding:22px 20px 18px;display:flex;flex-direction:column}
.nutritionAgendaMiniCalendar header{display:grid;grid-template-columns:28px 1fr 28px;align-items:center;text-align:center;margin-bottom:18px}.nutritionAgendaMiniCalendar header a{font-size:24px;color:#213b33;text-decoration:none}.nutritionAgendaMiniCalendar header strong{font-size:15px;color:#202c28}
.nutritionAgendaCalWeek,.nutritionAgendaCalGrid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;text-align:center}.nutritionAgendaCalWeek{font-size:10px;color:#65756f;font-weight:700;margin-bottom:10px}.nutritionAgendaCalGrid span{height:30px;display:grid;place-items:center;border-radius:50%;font-size:12px;color:#24332e}.nutritionAgendaCalGrid span.is-empty{visibility:hidden}.nutritionAgendaCalGrid span.is-closed{border:1.5px solid #ff5865;background:#fff2f3;color:#d6404d;font-weight:700}
.nutritionAgendaCalLegend{margin-top:auto;padding-top:20px;display:flex;align-items:center;gap:7px;color:#7e8b87;font-size:10px}.nutritionAgendaCalLegend i{width:7px;height:7px;border-radius:50%;background:#ff7a84}
@media(max-width:1180px){.nutritionAgendaSettingsTop{grid-template-columns:1fr 1fr}.nutritionAgendaTypesCard--approved{grid-column:1/-1}.nutritionAgendaSettingsBottom{grid-template-columns:1fr}.nutritionAgendaPrimarySave{position:static;margin-top:18px;width:100%}.nutritionAgendaWeeklyCard{padding-bottom:20px!important}}
@media(max-width:760px){.nutritionAgendaSettingsTop{grid-template-columns:1fr}.nutritionAgendaTypesCard--approved{grid-column:auto}.nutritionAgendaSettingsBottom{grid-template-columns:1fr}.nutritionAgendaApprovedCard{border-radius:18px!important;padding:16px!important}.nutritionAgendaClosuresCard{grid-template-columns:1fr}.nutritionAgendaClosureListPane{border-right:0;border-bottom:1px solid #edf1ef}.nutritionAgendaWeeklyHead{display:none}.nutritionAgendaWeeklyRow{grid-template-columns:1fr;gap:8px;padding:12px 2px}.nutritionAgendaTimeRange{grid-template-columns:18px 1fr 10px 1fr}.nutritionAgendaCompactRow,.nutritionAgendaTypeCompactList .nutritionAgendaCompactRow{grid-template-columns:20px minmax(0,1fr) auto 38px}.nutritionAgendaCompactRow>span:nth-of-type(2){display:none}.nutritionAgendaClosureList article{grid-template-columns:44px 1fr 34px}.nutritionAgendaClosureList article>em{display:none}.nutritionAgendaClosureAdd{grid-template-columns:1fr}.nutritionAgendaPrimarySave{min-width:0}}
.nutritionAgendaCompactRow{grid-template-columns:24px minmax(60px,1fr) auto minmax(82px,auto) 38px 38px}
.nutritionAgendaTypeCompactList .nutritionAgendaCompactRow{grid-template-columns:24px minmax(170px,1fr) minmax(82px,auto) 38px 38px}
.nutritionAgendaDeleteForm{display:none!important}
.nutritionAgendaClosureAdd{display:block}.nutritionAgendaClosureAdd>[data-closure-fields]{display:grid;grid-template-columns:145px 1fr;gap:8px;margin-bottom:8px}.nutritionAgendaClosureAdd>[data-closure-fields][hidden]{display:none}.nutritionAgendaClosureAdd>button{width:100%;grid-column:auto}.nutritionAgendaClosureAdd>[data-closure-save]{background:#0c7458!important;color:#fff!important;border-color:#0c7458!important}
@media(max-width:760px){.nutritionAgendaCompactRow,.nutritionAgendaTypeCompactList .nutritionAgendaCompactRow{grid-template-columns:20px minmax(0,1fr) auto 36px 36px}.nutritionAgendaClosureAdd>[data-closure-fields]{grid-template-columns:1fr}}

/* FIX186 — Agenda e disponibilità · allineamento definitivo desktop/tablet/mobile */
.nutritionAgendaSettingsPage--approved,
.nutritionAgendaSettingsPage--approved *{box-sizing:border-box}
.nutritionAgendaSettingsPage--approved{width:100%;min-width:0;overflow:visible}
.nutritionAgendaSettingsTop{
  grid-template-columns:minmax(0,1fr) minmax(0,.92fr) minmax(0,1.55fr)!important;
  gap:18px!important;
  width:100%;
}
.nutritionAgendaSettingsTop>*{min-width:0;width:100%;overflow:hidden}
.nutritionAgendaApprovedCard{min-width:0!important}
.nutritionAgendaIntervalsCard,
.nutritionAgendaReminderCard,
.nutritionAgendaTypesCard--approved{height:100%}

/* Le righe devono rimanere sempre dentro la card. */
.nutritionAgendaIntervalsCard .nutritionAgendaCompactList,
.nutritionAgendaTypeCompactList{padding-right:0!important;width:100%;min-width:0}
.nutritionAgendaCompactRow{
  width:100%;
  min-width:0;
  grid-template-columns:18px minmax(42px,56px) minmax(42px,auto) minmax(62px,72px) 34px 34px!important;
  gap:6px!important;
  min-height:44px!important;
  padding:5px 7px!important;
}
.nutritionAgendaTypeCompactList .nutritionAgendaCompactRow{
  grid-template-columns:18px minmax(0,1fr) 72px 34px 34px!important;
}
.nutritionAgendaCompactRow>*{min-width:0}
.nutritionAgendaCompactRow>span:nth-of-type(2){white-space:nowrap}
.nutritionAgendaInlineInput{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.nutritionAgendaInlineInput--name{padding-right:4px!important}
.nutritionAgendaActiveCheck{
  width:72px;
  min-width:72px;
  justify-self:start;
  white-space:nowrap;
  overflow:hidden;
}
.nutritionAgendaIconButton{
  width:34px!important;height:34px!important;min-width:34px!important;max-width:34px!important;
  justify-self:center!important;
}
.nutritionAgendaDrag{width:18px;min-width:18px}

/* Aggiunta intervallo/tipologia allineata alla larghezza della lista. */
.nutritionAgendaAddInline{width:100%;min-width:0;margin-top:14px!important}
.nutritionAgendaIntervalsCard .nutritionAgendaAddInline{grid-template-columns:minmax(74px,96px) minmax(0,1fr)!important}
.nutritionAgendaIntervalsCard .nutritionAgendaAddInline>input{width:100%;min-width:0}
.nutritionAgendaIntervalsCard .nutritionAgendaAddInline>button{width:100%}
.nutritionAgendaTypeCompactList+.nutritionAgendaAddInline{grid-template-columns:1fr!important}
.nutritionAgendaTypeCompactList+.nutritionAgendaAddInline>button{width:100%}

/* Promemoria: stessa misura e perfetto asse verticale. */
.nutritionAgendaReminderForm{gap:12px!important}
.nutritionAgendaReminderRow{
  grid-template-columns:32px minmax(0,1fr) 38px!important;
  min-height:74px;
  padding:12px!important;
}
.nutritionAgendaReminderRow>span:nth-child(2){min-width:0}
.nutritionAgendaReminderRow input[type=checkbox]{justify-self:end}

/* Titoli e descrizioni: riservano la stessa area visiva nelle tre card. */
.nutritionAgendaSettingsTop .nutritionAgendaApprovedCard>.nutritionAgendaCardEyebrow{min-height:30px}
.nutritionAgendaSettingsTop .nutritionAgendaApprovedCard>p{min-height:42px;margin-bottom:14px!important}
.nutritionAgendaSettingsTop .nutritionAgendaReminderCard>p{min-height:42px}

/* Parte inferiore: impedisce che le griglie allarghino la pagina. */
.nutritionAgendaSettingsBottom{
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)!important;
  width:100%;
}
.nutritionAgendaSettingsBottom>*{min-width:0;width:100%}
.nutritionAgendaWeeklyHead,.nutritionAgendaWeeklyRow{
  grid-template-columns:minmax(100px,120px) minmax(0,1fr) minmax(0,1fr)!important;
}
.nutritionAgendaTimeRange{min-width:0}
.nutritionAgendaTimeRange input[type=time]{min-width:0!important}
.nutritionAgendaClosuresCard{grid-template-columns:minmax(0,1.15fr) minmax(230px,.85fr)!important}
.nutritionAgendaClosureList article>*{min-width:0}

/* Desktop medio: mantieni 3 card in riga più a lungo, senza overflow. */
@media (max-width:1320px) and (min-width:981px){
  .nutritionAgendaSettingsTop{grid-template-columns:minmax(0,1fr) minmax(0,.9fr) minmax(0,1.42fr)!important;gap:14px!important}
  .nutritionAgendaApprovedCard{padding:17px!important}
  .nutritionAgendaCompactRow{grid-template-columns:16px minmax(36px,50px) minmax(38px,auto) 64px 32px 32px!important;gap:5px!important;padding-left:5px!important;padding-right:5px!important}
  .nutritionAgendaTypeCompactList .nutritionAgendaCompactRow{grid-template-columns:16px minmax(0,1fr) 66px 32px 32px!important}
  .nutritionAgendaActiveCheck{width:66px;min-width:66px;font-size:11px}
  .nutritionAgendaIconButton{width:32px!important;height:32px!important;min-width:32px!important;max-width:32px!important}
}

/* Tablet: due card sopra + tipologie a tutta larghezza. */
@media (max-width:980px){
  .nutritionAgendaSettingsTop{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
  .nutritionAgendaTypesCard--approved{grid-column:1/-1!important}
  .nutritionAgendaSettingsBottom{grid-template-columns:1fr!important}
  .nutritionAgendaCompactRow{grid-template-columns:18px minmax(48px,64px) auto 72px 34px 34px!important}
  .nutritionAgendaTypeCompactList .nutritionAgendaCompactRow{grid-template-columns:18px minmax(0,1fr) 72px 34px 34px!important}
}

/* Mobile: nessuna colonna nascosta in modo imprevedibile; azioni sempre in asse. */
@media (max-width:760px){
  .nutritionAgendaSettingsTop{grid-template-columns:1fr!important}
  .nutritionAgendaTypesCard--approved{grid-column:auto!important}
  .nutritionAgendaCompactRow{
    grid-template-columns:16px minmax(42px,54px) minmax(0,1fr) 30px 30px!important;
    gap:5px!important;
  }
  .nutritionAgendaIntervalsCard .nutritionAgendaCompactRow>span:nth-of-type(2){display:block!important;font-size:11px}
  .nutritionAgendaIntervalsCard .nutritionAgendaCompactRow .nutritionAgendaActiveCheck{display:none}
  .nutritionAgendaTypeCompactList .nutritionAgendaCompactRow{
    grid-template-columns:16px minmax(0,1fr) 30px 30px!important;
  }
  .nutritionAgendaTypeCompactList .nutritionAgendaActiveCheck{display:none}
  .nutritionAgendaIconButton{width:30px!important;height:30px!important;min-width:30px!important;max-width:30px!important}
  .nutritionAgendaIntervalsCard .nutritionAgendaAddInline{grid-template-columns:82px 1fr!important}
  .nutritionAgendaSettingsTop .nutritionAgendaApprovedCard>p{min-height:0}
  .nutritionAgendaClosuresCard{grid-template-columns:1fr!important}
}

/* FIX187 — Agenda: leggibilità + orari settimanali realmente compilabili */
.nutritionAgendaSettingsPage--approved{overflow:visible!important}
.nutritionAgendaSettingsTop>*{overflow:visible!important}
.nutritionAgendaCompactRow{overflow:hidden}
.nutritionAgendaWeeklyCard{overflow:visible!important}
.nutritionAgendaWeeklyTable{width:100%;min-width:0}
.nutritionAgendaWeeklyHead,.nutritionAgendaWeeklyRow{grid-template-columns:150px minmax(230px,1fr) minmax(230px,1fr)!important;gap:18px!important}
.nutritionAgendaWeeklyRow{min-height:58px!important;padding:8px 10px!important}
.nutritionAgendaWeeklyRow>label{margin:0!important;font-size:14px!important}
.nutritionAgendaTimeRange{display:grid!important;grid-template-columns:minmax(92px,1fr) 14px minmax(92px,1fr)!important;gap:8px!important;align-items:center;width:100%;min-width:0}
.nutritionAgendaTimeInput{display:block!important;width:100%!important;min-width:92px!important;height:40px!important;border:1px solid #dbe4e1!important;border-radius:10px!important;background:#fff!important;padding:0 12px!important;font-size:13px!important;color:#26372f!important;opacity:1!important;text-align:center;font-variant-numeric:tabular-nums}
.nutritionAgendaTimeInput:disabled{background:#f7f9f8!important;color:#a7b2ae!important;cursor:not-allowed}
.nutritionAgendaWeeklyRow.is-disabled{opacity:1!important}
.nutritionAgendaWeeklyRow.is-disabled>label{color:#70817b!important}

/* Su monitor normali non comprimere le card approvate in tre colonne. */
@media (max-width:1650px){
  .nutritionAgendaSettingsTop{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
  .nutritionAgendaTypesCard--approved{grid-column:1/-1!important}
  .nutritionAgendaSettingsBottom{grid-template-columns:1fr!important}
  .nutritionAgendaTypesCard--approved .nutritionAgendaTypeCompactList{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}
  .nutritionAgendaClosuresCard{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr)!important}
  .nutritionAgendaPrimarySave{position:static!important;margin-top:18px;width:100%;min-width:0!important}
  .nutritionAgendaWeeklyCard{padding-bottom:20px!important}
}
@media (max-width:1100px){
  .nutritionAgendaSettingsTop{grid-template-columns:1fr!important}
  .nutritionAgendaTypesCard--approved{grid-column:auto!important}
  .nutritionAgendaTypesCard--approved .nutritionAgendaTypeCompactList{grid-template-columns:1fr}
  .nutritionAgendaWeeklyHead,.nutritionAgendaWeeklyRow{grid-template-columns:130px minmax(190px,1fr) minmax(190px,1fr)!important;gap:10px!important}
  .nutritionAgendaClosuresCard{grid-template-columns:1fr!important}
}
@media (max-width:760px){
  .nutritionAgendaWeeklyHead{display:none!important}
  .nutritionAgendaWeeklyRow{grid-template-columns:1fr!important;gap:10px!important;padding:14px 4px!important}
  .nutritionAgendaWeeklyRow>label{font-size:15px!important}
  .nutritionAgendaTimeRange{grid-template-columns:minmax(0,1fr) 14px minmax(0,1fr)!important}
  .nutritionAgendaTimeInput{min-width:0!important;height:44px!important;font-size:14px!important}
}

/* FIX188 — Agenda usa tutta la larghezza disponibile del workspace */
.settingsPage.settingsPage--agenda{
  max-width:none!important;
  width:100%!important;
}
.settingsPage--agenda .settingsPageHead p{max-width:none!important}
.settingsPage--agenda .nutritionAgendaSettingsPage--approved{width:100%!important;max-width:none!important}

/* Desktop ampio: ripristina la composizione del mockup approvato sfruttando lo spazio reale. */
@media (min-width:1260px){
  .settingsPage--agenda .nutritionAgendaSettingsTop{
    grid-template-columns:minmax(300px,.9fr) minmax(300px,.86fr) minmax(500px,1.48fr)!important;
    gap:18px!important;
  }
  .settingsPage--agenda .nutritionAgendaTypesCard--approved{grid-column:auto!important}
  .settingsPage--agenda .nutritionAgendaTypesCard--approved .nutritionAgendaTypeCompactList{
    grid-template-columns:1fr!important;
  }
  .settingsPage--agenda .nutritionAgendaSettingsBottom{
    grid-template-columns:minmax(690px,1.18fr) minmax(570px,.92fr)!important;
    gap:18px!important;
    align-items:stretch!important;
  }
  .settingsPage--agenda .nutritionAgendaWeeklyHead,
  .settingsPage--agenda .nutritionAgendaWeeklyRow{
    grid-template-columns:160px minmax(240px,1fr) minmax(240px,1fr)!important;
    gap:18px!important;
  }
  .settingsPage--agenda .nutritionAgendaClosuresCard{
    grid-template-columns:minmax(300px,1.05fr) minmax(300px,.95fr)!important;
  }
}

/* Desktop medio: due blocchi inferiori solo se c'è davvero spazio, altrimenti impila. */
@media (min-width:1100px) and (max-width:1259px){
  .settingsPage--agenda .nutritionAgendaSettingsTop{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  }
  .settingsPage--agenda .nutritionAgendaTypesCard--approved{grid-column:1/-1!important}
  .settingsPage--agenda .nutritionAgendaTypesCard--approved .nutritionAgendaTypeCompactList{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .settingsPage--agenda .nutritionAgendaSettingsBottom{grid-template-columns:1fr!important}
}

/* Gli orari non devono mai uscire dalla propria card. */
.settingsPage--agenda .nutritionAgendaWeeklyCard{overflow:hidden!important}
.settingsPage--agenda .nutritionAgendaWeeklyTable{min-width:0!important;max-width:100%!important}
.settingsPage--agenda .nutritionAgendaTimeRange{min-width:0!important;max-width:100%!important}
.settingsPage--agenda .nutritionAgendaTimeInput{min-width:0!important;max-width:100%!important}
.settingsPage--agenda .nutritionAgendaClosuresCard{min-width:0!important;overflow:hidden!important}

/* =========================================================
   FIX189 — Agenda: salvataggio unico e righe direttamente modificabili
   ========================================================= */
.nutritionAgendaUnifiedForm{position:relative;padding-bottom:92px}
.nutritionAgendaUnifiedForm .nutritionAgendaCompactRow{overflow:visible!important}
.nutritionAgendaUnifiedForm .nutritionAgendaIntervalsCard .nutritionAgendaCompactRow{
  grid-template-columns:22px minmax(62px,78px) auto minmax(76px,88px) 38px!important;
  gap:8px!important;
}
.nutritionAgendaUnifiedForm .nutritionAgendaTypeCompactList .nutritionAgendaCompactRow{
  grid-template-columns:22px minmax(190px,1fr) minmax(76px,88px) 38px!important;
  gap:8px!important;
}
.nutritionAgendaUnifiedForm .nutritionAgendaInlineInput{
  width:100%!important;min-width:0!important;border:0!important;background:transparent!important;
  padding:7px 6px!important;border-radius:7px!important;font:inherit;font-weight:700;color:#173b32;
}
.nutritionAgendaUnifiedForm .nutritionAgendaInlineInput:focus{background:#f4faf7!important;outline:2px solid rgba(32,111,86,.18)!important;outline-offset:0}
.nutritionAgendaUnifiedForm .nutritionAgendaInlineInput--name{font-weight:700}
.nutritionAgendaUnifiedForm .nutritionAgendaAddButton{
  width:100%;min-height:40px;border:1px solid #1c5a49;border-radius:9px;background:#fff;color:#174d3f;
  font-weight:700;cursor:pointer;margin-top:12px
}
.nutritionAgendaUnifiedForm .nutritionAgendaAddButton:hover{background:#f4faf7}
.nutritionAgendaUnifiedForm .nutritionAgendaIconButton--danger{color:#e24f5f}
.nutritionAgendaUnifiedForm .nutritionAgendaIconButton--danger:hover{background:#fff2f3;border-color:#f2b2b9}
.nutritionAgendaUnifiedForm .nutritionAgendaReminderForm{display:grid;gap:12px}
.nutritionAgendaUnifiedForm .nutritionAgendaClosureAdd [data-closure-fields]{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(180px,1.2fr);gap:8px;width:100%}
.nutritionAgendaUnifiedForm .nutritionAgendaClosureAdd [data-closure-fields][hidden]{display:none!important}
.nutritionAgendaUnifiedForm .nutritionAgendaClosureAdd input{width:100%;min-width:0}
.nutritionAgendaUnifiedForm .nutritionAgendaUnifiedSaveBar{
  position:sticky;bottom:14px;z-index:35;margin:22px 0 0 auto;width:min(100%,620px);
  display:flex;align-items:center;justify-content:flex-end;gap:16px;padding:10px 12px 10px 18px;
  border:1px solid #dce7e2;border-radius:14px;background:rgba(255,255,255,.96);box-shadow:0 10px 30px rgba(20,60,48,.12);backdrop-filter:blur(10px)
}
.nutritionAgendaUnifiedForm .nutritionAgendaUnifiedSaveBar>span{margin-right:auto;color:#71817c;font-size:12px;line-height:1.35}
.nutritionAgendaUnifiedForm .nutritionAgendaPrimarySave{margin:0!important;display:inline-flex!important;align-items:center;justify-content:center;gap:8px;white-space:nowrap}
.nutritionAgendaUnifiedForm .nutritionAgendaPrimarySave svg{width:17px;height:17px}

@media(min-width:1500px){
 .nutritionAgendaUnifiedForm .nutritionAgendaIntervalsCard .nutritionAgendaCompactRow{grid-template-columns:22px 74px auto 82px 38px!important}
 .nutritionAgendaUnifiedForm .nutritionAgendaTypeCompactList .nutritionAgendaCompactRow{grid-template-columns:22px minmax(220px,1fr) 82px 38px!important}
}
@media(max-width:980px){
 .nutritionAgendaUnifiedForm .nutritionAgendaUnifiedSaveBar{width:100%;bottom:8px}
}
@media(max-width:760px){
 .nutritionAgendaUnifiedForm{padding-bottom:118px}
 .nutritionAgendaUnifiedForm .nutritionAgendaIntervalsCard .nutritionAgendaCompactRow{grid-template-columns:18px 64px auto 34px!important}
 .nutritionAgendaUnifiedForm .nutritionAgendaIntervalsCard .nutritionAgendaActiveCheck{display:none!important}
 .nutritionAgendaUnifiedForm .nutritionAgendaTypeCompactList .nutritionAgendaCompactRow{grid-template-columns:18px minmax(0,1fr) 34px!important}
 .nutritionAgendaUnifiedForm .nutritionAgendaTypeCompactList .nutritionAgendaActiveCheck{display:none!important}
 .nutritionAgendaUnifiedForm .nutritionAgendaClosureAdd [data-closure-fields]{grid-template-columns:1fr}
 .nutritionAgendaUnifiedForm .nutritionAgendaUnifiedSaveBar{flex-direction:column;align-items:stretch;gap:8px;padding:10px;bottom:8px}
 .nutritionAgendaUnifiedForm .nutritionAgendaUnifiedSaveBar>span{text-align:center;margin:0}
 .nutritionAgendaUnifiedForm .nutritionAgendaPrimarySave{width:100%!important}
}

/* =========================================================
   FIX190 — Agenda: allineamento blocchi inferiori + respiro Fascia 2
   ========================================================= */
.settingsPage--agenda .nutritionAgendaSettingsBottom{
  align-items:stretch!important;
  grid-auto-rows:1fr;
}
.settingsPage--agenda .nutritionAgendaSettingsBottom>.nutritionAgendaApprovedCard{
  height:100%!important;
  min-height:100%!important;
  align-self:stretch!important;
}
.settingsPage--agenda .nutritionAgendaWeeklyCard,
.settingsPage--agenda .nutritionAgendaClosuresCard{
  margin:0!important;
}
.settingsPage--agenda .nutritionAgendaWeeklyCard{
  padding-right:30px!important;
}
.settingsPage--agenda .nutritionAgendaWeeklyTable{
  width:100%!important;
  padding-right:8px!important;
}
.settingsPage--agenda .nutritionAgendaWeeklyHead,
.settingsPage--agenda .nutritionAgendaWeeklyRow{
  grid-template-columns:170px minmax(250px,1fr) minmax(250px,1fr)!important;
  column-gap:24px!important;
}
.settingsPage--agenda .nutritionAgendaWeeklyRow{
  padding-right:6px!important;
}
.settingsPage--agenda .nutritionAgendaTimeRange{
  gap:10px!important;
}
.settingsPage--agenda .nutritionAgendaClosuresCard{
  height:100%!important;
}
.settingsPage--agenda .nutritionAgendaClosureListPane,
.settingsPage--agenda .nutritionAgendaMiniCalendar{
  height:100%;
  min-height:100%;
}

@media (min-width:1260px) and (max-width:1499px){
  .settingsPage--agenda .nutritionAgendaWeeklyHead,
  .settingsPage--agenda .nutritionAgendaWeeklyRow{
    grid-template-columns:150px minmax(220px,1fr) minmax(220px,1fr)!important;
    column-gap:20px!important;
  }
  .settingsPage--agenda .nutritionAgendaWeeklyCard{padding-right:26px!important}
}
@media (max-width:1259px){
  .settingsPage--agenda .nutritionAgendaWeeklyCard{padding-right:22px!important}
  .settingsPage--agenda .nutritionAgendaWeeklyTable{padding-right:0!important}
}
@media (max-width:760px){
  .settingsPage--agenda .nutritionAgendaWeeklyCard{padding-right:16px!important}
}

/* =========================================================
   FIX191 — Agenda: layout definitivo blocchi inferiori + periodi Dal/Al
   ========================================================= */
.settingsPage--agenda .nutritionAgendaSettingsBottom{
  grid-template-columns:minmax(760px,1.28fr) minmax(680px,1fr)!important;
  gap:24px!important;
  align-items:stretch!important;
}
.settingsPage--agenda .nutritionAgendaWeeklyCard,
.settingsPage--agenda .nutritionAgendaClosuresCard{
  min-width:0!important;
  overflow:hidden!important;
  height:100%!important;
}
.settingsPage--agenda .nutritionAgendaWeeklyCard{
  padding:24px 34px 24px 24px!important;
}
.settingsPage--agenda .nutritionAgendaWeeklyTable{
  width:100%!important;
  padding-right:10px!important;
  box-sizing:border-box;
}
.settingsPage--agenda .nutritionAgendaWeeklyHead,
.settingsPage--agenda .nutritionAgendaWeeklyRow{
  grid-template-columns:170px minmax(250px,1fr) minmax(250px,1fr)!important;
  column-gap:26px!important;
}
.settingsPage--agenda .nutritionAgendaTimeRange{
  grid-template-columns:minmax(96px,1fr) 16px minmax(96px,1fr)!important;
  gap:10px!important;
}
.settingsPage--agenda .nutritionAgendaWeeklyRow{
  padding-right:12px!important;
}

.settingsPage--agenda .nutritionAgendaClosuresCard{
  display:grid!important;
  grid-template-columns:minmax(390px,1.05fr) minmax(330px,.95fr)!important;
  padding:0!important;
}
.settingsPage--agenda .nutritionAgendaClosureListPane{
  min-width:0!important;
  padding:24px!important;
  border-right:1px solid #edf1ef!important;
  overflow:hidden!important;
}
.settingsPage--agenda .nutritionAgendaMiniCalendar{
  min-width:0!important;
  padding:24px!important;
  overflow:hidden!important;
}
.settingsPage--agenda .nutritionAgendaClosureList article{
  grid-template-columns:56px minmax(0,1fr) auto 40px!important;
  gap:12px!important;
  padding:12px!important;
  overflow:hidden!important;
}
.settingsPage--agenda .nutritionAgendaClosureText{
  min-width:0!important;
  overflow:hidden!important;
}
.settingsPage--agenda .nutritionAgendaClosureText strong,
.settingsPage--agenda .nutritionAgendaClosureText small{
  display:block!important;
  min-width:0!important;
  max-width:100%!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}
.settingsPage--agenda .nutritionAgendaClosureText strong{font-size:13px!important;line-height:1.35!important}
.settingsPage--agenda .nutritionAgendaClosureText small{font-size:11px!important;line-height:1.4!important;margin-top:4px!important;color:#7a8884!important}

.settingsPage--agenda .nutritionAgendaClosureAdd{
  display:block!important;
  margin-top:16px!important;
}
.settingsPage--agenda .nutritionAgendaClosureAdd>[data-closure-fields]{
  display:grid!important;
  grid-template-columns:minmax(145px,.8fr) minmax(145px,.8fr)!important;
  gap:10px!important;
  width:100%!important;
  margin-bottom:10px!important;
}
.settingsPage--agenda .nutritionAgendaClosureAdd>[data-closure-fields][hidden]{display:none!important}
.settingsPage--agenda .nutritionAgendaClosureAdd label{
  display:grid!important;
  gap:5px!important;
  min-width:0!important;
  font-size:11px!important;
  font-weight:800!important;
  color:#62736d!important;
}
.settingsPage--agenda .nutritionAgendaClosureAdd .nutritionAgendaClosureReason{
  grid-column:1/-1!important;
}
.settingsPage--agenda .nutritionAgendaClosureAdd input{
  width:100%!important;
  min-width:0!important;
  height:42px!important;
  box-sizing:border-box!important;
}
.settingsPage--agenda .nutritionAgendaClosureAdd button{
  width:100%!important;
  min-height:42px!important;
}
.settingsPage--agenda .nutritionAgendaCalWeek,
.settingsPage--agenda .nutritionAgendaCalGrid{
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
  width:100%!important;
}
.settingsPage--agenda .nutritionAgendaMiniCalendar header{
  display:grid!important;
  grid-template-columns:36px 1fr 36px!important;
  align-items:center!important;
  width:100%!important;
}
.settingsPage--agenda .nutritionAgendaMiniCalendar header strong{text-align:center!important}

@media (max-width:1550px){
  .settingsPage--agenda .nutritionAgendaSettingsBottom{grid-template-columns:1fr!important}
  .settingsPage--agenda .nutritionAgendaClosuresCard{grid-template-columns:minmax(420px,1fr) minmax(360px,.85fr)!important}
}
@media (max-width:980px){
  .settingsPage--agenda .nutritionAgendaClosuresCard{grid-template-columns:1fr!important}
  .settingsPage--agenda .nutritionAgendaClosureListPane{border-right:0!important;border-bottom:1px solid #edf1ef!important}
}
@media (max-width:760px){
  .settingsPage--agenda .nutritionAgendaWeeklyCard{padding:18px!important}
  .settingsPage--agenda .nutritionAgendaClosureListPane,
  .settingsPage--agenda .nutritionAgendaMiniCalendar{padding:18px!important}
  .settingsPage--agenda .nutritionAgendaClosureAdd>[data-closure-fields]{grid-template-columns:1fr!important}
  .settingsPage--agenda .nutritionAgendaClosureAdd .nutritionAgendaClosureReason{grid-column:auto!important}
  .settingsPage--agenda .nutritionAgendaClosureList article{grid-template-columns:48px minmax(0,1fr) 36px!important}
  .settingsPage--agenda .nutritionAgendaClosureList article>em{display:none!important}
}

/* FIX192 — Agenda: layout inferiore robusto + chiusure Dal/Al senza sovrapposizioni */
.settingsPage--agenda .nutritionAgendaSettingsBottom{
  grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr)!important;
  gap:24px!important;
  align-items:stretch!important;
}
.settingsPage--agenda .nutritionAgendaWeeklyCard{
  padding:24px 44px 24px 24px!important;
  min-width:0!important;
}
.settingsPage--agenda .nutritionAgendaWeeklyTable{
  width:100%!important;
  max-width:none!important;
  padding-right:18px!important;
  overflow:hidden!important;
}
.settingsPage--agenda .nutritionAgendaWeeklyHead,
.settingsPage--agenda .nutritionAgendaWeeklyRow{
  grid-template-columns:150px minmax(250px,1fr) minmax(250px,1fr)!important;
  column-gap:30px!important;
}
.settingsPage--agenda .nutritionAgendaWeeklyRow{padding-right:16px!important}
.settingsPage--agenda .nutritionAgendaTimeRange{
  grid-template-columns:minmax(108px,1fr) 16px minmax(108px,1fr)!important;
  gap:12px!important;
}
.settingsPage--agenda .nutritionAgendaTimeInput{
  width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}

.settingsPage--agenda .nutritionAgendaClosuresCard{
  grid-template-columns:minmax(440px,1.35fr) minmax(300px,.65fr)!important;
  min-width:0!important;
  overflow:hidden!important;
}
.settingsPage--agenda .nutritionAgendaClosureListPane{
  min-width:0!important;
  padding:26px 28px!important;
  overflow:hidden!important;
}
.settingsPage--agenda .nutritionAgendaMiniCalendar{
  min-width:0!important;
  padding:26px 24px!important;
  overflow:hidden!important;
}
.settingsPage--agenda .nutritionAgendaClosureList{
  min-width:0!important;
}
.settingsPage--agenda .nutritionAgendaClosureList article{
  grid-template-columns:58px minmax(0,1fr) max-content 42px!important;
  gap:14px!important;
  width:100%!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
.settingsPage--agenda .nutritionAgendaClosureList article>em{
  white-space:nowrap!important;
  max-width:145px!important;
}
.settingsPage--agenda .nutritionAgendaClosureText{
  min-width:0!important;
  overflow:hidden!important;
}
.settingsPage--agenda .nutritionAgendaClosureText strong,
.settingsPage--agenda .nutritionAgendaClosureText small{
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
.settingsPage--agenda .nutritionAgendaClosureAdd{
  width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
}
.settingsPage--agenda .nutritionAgendaClosureAdd>[data-closure-fields]{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:12px!important;
  width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
.settingsPage--agenda .nutritionAgendaClosureAdd .nutritionAgendaClosureReason{
  grid-column:1/-1!important;
  min-width:0!important;
}
.settingsPage--agenda .nutritionAgendaClosureAdd label,
.settingsPage--agenda .nutritionAgendaClosureAdd input{
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
.settingsPage--agenda .nutritionAgendaClosureAdd input{
  width:100%!important;
}
.settingsPage--agenda .nutritionAgendaClosureAdd>button{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

/* Quando la larghezza utile non basta, niente compressioni: card a tutta larghezza. */
@media (max-width:1760px){
  .settingsPage--agenda .nutritionAgendaSettingsBottom{
    grid-template-columns:1fr!important;
  }
  .settingsPage--agenda .nutritionAgendaClosuresCard{
    grid-template-columns:minmax(500px,1.25fr) minmax(360px,.75fr)!important;
  }
}
@media (max-width:1100px){
  .settingsPage--agenda .nutritionAgendaClosuresCard{
    grid-template-columns:1fr!important;
  }
  .settingsPage--agenda .nutritionAgendaClosureListPane{
    border-right:0!important;
    border-bottom:1px solid #edf1ef!important;
  }
}
@media (max-width:760px){
  .settingsPage--agenda .nutritionAgendaWeeklyCard{padding:18px!important}
  .settingsPage--agenda .nutritionAgendaWeeklyTable{padding-right:0!important;overflow:visible!important}
  .settingsPage--agenda .nutritionAgendaClosureListPane,
  .settingsPage--agenda .nutritionAgendaMiniCalendar{padding:18px!important}
  .settingsPage--agenda .nutritionAgendaClosureAdd>[data-closure-fields]{grid-template-columns:1fr!important}
  .settingsPage--agenda .nutritionAgendaClosureAdd .nutritionAgendaClosureReason{grid-column:auto!important}
  .settingsPage--agenda .nutritionAgendaClosureList article{grid-template-columns:48px minmax(0,1fr) 38px!important}
  .settingsPage--agenda .nutritionAgendaClosureList article>em{display:none!important}
}

/* =========================================================
   FIX193 — Agenda compatta + nessuno scroll orizzontale inutile
   ========================================================= */
html:has(.settingsPage--agenda),
body:has(.settingsPage--agenda){
  overflow-x:hidden!important;
}
.settingsPage.settingsPage--agenda{
  width:min(100%,1500px)!important;
  max-width:1500px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
  overflow-x:hidden!important;
}
.settingsPage--agenda .nutritionAgendaSettingsPage--approved,
.settingsPage--agenda .nutritionAgendaUnifiedForm{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  overflow-x:hidden!important;
}
.settingsPage--agenda .nutritionAgendaSettingsTop,
.settingsPage--agenda .nutritionAgendaSettingsBottom{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

/* Parte inferiore: proporzioni equilibrate, niente effetto "stirato" */
@media (min-width:1280px){
  .settingsPage--agenda .nutritionAgendaSettingsBottom{
    grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)!important;
    gap:20px!important;
  }
  .settingsPage--agenda .nutritionAgendaClosuresCard{
    grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr)!important;
  }
}

.settingsPage--agenda .nutritionAgendaClosuresCard{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
.settingsPage--agenda .nutritionAgendaClosureListPane{
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
.settingsPage--agenda .nutritionAgendaMiniCalendar{
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
.settingsPage--agenda .nutritionAgendaMiniCalendar header,
.settingsPage--agenda .nutritionAgendaCalWeek,
.settingsPage--agenda .nutritionAgendaCalGrid{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

/* Chiusure: righe più compatte e leggibili */
.settingsPage--agenda .nutritionAgendaClosureList article{
  min-height:74px!important;
  padding:14px 16px!important;
  gap:12px!important;
}
.settingsPage--agenda .nutritionAgendaClosureList article>em{
  max-width:130px!important;
}
.settingsPage--agenda .nutritionAgendaClosureAdd{
  max-width:100%!important;
}

/* Orari: nessun elemento può allargare la pagina */
.settingsPage--agenda .nutritionAgendaWeeklyCard,
.settingsPage--agenda .nutritionAgendaWeeklyTable,
.settingsPage--agenda .nutritionAgendaWeeklyHead,
.settingsPage--agenda .nutritionAgendaWeeklyRow,
.settingsPage--agenda .nutritionAgendaTimeRange{
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
.settingsPage--agenda .nutritionAgendaWeeklyCard{
  overflow:hidden!important;
}
.settingsPage--agenda .nutritionAgendaWeeklyTable{
  overflow:hidden!important;
}

@media (max-width:1279px){
  .settingsPage.settingsPage--agenda{
    width:100%!important;
    max-width:100%!important;
  }
  .settingsPage--agenda .nutritionAgendaSettingsBottom{
    grid-template-columns:1fr!important;
  }
}

/* =========================================================
   FIX194 — Orari e chiusure verticali, compatti, no scroll X
   ========================================================= */
html:has(.settingsPage--agenda),
body:has(.settingsPage--agenda),
body:has(.settingsPage--agenda) .appShell,
body:has(.settingsPage--agenda) .main,
body:has(.settingsPage--agenda) .content,
.settingsPage--agenda,
.settingsPage--agenda .nutritionAgendaSettingsPage--approved,
.settingsPage--agenda .nutritionAgendaUnifiedForm{
  overflow-x:hidden!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

/* I due blocchi inferiori sono SEMPRE uno sopra l'altro. */
.settingsPage--agenda .nutritionAgendaSettingsBottom{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:22px!important;
  width:100%!important;
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  align-items:start!important;
}

.settingsPage--agenda .nutritionAgendaWeeklyCard,
.settingsPage--agenda .nutritionAgendaClosuresCard{
  width:100%!important;
  max-width:1180px!important;
  min-width:0!important;
  margin:0 auto!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}

/* Orari: la tabella non viene stirata su tutta la card. */
.settingsPage--agenda .nutritionAgendaWeeklyTable{
  width:100%!important;
  max-width:1000px!important;
  margin-right:auto!important;
  overflow:hidden!important;
}
.settingsPage--agenda .nutritionAgendaWeeklyHead,
.settingsPage--agenda .nutritionAgendaWeeklyRow{
  width:100%!important;
  max-width:1000px!important;
  grid-template-columns:190px minmax(270px,1fr) minmax(270px,1fr)!important;
  column-gap:30px!important;
  padding-right:28px!important;
  box-sizing:border-box!important;
}
.settingsPage--agenda .nutritionAgendaTimeRange{
  grid-template-columns:minmax(112px,1fr) 18px minmax(112px,1fr)!important;
  gap:14px!important;
  min-width:0!important;
}

/* Chiusure: card larga il giusto, due colonne interne equilibrate. */
.settingsPage--agenda .nutritionAgendaClosuresCard{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 390px!important;
}
.settingsPage--agenda .nutritionAgendaClosureListPane{
  padding:26px 30px 28px!important;
  border-right:1px solid #edf1ef!important;
}
.settingsPage--agenda .nutritionAgendaMiniCalendar{
  width:390px!important;
  max-width:390px!important;
  padding:26px 26px 28px!important;
}
.settingsPage--agenda .nutritionAgendaClosureList,
.settingsPage--agenda .nutritionAgendaClosureAdd{
  width:100%!important;
  max-width:720px!important;
}
.settingsPage--agenda .nutritionAgendaClosureList article{
  width:100%!important;
  max-width:720px!important;
  grid-template-columns:58px minmax(0,1fr) max-content 44px!important;
  gap:14px!important;
}
.settingsPage--agenda .nutritionAgendaClosureAdd>[data-closure-fields]{
  width:100%!important;
  max-width:720px!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:12px!important;
}
.settingsPage--agenda .nutritionAgendaClosureAdd .nutritionAgendaClosureReason{
  grid-column:1/-1!important;
}

/* Nessun figlio può generare larghezza extra. */
.settingsPage--agenda *{
  box-sizing:border-box;
}
.settingsPage--agenda img,
.settingsPage--agenda svg,
.settingsPage--agenda input,
.settingsPage--agenda select,
.settingsPage--agenda button{
  max-width:100%;
}

@media (max-width:1100px){
  .settingsPage--agenda .nutritionAgendaSettingsBottom{
    max-width:100%!important;
  }
  .settingsPage--agenda .nutritionAgendaClosuresCard{
    grid-template-columns:1fr!important;
  }
  .settingsPage--agenda .nutritionAgendaClosureListPane{
    border-right:0!important;
    border-bottom:1px solid #edf1ef!important;
  }
  .settingsPage--agenda .nutritionAgendaMiniCalendar{
    width:100%!important;
    max-width:520px!important;
    justify-self:start!important;
  }
}

@media (max-width:760px){
  .settingsPage--agenda .nutritionAgendaSettingsBottom{
    gap:16px!important;
  }
  .settingsPage--agenda .nutritionAgendaWeeklyHead{
    display:none!important;
  }
  .settingsPage--agenda .nutritionAgendaWeeklyRow{
    grid-template-columns:1fr!important;
    gap:10px!important;
    padding-right:0!important;
  }
  .settingsPage--agenda .nutritionAgendaClosureListPane,
  .settingsPage--agenda .nutritionAgendaMiniCalendar{
    padding:18px!important;
  }
  .settingsPage--agenda .nutritionAgendaClosureAdd>[data-closure-fields]{
    grid-template-columns:1fr!important;
  }
  .settingsPage--agenda .nutritionAgendaClosureAdd .nutritionAgendaClosureReason{
    grid-column:auto!important;
  }
}

/* =========================================================
   FIX195 — Allineamento larghezza blocchi inferiori alla griglia superiore
   ========================================================= */
.settingsPage--agenda .nutritionAgendaSettingsBottom{
  width:100%!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
  grid-template-columns:minmax(0,1fr)!important;
}
.settingsPage--agenda .nutritionAgendaWeeklyCard,
.settingsPage--agenda .nutritionAgendaClosuresCard{
  width:100%!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
}
/* Mantieni i contenuti interni compatti: si allinea la card, non si stirano tabelle/calendario. */
.settingsPage--agenda .nutritionAgendaWeeklyTable{
  max-width:1000px!important;
  margin-left:0!important;
  margin-right:auto!important;
}
.settingsPage--agenda .nutritionAgendaClosuresCard{
  grid-template-columns:minmax(0,760px) minmax(340px,430px)!important;
  justify-content:space-between!important;
}
.settingsPage--agenda .nutritionAgendaClosureListPane{
  width:100%!important;
  max-width:760px!important;
}
.settingsPage--agenda .nutritionAgendaMiniCalendar{
  width:100%!important;
  max-width:430px!important;
  justify-self:end!important;
}
@media (max-width:1220px){
  .settingsPage--agenda .nutritionAgendaClosuresCard{
    grid-template-columns:1fr!important;
  }
  .settingsPage--agenda .nutritionAgendaClosureListPane{
    max-width:100%!important;
  }
  .settingsPage--agenda .nutritionAgendaMiniCalendar{
    max-width:520px!important;
    justify-self:start!important;
  }
}

/* =========================================================
   FIX196 — Agenda: compattazione verticale card superiori
   ========================================================= */
@media (min-width:761px){
  .settingsPage--agenda .nutritionAgendaSettingsTop{
    align-items:start!important;
  }
  .settingsPage--agenda .nutritionAgendaSettingsTop>.nutritionAgendaApprovedCard,
  .settingsPage--agenda .nutritionAgendaIntervalsCard,
  .settingsPage--agenda .nutritionAgendaReminderCard,
  .settingsPage--agenda .nutritionAgendaTypesCard--approved{
    height:auto!important;
    min-height:0!important;
    align-self:start!important;
    padding:16px!important;
  }
  .settingsPage--agenda .nutritionAgendaSettingsTop .nutritionAgendaApprovedCard>.nutritionAgendaCardEyebrow{
    min-height:0!important;
  }
  .settingsPage--agenda .nutritionAgendaSettingsTop .nutritionAgendaApprovedCard>p,
  .settingsPage--agenda .nutritionAgendaSettingsTop .nutritionAgendaReminderCard>p{
    min-height:0!important;
    margin:6px 0 10px!important;
    line-height:1.4!important;
  }
  .settingsPage--agenda .nutritionAgendaCompactList,
  .settingsPage--agenda .nutritionAgendaTypeCompactList{
    gap:4px!important;
    margin-top:9px!important;
  }
  .settingsPage--agenda .nutritionAgendaUnifiedForm .nutritionAgendaIntervalsCard .nutritionAgendaCompactRow,
  .settingsPage--agenda .nutritionAgendaUnifiedForm .nutritionAgendaTypeCompactList .nutritionAgendaCompactRow,
  .settingsPage--agenda .nutritionAgendaCompactRow{
    min-height:36px!important;
    padding:2px 5px!important;
    gap:6px!important;
    border-radius:8px!important;
  }
  .settingsPage--agenda .nutritionAgendaInlineInput{
    height:28px!important;
    padding:3px 4px!important;
  }
  .settingsPage--agenda .nutritionAgendaIconButton{
    width:32px!important;
    height:30px!important;
    min-width:32px!important;
    max-width:32px!important;
    border-radius:8px!important;
  }
  .settingsPage--agenda .nutritionAgendaIconButton svg{
    width:14px!important;
    height:14px!important;
  }
  .settingsPage--agenda .nutritionAgendaActiveCheck{
    font-size:11px!important;
    line-height:1.15!important;
  }
  .settingsPage--agenda .nutritionAgendaAddInline{
    margin-top:9px!important;
    gap:6px!important;
  }
  .settingsPage--agenda .nutritionAgendaAddInline>input{
    height:34px!important;
  }
  .settingsPage--agenda .nutritionAgendaAddInline>button,
  .settingsPage--agenda .nutritionAgendaAddButton{
    height:34px!important;
    min-height:34px!important;
    margin-top:8px!important;
  }
  .settingsPage--agenda .nutritionAgendaReminderForm{
    gap:8px!important;
    margin-top:10px!important;
  }
  .settingsPage--agenda .nutritionAgendaReminderRow{
    min-height:58px!important;
    padding:9px 10px!important;
    gap:8px!important;
    border-radius:10px!important;
  }
  .settingsPage--agenda .nutritionAgendaReminderRow>span:first-child{
    width:27px!important;
    height:27px!important;
  }
  .settingsPage--agenda .nutritionAgendaReminderRow strong{
    font-size:13px!important;
    line-height:1.2!important;
  }
  .settingsPage--agenda .nutritionAgendaReminderRow small{
    margin-top:2px!important;
    font-size:10.5px!important;
    line-height:1.3!important;
  }
}

/* =========================================================
   FIX198 — AGENDA APPUNTAMENTI, UI APPROVATA
   ========================================================= */
.nutritionAgendaPage--approved{display:grid;gap:24px;max-width:none;min-width:0;overflow-x:hidden}
.nutritionAgendaHead--approved{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
.nutritionAgendaHead--approved>div{min-width:0}
.nutritionAgendaHead--approved h2{margin:5px 0 10px;font-size:34px;line-height:1.08;letter-spacing:-.025em;color:#173f35}
.nutritionAgendaHead--approved>div>p:last-child{margin:0;color:#6f7888;font-size:17px;line-height:1.55}
.nutritionAgendaSettingsButton{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 20px;border:1.5px solid #173f35;border-radius:13px;color:#173f35;text-decoration:none;font-weight:800;background:#fff;white-space:nowrap}
.nutritionAgendaSettingsButton svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.nutritionAgendaLayout--approved{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:24px;align-items:start;min-width:0}
.nutritionAgendaCalendar--approved,.nutritionAgendaCreate--approved{border:1px solid #dce6e2;border-radius:22px;background:#fff;box-shadow:0 12px 36px rgba(25,63,53,.035)}
.nutritionAgendaCalendar--approved{padding:24px;min-width:0;overflow:hidden}
.nutritionAgendaToolbar--approved{display:grid;grid-template-columns:56px auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:0 0 18px;border-bottom:1px solid #e6ecea}
.nutritionAgendaRoundNav{width:50px;height:50px;border:1px solid #d8e3df;border-radius:50%;display:grid;place-items:center;color:#173f35;text-decoration:none;background:#fff;box-shadow:0 7px 18px rgba(20,61,50,.05)}
.nutritionAgendaRoundNav svg{width:22px;height:22px}
.nutritionAgendaDateTitle{display:grid;gap:3px;min-width:160px}
.nutritionAgendaDateTitle small{color:#647773;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.nutritionAgendaDateTitle strong{font-size:24px;line-height:1.1;color:#174638}
.nutritionAgendaTodayCount{justify-self:start;display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:999px;background:#f1f7f4;color:#35675a;font-size:13px;font-weight:700}
.nutritionAgendaTodayCount svg{width:17px;height:17px}
.nutritionAgendaToolbarActions{display:flex;align-items:center;gap:12px}
.nutritionAgendaTodayButton{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 18px;border:1.5px solid #1b4d40;border-radius:12px;text-decoration:none;color:#173f35;background:#fff;font-weight:800}
.nutritionAgendaViewSwitch{margin:16px 0 4px auto;width:max-content;display:grid;grid-template-columns:1fr 1fr;border:1px solid #cedbd7;border-radius:999px;overflow:hidden;background:#fff}
.nutritionAgendaViewSwitch a{min-width:112px;padding:9px 18px;text-align:center;text-decoration:none;color:#6c7d78;font-weight:700;border-radius:999px}
.nutritionAgendaViewSwitch a.active{background:#145441;color:#fff;box-shadow:inset 0 0 0 1px #145441}
.nutritionAgendaTimeline{position:relative;padding:8px 0 2px;min-height:390px}
.nutritionAgendaTimelineRow{position:relative;display:grid;grid-template-columns:64px 16px minmax(0,1fr);min-height:68px;align-items:start}
.nutritionAgendaTimelineRow>time{padding-top:13px;color:#295548;font-size:13px;font-weight:700}
.nutritionAgendaTimelineDot{width:7px;height:7px;border-radius:50%;background:#cbd7d3;margin:18px auto 0;z-index:2}
.nutritionAgendaTimelineLine{position:absolute;left:87px;right:0;top:21px;border-top:1px dashed #e2e9e6}
.nutritionAgendaTimelineEvents{grid-column:3;display:grid;gap:9px;padding:4px 8px 6px 16px;z-index:3;min-width:0}
.nutritionAgendaEvent--approved{display:grid;grid-template-columns:42px 72px minmax(140px,1fr) auto auto 28px;gap:12px;align-items:center;min-height:62px;padding:10px 14px;border:1px solid #d7e2de;border-radius:12px;background:#fff;box-shadow:0 4px 14px rgba(22,66,54,.035)}
.nutritionAgendaPersonIcon{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#e8f4ef;color:#195a48}
.nutritionAgendaPersonIcon svg{width:20px;height:20px}
.nutritionAgendaEvent--approved>time{font-size:15px;font-weight:800;color:#173f35;padding-right:12px;border-right:1px solid #dfe7e4}
.nutritionAgendaEventMain{display:grid;gap:2px;min-width:0}
.nutritionAgendaEventMain strong{color:#173f35;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nutritionAgendaEventMain span{color:#697b76;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nutritionAgendaTypeChip{padding:6px 12px;border-radius:999px;background:#e7f4ee;color:#276451;font-size:12px;font-weight:700;white-space:nowrap;max-width:160px;overflow:hidden;text-overflow:ellipsis}
.nutritionAgendaStatus--approved{display:inline-flex!important;align-items:center;gap:7px;background:transparent!important;color:#60766f!important;padding:0!important;font-size:12px!important;font-weight:700!important;white-space:nowrap}
.nutritionAgendaStatus--approved i{width:7px;height:7px;border-radius:50%;background:#39ad69}
.nutritionAgendaEvent--cancelled_client .nutritionAgendaStatus--approved i,.nutritionAgendaEvent--cancelled_staff .nutritionAgendaStatus--approved i{background:#d16f65}
.nutritionAgendaEventMenu{position:relative;justify-self:end}
.nutritionAgendaEventMenu summary{width:28px;height:34px;display:grid;place-items:center;list-style:none;cursor:pointer;color:#173f35;font-size:23px;line-height:1;border-radius:8px}
.nutritionAgendaEventMenu summary::-webkit-details-marker{display:none}
.nutritionAgendaEventMenu[open] summary{background:#f2f6f4}
.nutritionAgendaEventMenu form{position:absolute;right:0;top:38px;z-index:20;background:#fff;border:1px solid #dce5e2;border-radius:10px;padding:6px;box-shadow:0 12px 28px rgba(20,54,46,.13);min-width:170px}
.nutritionAgendaEventMenu button{width:100%;border:0;background:transparent;padding:9px 10px;text-align:left;color:#8e3f38;border-radius:7px;font:inherit;font-weight:700;cursor:pointer}
.nutritionAgendaEventMenu button:hover{background:#fff2f0}
.nutritionAgendaTimelineEmpty{position:absolute;inset:80px 0 10px 80px;display:grid;place-items:center;align-content:center;gap:8px;text-align:center;color:#71827d;background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(255,255,255,.96));z-index:4}
.nutritionAgendaTimelineEmpty svg{width:34px;height:34px;color:#3e7264}
.nutritionAgendaTimelineEmpty strong{font-size:19px;color:#173f35}
.nutritionAgendaTimelineEmpty p{margin:0}
.nutritionAgendaCreate--approved{padding:26px;position:sticky;top:20px}
.nutritionAgendaCreate--approved h3{margin:5px 0 8px;font-size:25px;line-height:1.15;color:#202625}
.nutritionAgendaCreate--approved>p:not(.eyebrow){margin:0 0 24px;color:#6f807b;font-size:15px;line-height:1.5}
.nutritionAgendaCreate--approved form{display:grid;gap:16px}
.nutritionAgendaCreate--approved label{display:grid;gap:7px;color:#174638;font-size:13px;font-weight:800}
.nutritionAgendaCreate--approved select,.nutritionAgendaCreate--approved input{width:100%;height:50px;border:1px solid #d4dfdb;border-radius:12px;background:#fff;padding:0 14px;color:#173f35;font:inherit;font-weight:600;outline:none}
.nutritionAgendaCreate--approved select:focus,.nutritionAgendaCreate--approved input:focus{border-color:#397665;box-shadow:0 0 0 3px rgba(57,118,101,.09)}
.nutritionAgendaAvailableWrap{display:grid;gap:9px;margin-top:2px}
.nutritionAgendaAvailableWrap>strong{font-size:13px;color:#173f35}
.nutritionAgendaAvailableSlots{display:flex;flex-wrap:wrap;gap:8px}
.nutritionAgendaAvailableSlots button{min-width:64px;height:34px;padding:0 12px;border:1px solid #83a89d;border-radius:999px;background:#fff;color:#174638;font-size:12px;font-weight:800;cursor:pointer}
.nutritionAgendaAvailableSlots button:hover,.nutritionAgendaAvailableSlots button.active{background:#e6f3ee;border-color:#1b6a55;color:#145441}
.nutritionAgendaAvailableSlots>span{color:#7a8985;font-size:12px}
.nutritionAgendaSlotNote{color:#7b8a86;font-size:11px;line-height:1.4}
.nutritionAgendaConfirmButton{min-height:50px;border:0;border-radius:11px!important;background:#10533f!important;color:#fff!important;display:flex;align-items:center;justify-content:center;gap:10px;font-weight:800!important;cursor:pointer;box-shadow:0 8px 18px rgba(16,83,63,.13)}
.nutritionAgendaConfirmButton:hover{filter:brightness(.96)}
.nutritionAgendaConfirmButton svg{width:19px;height:19px}
.nutritionAgendaWeekGrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px;margin-top:18px;min-height:430px}
.nutritionAgendaWeekDay{min-width:0;border:1px solid #e0e8e5;border-radius:14px;background:#fff;overflow:hidden}
.nutritionAgendaWeekDay.is-today{border-color:#77a99a;box-shadow:inset 0 0 0 1px #77a99a}
.nutritionAgendaWeekDayHead{display:grid;place-items:center;gap:2px;padding:12px 6px;border-bottom:1px solid #e6ecea;color:#173f35;text-decoration:none;background:#fbfcfc}
.nutritionAgendaWeekDayHead small{font-size:11px;letter-spacing:.07em;color:#6c7f79;font-weight:800}
.nutritionAgendaWeekDayHead strong{font-size:20px}
.nutritionAgendaWeekDay>div{display:grid;gap:7px;padding:9px}
.nutritionAgendaWeekEvent{display:grid;gap:2px;padding:9px;border-radius:9px;background:#edf6f2;color:#173f35;text-decoration:none;min-width:0}
.nutritionAgendaWeekEvent time{font-size:12px;font-weight:800}
.nutritionAgendaWeekEvent strong,.nutritionAgendaWeekEvent span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nutritionAgendaWeekEvent strong{font-size:11px}.nutritionAgendaWeekEvent span{font-size:10px;color:#627872}
.nutritionAgendaWeekEmpty{display:block;padding:18px 0;text-align:center;color:#a2afab}
@media(max-width:1250px){
  .nutritionAgendaLayout--approved{grid-template-columns:minmax(0,1fr) 340px}
  .nutritionAgendaEvent--approved{grid-template-columns:38px 64px minmax(120px,1fr) auto 26px}
  .nutritionAgendaTypeChip{display:none}
  .nutritionAgendaStatus--approved{grid-column:auto}
}
@media(max-width:1050px){
  .nutritionAgendaLayout--approved{grid-template-columns:1fr}
  .nutritionAgendaCreate--approved{position:static}
  .nutritionAgendaWeekGrid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:760px){
  .nutritionAgendaHead--approved{display:grid}.nutritionAgendaSettingsButton{justify-self:start}
  .nutritionAgendaHead--approved h2{font-size:29px}.nutritionAgendaHead--approved>div>p:last-child{font-size:15px}
  .nutritionAgendaCalendar--approved,.nutritionAgendaCreate--approved{padding:16px;border-radius:17px}
  .nutritionAgendaToolbar--approved{grid-template-columns:44px minmax(0,1fr) auto;gap:10px}.nutritionAgendaRoundNav{width:42px;height:42px}.nutritionAgendaDateTitle{min-width:0}.nutritionAgendaDateTitle strong{font-size:20px}.nutritionAgendaTodayCount{display:none}.nutritionAgendaToolbarActions{gap:8px}.nutritionAgendaTodayButton{min-height:42px;padding:0 12px}.nutritionAgendaToolbarActions .nutritionAgendaRoundNav{display:grid}
  .nutritionAgendaViewSwitch{margin:14px 0 4px;width:100%}.nutritionAgendaViewSwitch a{min-width:0}
  .nutritionAgendaTimelineRow{grid-template-columns:48px 12px minmax(0,1fr)}.nutritionAgendaTimelineLine{left:65px}.nutritionAgendaTimelineEvents{padding-left:10px}
  .nutritionAgendaEvent--approved{grid-template-columns:34px 50px minmax(0,1fr) 24px;gap:8px;padding:9px}.nutritionAgendaPersonIcon{width:32px;height:32px}.nutritionAgendaEvent--approved>time{font-size:13px;padding-right:8px}.nutritionAgendaStatus--approved{grid-column:3;justify-self:start}.nutritionAgendaEventMenu{grid-column:4;grid-row:1/3}.nutritionAgendaTimelineEmpty{inset:70px 0 10px 55px}
  .nutritionAgendaWeekGrid{grid-template-columns:repeat(2,minmax(0,1fr));min-height:0}
}
@media(max-width:480px){.nutritionAgendaWeekGrid{grid-template-columns:1fr}.nutritionAgendaToolbar--approved{grid-template-columns:40px minmax(0,1fr) 40px}.nutritionAgendaToolbarActions .nutritionAgendaTodayButton{display:none}.nutritionAgendaToolbarActions{display:contents}.nutritionAgendaToolbarActions .nutritionAgendaRoundNav{grid-column:3}.nutritionAgendaCreate--approved{padding:15px}.nutritionAgendaAvailableSlots button{min-width:58px}}
/* FIX200 — Ora selezionabile unicamente dagli slot disponibili */
.nutritionAgendaAvailableSlots button.active{
  background:#145f4b;
  border-color:#145f4b;
  color:#fff;
  box-shadow:0 0 0 3px rgba(20,95,75,.10);
}
.nutritionAgendaAvailableSlots button.active::after{
  content:'✓';
  margin-left:7px;
  font-size:11px;
  font-weight:900;
}

/* =========================================================
   UI RECOVERY — AGENDA SETTIMANALE TIMELINE
   Compatibilità con markup nutritionAgendaWeekTimeline
   ========================================================= */

.nutritionAgendaWeekSummary{
  display:flex;
  align-items:center;
  gap:10px;
  padding:16px 2px 12px;
  color:#173f35;
}
.nutritionAgendaWeekSummary svg{
  width:20px;
  height:20px;
  flex:0 0 20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.nutritionAgendaWeekSummary strong{
  font-size:14px;
  font-weight:800;
}
.nutritionAgendaWeekSummary small{
  margin-left:auto;
  color:#788984;
  font-size:12px;
  white-space:nowrap;
}

/* Ora + sette giorni */
.nutritionAgendaWeekTimeline{
  display:grid;
  grid-template-columns:64px repeat(7,minmax(90px,1fr));
  align-items:stretch;
  width:100%;
  min-width:0;
  overflow-x:auto;
  border:1px solid #dfe8e5;
  border-radius:16px;
  background:#fff;
}

/* intestazione Ora */
.nutritionAgendaWeekCorner{
  display:grid;
  place-items:center;
  min-height:66px;
  padding:8px;
  border-right:1px solid #e5ece9;
  border-bottom:1px solid #e5ece9;
  background:#f8fbfa;
  color:#75857f;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
}

/* intestazioni dei 7 giorni */
.nutritionAgendaWeekColumnHead{
  display:grid;
  place-items:center;
  align-content:center;
  gap:1px;
  min-width:0;
  min-height:66px;
  padding:7px 4px;
  border-left:1px solid #edf1ef;
  border-bottom:1px solid #e5ece9;
  background:#fbfcfc;
  color:#173f35;
  text-decoration:none;
}
.nutritionAgendaWeekColumnHead small{
  font-size:10px;
  line-height:1;
  font-weight:800;
  letter-spacing:.07em;
  color:#70827c;
  text-transform:uppercase;
}
.nutritionAgendaWeekColumnHead strong{
  font-size:18px;
  line-height:1.1;
  font-weight:850;
}
.nutritionAgendaWeekColumnHead span{
  font-size:10px;
  line-height:1;
  color:#8a9994;
}
.nutritionAgendaWeekColumnHead.is-today{
  background:#edf8f3;
  color:#145f4b;
  box-shadow:inset 0 3px 0 #4f967f;
}

/* colonna oraria */
.nutritionAgendaWeekHour{
  display:flex;
  align-items:flex-start;
  justify-content:center;
  min-height:76px;
  padding:11px 5px 5px;
  border-right:1px solid #e5ece9;
  border-top:1px solid #edf1ef;
  background:#fbfcfc;
}
.nutritionAgendaWeekHour time{
  color:#506862;
  font-size:12px;
  line-height:1;
  font-weight:750;
}

/* celle giorno/ora */
.nutritionAgendaWeekCell{
  position:relative;
  min-width:0;
  min-height:76px;
  padding:6px;
  border-left:1px solid #edf1ef;
  border-top:1px solid #edf1ef;
  background:#fff;
}
.nutritionAgendaWeekCell.is-today{
  background:#f6fbf8;
}

/* appuntamenti dentro la griglia */
.nutritionAgendaWeekTimeline .nutritionAgendaWeekEvent{
  position:relative;
  display:grid;
  gap:2px;
  width:100%;
  min-width:0;
  margin:0 0 5px;
  padding:8px 18px 8px 9px;
  border:0;
  border-radius:9px;
  background:#eaf5f0;
  color:#173f35;
  text-decoration:none;
  box-shadow:none;
}
.nutritionAgendaWeekTimeline .nutritionAgendaWeekEvent time{
  color:#145f4b;
  font-size:11px;
  line-height:1.15;
  font-weight:850;
}
.nutritionAgendaWeekTimeline .nutritionAgendaWeekEvent strong,
.nutritionAgendaWeekTimeline .nutritionAgendaWeekEvent span{
  display:block;
  min-width:0;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.nutritionAgendaWeekTimeline .nutritionAgendaWeekEvent strong{
  color:#173f35;
  font-size:11px;
  line-height:1.2;
}
.nutritionAgendaWeekTimeline .nutritionAgendaWeekEvent span{
  color:#657a73;
  font-size:10px;
  line-height:1.2;
}

/* pallino stato */
.nutritionAgendaWeekStatusDot{
  position:absolute;
  top:8px;
  right:7px;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#29946f;
}
.nutritionAgendaWeekEvent--scheduled .nutritionAgendaWeekStatusDot,
.nutritionAgendaWeekStatusDot--scheduled{
  background:#29946f;
}
.nutritionAgendaWeekEvent--completed .nutritionAgendaWeekStatusDot,
.nutritionAgendaWeekStatusDot--completed{
  background:#6577c8;
}
.nutritionAgendaWeekEvent--no_show .nutritionAgendaWeekStatusDot,
.nutritionAgendaWeekStatusDot--no_show{
  background:#c89637;
}
.nutritionAgendaWeekEvent--cancelled_client .nutritionAgendaWeekStatusDot,
.nutritionAgendaWeekEvent--cancelled_staff .nutritionAgendaWeekStatusDot,
.nutritionAgendaWeekStatusDot--cancelled_client,
.nutritionAgendaWeekStatusDot--cancelled_staff{
  background:#c96f67;
}

/* vista mobile: nascosta su desktop */
.nutritionAgendaWeekMobile{
  display:none;
}

/* layout mobile della settimana */
@media(max-width:900px){
  .nutritionAgendaWeekTimeline{
    display:none;
  }

  .nutritionAgendaWeekMobile{
    display:grid;
    gap:12px;
    margin-top:12px;
  }

  .nutritionAgendaWeekSummary{
    flex-wrap:wrap;
  }

  .nutritionAgendaWeekSummary small{
    width:100%;
    margin-left:30px;
  }

  .nutritionAgendaWeekMobileDay{
    overflow:hidden;
    border:1px solid #dfe8e5;
    border-radius:14px;
    background:#fff;
  }

  .nutritionAgendaWeekMobileDay.is-today{
    border-color:#77a99a;
    box-shadow:inset 0 0 0 1px #77a99a;
  }

  .nutritionAgendaWeekMobileHead{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:12px 14px;
    border-bottom:1px solid #e7eeeb;
    background:#f8fbfa;
    color:#173f35;
    text-decoration:none;
  }

  .nutritionAgendaWeekMobileHead span{
    display:flex;
    align-items:center;
    gap:8px;
  }

  .nutritionAgendaWeekMobileHead small{
    color:#71827d;
    font-size:11px;
    font-weight:850;
    text-transform:uppercase;
  }

  .nutritionAgendaWeekMobileHead strong{
    font-size:15px;
  }

  .nutritionAgendaWeekMobileHead b{
    color:#71827d;
    font-size:11px;
    font-weight:750;
  }

  .nutritionAgendaWeekMobileEvents{
    display:grid;
    gap:7px;
    padding:10px;
  }

  .nutritionAgendaWeekMobileEvent{
    position:relative;
    display:grid;
    grid-template-columns:48px minmax(0,1fr);
    align-items:center;
    gap:10px;
    padding:10px 28px 10px 10px;
    border-radius:10px;
    background:#edf6f2;
    color:#173f35;
    text-decoration:none;
  }

  .nutritionAgendaWeekMobileEvent time{
    font-size:12px;
    font-weight:850;
    color:#145f4b;
  }

  .nutritionAgendaWeekMobileEvent>div{
    display:grid;
    gap:2px;
    min-width:0;
  }

  .nutritionAgendaWeekMobileEvent strong,
  .nutritionAgendaWeekMobileEvent span{
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
  }

  .nutritionAgendaWeekMobileEvent strong{
    font-size:12px;
  }

  .nutritionAgendaWeekMobileEvent span{
    color:#697d76;
    font-size:11px;
  }
}


/* YMYSY P7 — Primo amministratore: stato realmente non disponibile */
form[action="/super-admin/client/first-admin/invite"] button:disabled {
    opacity: .42;
    cursor: not-allowed;
    pointer-events: none;
}


/* =========================================================
   YMYSY-SAAS20 ASSISTITI 2FA A1
   ========================================================= */
.npPortalOtpInput{
    text-align:center;
    font-size:28px !important;
    font-weight:800;
    letter-spacing:.32em;
    font-variant-numeric:tabular-nums;
}
.npPortalOtpHelp{
    display:block;
    margin:-4px 0 4px;
    color:#73827d;
    font-size:13px;
    line-height:1.45;
}
.npPortalOtpResend{
    margin-top:12px;
}
.npPortalOtpResend button{
    width:100%;
    background:transparent !important;
    color:var(--np-primary) !important;
    border:1px solid color-mix(in srgb,var(--np-primary) 24%,transparent) !important;
}
.npPortalOtpOther{
    display:block;
    margin-top:18px;
    text-align:center;
    color:#697773;
    font-size:13px;
    text-decoration:none;
}
.npPortalOtpOther:hover{
    text-decoration:underline;
}
@media(max-width:600px){
    .npPortalOtpInput{
        font-size:24px !important;
        letter-spacing:.24em;
    }
}


/* =========================================================
   YMYSY-SAAS20 ASSISTITI 2FA A5 UX
   Pulsanti OTP compatti su desktop.
   ========================================================= */

.npPortalOtpForm > button,
.npPortalOtpResend > button{
    width:100% !important;
    max-width:440px;
    margin-left:auto !important;
    margin-right:auto !important;
}

.npPortalOtpResend{
    text-align:center;
}

@media(max-width:600px){
    .npPortalOtpForm > button,
    .npPortalOtpResend > button{
        max-width:none;
        width:100% !important;
    }
}

/* ==========================================================================
   YMYSY v18.1 — SUPER ADMIN UI POLISH
   Candidate grafica approvata 20/08/2026
   Scope: solo interfaccia Super Admin. Nessuna logica applicativa.
   ========================================================================== */

.superAdminWorkspace{
  --sa-purple:#6757d9;
  --sa-purple-dark:#5144bd;
  --sa-purple-soft:#f1efff;
  --sa-purple-line:#ded9ff;
  --sa-navy:#17283f;
  --sa-text:#202838;
  --sa-muted:#6e7787;
  --sa-line:#e6e9f0;
  --sa-soft:#f7f8fb;
  --sa-green:#548676;
  --sa-green-soft:#eef6f2;
  background:#f6f7fa;
  padding-top:28px
}

.superAdminWorkspace>.workspaceHeader{
  margin:0 0 18px;
  padding:2px 4px 0
}
.superAdminWorkspace>.workspaceHeader>div{display:grid;gap:2px}
.superAdminWorkspace>.workspaceHeader .eyebrow{
  margin:0 0 5px;
  color:#858b98;
  font-size:10px;
  letter-spacing:.13em
}
.superAdminWorkspace>.workspaceHeader h1{
  margin:0!important;
  color:#202634;
  font-size:38px!important;
  line-height:1.08
}
.superAdminWorkspace>.workspaceHeader>div>p:last-child{
  margin:8px 0 0;
  color:#747d8c;
  font-size:14px;
  line-height:1.45
}

/* Contenitore principale */
.superAdminWorkspace .superAdminPage{
  overflow:hidden;
  border:1px solid #e1e5ed;
  border-radius:22px;
  background:#fff;
  box-shadow:0 14px 36px rgba(34,46,70,.07)
}
.superAdminWorkspace .superAdminPageHead{
  padding:22px 28px 18px;
  border-bottom:1px solid var(--sa-line);
  background:#fff
}
.superAdminWorkspace .superAdminPageHead>div{
  position:relative;
  min-height:46px;
  padding-left:58px
}
.superAdminWorkspace .superAdminPageHead>div::before{
  content:"✦";
  position:absolute;
  left:0;
  top:0;
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:13px;
  background:var(--sa-purple-soft);
  color:var(--sa-purple);
  font-size:19px;
  font-weight:900;
  box-shadow:inset 0 0 0 1px rgba(103,87,217,.05)
}
.superAdminWorkspace .superAdminPageHead .eyebrow{
  display:none
}
.superAdminWorkspace .superAdminPageHead h2{
  margin:0 0 5px;
  color:var(--sa-text);
  font-size:25px;
  line-height:1.15
}
.superAdminWorkspace .superAdminPageHead p{
  max-width:840px;
  margin:0;
  color:var(--sa-muted);
  line-height:1.45
}

/* Tabs: più leggere, attivo sottolineato come nel mockup */
.superAdminWorkspace .superAdminTabs{
  gap:4px;
  padding:0 26px;
  border-bottom:1px solid var(--sa-line);
  background:#fff;
  scrollbar-width:thin
}
.superAdminWorkspace .superAdminTabs a{
  position:relative;
  min-height:52px;
  padding:0 14px;
  border-radius:0;
  background:transparent;
  color:#687181;
  font-size:13px;
  font-weight:750;
  box-shadow:none;
  transition:color .16s ease,background .16s ease
}
.superAdminWorkspace .superAdminTabs a:hover{
  background:#fafaff;
  color:#4239a7
}
.superAdminWorkspace .superAdminTabs a.active{
  background:transparent;
  color:var(--sa-purple);
  box-shadow:none
}
.superAdminWorkspace .superAdminTabs a.active::after{
  content:"";
  position:absolute;
  left:12px;
  right:12px;
  bottom:-1px;
  height:3px;
  border-radius:3px 3px 0 0;
  background:var(--sa-purple)
}

/* Accessi Super Admin — layout 40/60 */
.superAdminWorkspace .platformAccessLayout{
  grid-template-columns:minmax(300px,.82fr) minmax(0,1.24fr);
  gap:22px;
  padding:24px 28px 30px;
  background:#fbfcfe
}
.superAdminWorkspace .platformAccessLayout>.panel{
  position:relative;
  margin:0;
  padding:24px;
  border:1px solid #e4e8ef;
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 22px rgba(31,43,68,.045)
}

/* Colonna invito */
.superAdminWorkspace .platformAccessInvite{
  padding-top:26px
}
.superAdminWorkspace .platformAccessInvite::before{
  content:"+";
  position:absolute;
  left:24px;
  top:24px;
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:13px;
  background:var(--sa-green-soft);
  color:#5f8e7f;
  font-size:25px;
  font-weight:500
}
.superAdminWorkspace .platformAccessInvite>.eyebrow,
.superAdminWorkspace .platformAccessInvite>h3,
.superAdminWorkspace .platformAccessInvite>p:not(.eyebrow){
  margin-left:56px
}
.superAdminWorkspace .platformAccessInvite>.eyebrow{
  margin-top:1px;
  margin-bottom:3px;
  color:#70867f;
  font-size:9px;
  letter-spacing:.13em
}
.superAdminWorkspace .platformAccessInvite h3{
  margin-top:0;
  margin-bottom:7px;
  color:var(--sa-text);
  font-size:22px;
  line-height:1.18
}
.superAdminWorkspace .platformAccessInvite>p:not(.eyebrow){
  max-width:410px;
  margin-top:0;
  margin-bottom:22px;
  color:#74817d;
  line-height:1.5
}
.superAdminWorkspace .platformAccessInvite form{
  gap:12px;
  margin:0 0 16px
}
.superAdminWorkspace .platformAccessInvite form label{
  gap:7px;
  margin:0;
  color:#606977;
  font-size:11px;
  font-weight:800
}
.superAdminWorkspace .platformAccessInvite form input{
  min-height:46px;
  padding:11px 13px;
  border:1px solid #dde2e9;
  border-radius:9px;
  background:#fff;
  color:#283142;
  font-size:14px;
  box-shadow:0 1px 2px rgba(25,35,55,.02)
}
.superAdminWorkspace .platformAccessInvite form input:focus{
  outline:0;
  border-color:#a9a0ed;
  box-shadow:0 0 0 3px rgba(103,87,217,.10)
}
.superAdminWorkspace .platformAccessInvite form button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  justify-self:start;
  gap:8px;
  min-height:42px;
  margin-top:2px;
  padding:10px 18px;
  border:1px solid #243a56;
  border-radius:9px;
  background:#fff;
  color:#243a56;
  font-size:12px;
  font-weight:850;
  box-shadow:none
}
.superAdminWorkspace .platformAccessInvite form button::before{
  content:"➤";
  font-size:11px
}
.superAdminWorkspace .platformAccessInvite form button:hover{
  background:#f6f8fb
}
.superAdminWorkspace .platformAccessInvite>.superAdminInfo{
  margin:14px 0 0;
  padding:13px 14px;
  border:1px solid #e4ece8;
  border-left:3px solid #88aa9e;
  border-radius:12px;
  background:#f7faf9
}
.superAdminWorkspace .platformAccessInvite>.superAdminInfo strong{
  color:#536861;
  font-size:11px
}
.superAdminWorkspace .platformAccessInvite>.superAdminInfo p{
  color:#7b8783;
  font-size:11px;
  line-height:1.45
}

/* Colonna account */
.superAdminWorkspace .platformAccessAccounts{
  padding-top:26px
}
.superAdminWorkspace .platformAccessAccounts::before{
  content:"♙";
  position:absolute;
  left:24px;
  top:24px;
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:13px;
  background:#f0f2f6;
  color:#748095;
  font-size:20px;
  font-weight:700
}
.superAdminWorkspace .platformAccessHead{
  min-height:46px;
  margin:0 0 18px;
  padding-left:56px;
  align-items:center
}
.superAdminWorkspace .platformAccessHead .eyebrow{
  margin:0 0 3px;
  color:#7c8493;
  font-size:9px;
  letter-spacing:.13em
}
.superAdminWorkspace .platformAccessHead h3{
  margin:0;
  color:var(--sa-text);
  font-size:22px;
  line-height:1.18
}
.superAdminWorkspace .platformAccessHead>span{
  min-width:0;
  padding:6px 11px;
  border:1px solid var(--sa-purple-line);
  background:var(--sa-purple-soft);
  color:var(--sa-purple);
  font-size:11px
}
.superAdminWorkspace .platformAccessList{
  gap:10px
}
.superAdminWorkspace .platformAccessCard{
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px 18px;
  min-height:76px;
  padding:14px 16px;
  border:1px solid #e6e9ef;
  border-radius:14px;
  background:#fff;
  box-shadow:0 2px 8px rgba(28,40,65,.025)
}
.superAdminWorkspace .platformAccessIdentity{
  gap:11px
}
.superAdminWorkspace .platformAccessIdentity>span{
  flex-basis:40px;
  width:40px;
  height:40px;
  border-radius:50%;
  background:#ece9ff;
  color:var(--sa-purple);
  font-size:16px
}
.superAdminWorkspace .platformAccessIdentity strong{
  color:#252d3c;
  font-size:14px
}
.superAdminWorkspace .platformAccessIdentity small{
  margin-top:1px;
  color:#8a909c;
  font-size:11px
}
.superAdminWorkspace .platformAccessMeta{
  justify-items:end;
  text-align:right
}
.superAdminWorkspace .platformAccessMeta b{
  padding:5px 9px;
  border:1px solid transparent;
  font-size:9px;
  letter-spacing:.045em
}
.superAdminWorkspace .platformAccessMeta b.is-platform{
  border-color:#ded9ff;
  background:#f1efff;
  color:#5c4fcb
}
.superAdminWorkspace .platformAccessMeta b.is-client{
  border-color:#d5e9e0;
  background:#edf7f2;
  color:#30705b
}
.superAdminWorkspace .platformAccessMeta small{
  color:#748078;
  font-size:10.5px;
  line-height:1.35
}
.superAdminWorkspace .platformAccessActions{
  grid-column:1/-1;
  padding-top:2px;
  border-top:1px solid #f0f1f4
}
.superAdminWorkspace .platformAccessActions:empty{
  display:none
}
.superAdminWorkspace .platformAccessActions .button{
  min-height:34px;
  border-radius:8px;
  font-size:11px
}

/* Nota operativa */
.superAdminWorkspace .platformTransferNotice{
  position:relative;
  margin-top:16px;
  padding:15px 16px 15px 47px;
  border:0;
  border-left:4px solid var(--sa-purple);
  border-radius:12px;
  background:#f4f5f9
}
.superAdminWorkspace .platformTransferNotice::before{
  content:"i";
  position:absolute;
  left:15px;
  top:15px;
  display:grid;
  place-items:center;
  width:20px;
  height:20px;
  border:1px solid #ada6e9;
  border-radius:50%;
  color:var(--sa-purple);
  font:800 12px/1 Arial,sans-serif
}
.superAdminWorkspace .platformTransferNotice strong{
  margin:0 0 4px;
  color:#343c4d;
  font-size:12px
}
.superAdminWorkspace .platformTransferNotice p{
  color:#707988;
  font-size:11px;
  line-height:1.5
}
.superAdminWorkspace .platformTransferNotice b{
  color:var(--sa-purple-dark)
}
.superAdminWorkspace .platformTransferNotice.is-ready{
  border-left-color:#609a82;
  background:#f0f7f4
}

/* Sidebar Super Admin: più compatta e coerente senza toccare gli altri moduli */
.appSidebar .superAdminBadge{
  padding:5px 8px;
  border-radius:7px;
  background:#7768e7;
  font-size:8px;
  letter-spacing:.10em
}
.appSidebar .superAdminGroup>.sidebarGroupToggle{
  min-height:44px;
  border-radius:8px
}
.appSidebar .superAdminGroup>.sidebarGroupToggle.active{
  background:#6b5ed7!important;
  box-shadow:0 7px 18px rgba(62,51,154,.20)
}

/* Responsive */
@media(max-width:1100px){
  .superAdminWorkspace .platformAccessLayout{
    grid-template-columns:1fr;
    padding:20px 22px 26px
  }
}
@media(max-width:720px){
  .superAdminWorkspace{
    padding-top:18px
  }
  .superAdminWorkspace>.workspaceHeader{
    margin-bottom:14px
  }
  .superAdminWorkspace>.workspaceHeader h1{
    font-size:30px!important
  }
  .superAdminWorkspace .superAdminPage{
    border-radius:17px
  }
  .superAdminWorkspace .superAdminPageHead{
    padding:18px
  }
  .superAdminWorkspace .superAdminPageHead>div{
    padding-left:50px
  }
  .superAdminWorkspace .superAdminPageHead>div::before{
    width:38px;
    height:38px;
    border-radius:11px
  }
  .superAdminWorkspace .superAdminPageHead h2{
    font-size:21px
  }
  .superAdminWorkspace .superAdminTabs{
    padding:0 10px
  }
  .superAdminWorkspace .superAdminTabs a{
    min-height:48px;
    padding:0 11px;
    font-size:12px
  }
  .superAdminWorkspace .platformAccessLayout{
    gap:14px;
    padding:14px
  }
  .superAdminWorkspace .platformAccessLayout>.panel{
    padding:18px;
    border-radius:15px
  }
  .superAdminWorkspace .platformAccessInvite::before,
  .superAdminWorkspace .platformAccessAccounts::before{
    left:18px;
    top:18px;
    width:38px;
    height:38px
  }
  .superAdminWorkspace .platformAccessInvite>.eyebrow,
  .superAdminWorkspace .platformAccessInvite>h3,
  .superAdminWorkspace .platformAccessInvite>p:not(.eyebrow){
    margin-left:50px
  }
  .superAdminWorkspace .platformAccessHead{
    padding-left:50px
  }
  .superAdminWorkspace .platformAccessCard{
    grid-template-columns:1fr
  }
  .superAdminWorkspace .platformAccessMeta{
    justify-items:start;
    text-align:left;
    padding-left:51px
  }
  .superAdminWorkspace .platformAccessActions{
    display:grid;
    grid-template-columns:1fr
  }
  .superAdminWorkspace .platformAccessActions form,
  .superAdminWorkspace .platformAccessActions .button{
    width:100%
  }
}
@media(max-width:420px){
  .superAdminWorkspace .platformAccessInvite>.eyebrow,
  .superAdminWorkspace .platformAccessInvite>h3,
  .superAdminWorkspace .platformAccessInvite>p:not(.eyebrow){
    margin-left:0;
    padding-top:48px
  }
  .superAdminWorkspace .platformAccessInvite>h3{
    padding-top:0
  }
  .superAdminWorkspace .platformAccessInvite>p:not(.eyebrow){
    padding-top:0
  }
  .superAdminWorkspace .platformAccessHead{
    display:grid;
    gap:10px;
    min-height:0;
    padding-left:0;
    padding-top:48px
  }
  .superAdminWorkspace .platformAccessHead>span{
    justify-self:start
  }
  .superAdminWorkspace .platformAccessMeta{
    padding-left:0
  }
}


/* =========================================================
   YMYSY v18.1.1 — SUPER ADMIN / INTRO POST-LOGIN ALIGNMENT
   Solo UI: allineamento radio, spaziature e campi comportamento.
   ========================================================= */
.superAdminWorkspace .introAdminLayout{
  align-items:start;
}
.superAdminWorkspace .introAdminLayout>section{
  min-width:0;
  align-self:start;
}
.superAdminWorkspace .superAdminSwitch{
  margin:0 0 24px!important;
  align-items:center!important;
}
.superAdminWorkspace .superAdminSwitch input{
  width:20px!important;
  min-width:20px!important;
  max-width:20px!important;
  height:20px!important;
  flex:0 0 20px!important;
  margin:0!important;
}
.superAdminWorkspace .introTypeChoices{
  gap:12px;
  margin:0 0 22px;
}
.superAdminWorkspace .introTypeChoices label{
  display:grid!important;
  grid-template-columns:20px minmax(0,1fr)!important;
  align-items:start!important;
  justify-content:start!important;
  column-gap:14px!important;
  min-height:0;
  margin:0!important;
  padding:16px 18px!important;
}
.superAdminWorkspace .introTypeChoices input{
  grid-column:1;
  width:18px!important;
  min-width:18px!important;
  max-width:18px!important;
  height:18px!important;
  margin:2px 0 0!important;
  padding:0!important;
  justify-self:start!important;
}
.superAdminWorkspace .introTypeChoices span{
  grid-column:2;
  min-width:0;
  justify-self:stretch;
  align-self:start;
  text-align:left;
}
.superAdminWorkspace .introTypeChoices span strong,
.superAdminWorkspace .introTypeChoices span small{
  display:block;
  text-align:left;
}
.superAdminWorkspace .introTypeChoices span strong{
  margin:0 0 4px;
}
.superAdminWorkspace .introTypeChoices span small{
  line-height:1.45;
}
.superAdminWorkspace .introBehaviorGrid{
  align-items:start;
  gap:16px;
}
.superAdminWorkspace .introBehaviorGrid label{
  min-width:0;
  margin:0!important;
}
.superAdminWorkspace .introBehaviorGrid select{
  width:100%;
  min-width:0;
}
.superAdminWorkspace .introAdminLayout>section>label:not(.superAdminSwitch){
  margin-top:14px;
  margin-bottom:14px;
}
@media(max-width:900px){
  .superAdminWorkspace .introTypeChoices label{
    padding:14px 16px!important;
  }
}

/* =========================================================
   YMYSY v18.1.2 — SUPER ADMIN / ACCENTI BLU UNIFORMI
   Temporaneo: tutti gli stati positivi e gli accenti del Super Admin
   usano la stessa famiglia blu/indaco. Errori e warning restano semantici.
   ========================================================= */
.superAdminWorkspace{
  --sa-purple:#5864d8;
  --sa-purple-dark:#4652bf;
  --sa-purple-soft:#eef0ff;
  --sa-purple-line:#d9ddff;
  --sa-green:#5864d8;
  --sa-green-soft:#eef0ff;
}

/* Accessi Super Admin: rimuove gli ultimi accenti verdi */
.superAdminWorkspace .platformAccessInvite::before{
  background:#eef0ff!important;
  color:#5864d8!important;
}
.superAdminWorkspace .platformAccessInvite>.eyebrow{
  color:#5864d8!important;
}
.superAdminWorkspace .platformAccessInvite>.superAdminInfo{
  border-color:#dde1ff!important;
  border-left-color:#5864d8!important;
  background:#f4f5ff!important;
}
.superAdminWorkspace .platformAccessInvite>.superAdminInfo strong{
  color:#4652bf!important;
}
.superAdminWorkspace .platformAccessInvite>.superAdminInfo p{
  color:#68718a!important;
}
.superAdminWorkspace .platformAccessMeta b.is-client{
  border-color:#d9ddff!important;
  background:#eef0ff!important;
  color:#4652bf!important;
}
.superAdminWorkspace .platformTransferNotice.is-ready{
  border-left-color:#5864d8!important;
  background:#f1f3ff!important;
}

/* E-mail e inviti: status, badge e diagnostica tutti blu */
.superAdminWorkspace .emailSecurityStatus,
.superAdminWorkspace .emailSecurityStatus.is-open{
  background:linear-gradient(145deg,#eef0ff,#fbfbff)!important;
}
.superAdminWorkspace .emailSecurityStatusIcon,
.superAdminWorkspace .emailSecurityStatus.is-open .emailSecurityStatusIcon{
  background:#5864d8!important;
  box-shadow:0 10px 24px rgba(88,100,216,.18)!important;
}
.superAdminWorkspace .emailDomainBadges span{
  border-color:#d9ddff!important;
  background:#f7f7ff!important;
  color:#4652bf!important;
}
.superAdminWorkspace .emailDiagnosticsHead .eyebrow{
  color:#5864d8!important;
}
.superAdminWorkspace .smtpConfigBadge.is-ready{
  background:#e9ecff!important;
  color:#4652bf!important;
}
.superAdminWorkspace .smtpOk{
  background:#f0f2ff!important;
  border-left-color:#5864d8!important;
}
.superAdminWorkspace .smtpOk strong{
  color:#303b9f!important;
}
.superAdminWorkspace .smtpTestResult.is-success{
  background:#f0f2ff!important;
  border-left-color:#5864d8!important;
}

/* Clienti: gli stati positivi/verified diventano blu */
.superAdminWorkspace .clientDatabaseStatus.is-verified,
.superAdminWorkspace .clientDatabaseStatus.is-managed{
  background:#e9ecff!important;
  color:#4652bf!important;
}

/* Stati positivi generici all'interno del solo Super Admin */
.superAdminWorkspace .smtpTestResult.is-success strong,
.superAdminWorkspace .smtpTestResult.is-success b{
  color:#303b9f!important;
}

/* =========================================================
   YMYSY UI STANDARD v1 — NUTRIZIONE / VERDE SALVIA
   Struttura condivisa approvata: hero, KPI, toolbar, archivio,
   azioni e paginazione. Solo UI: nessuna logica applicativa.
   ========================================================= */

/* Palette provvisoria del modulo Nutrizione.
   Verrà centralizzata quando sarà definita la palette ufficiale YMYSY. */
.nutritionPage{
  --nutrition-sage-950:#18372a;
  --nutrition-sage-900:#214936;
  --nutrition-sage-800:#315f47;
  --nutrition-sage-700:#4f7b60;
  --nutrition-sage-600:#668f73;
  --nutrition-sage-500:#7fa18a;
  --nutrition-sage-400:#9bb7a2;
  --nutrition-sage-300:#bdd0c1;
  --nutrition-sage-200:#dce8de;
  --nutrition-sage-100:#edf4ee;
  --nutrition-sage-050:#f7faf7;
  --nutrition-ink:#183127;
  --nutrition-muted:#68776f;
}

/* Sidebar: stessa struttura YMYSY, identità cromatica Nutrizione. */
body:has(.nutritionPage) .appSidebar{
  background:linear-gradient(180deg,var(--nutrition-sage-950) 0%,#1b3f30 58%,#173526 100%)!important;
  border-right-color:rgba(255,255,255,.08)!important;
  color:#fff!important;
}
body:has(.nutritionPage) .appSidebar .platformSidebarName,
body:has(.nutritionPage) .appSidebar .account strong,
body:has(.nutritionPage) .appSidebar .account small,
body:has(.nutritionPage) .appSidebar .account a,
body:has(.nutritionPage) .appSidebar nav>a,
body:has(.nutritionPage) .appSidebar .sidebarGroupToggle,
body:has(.nutritionPage) .appSidebar .sidebarSubmenu a{
  color:rgba(255,255,255,.86)!important;
}
body:has(.nutritionPage) .appSidebar nav>a:hover,
body:has(.nutritionPage) .appSidebar .sidebarGroupToggle:hover,
body:has(.nutritionPage) .appSidebar .sidebarSubmenu a:hover{
  color:#fff!important;
}
body:has(.nutritionPage) .appSidebar [data-module="nutrition"]>.sidebarGroupToggle.active{
  background:rgba(154,188,163,.28)!important;
  border-left-color:#b8cfbd!important;
  color:#fff!important;
}
body:has(.nutritionPage) .appSidebar [data-module="nutrition"] .sidebarSubmenu a.active{
  color:#fff!important;
  font-weight:800!important;
}
body:has(.nutritionPage) .appSidebar [data-module="nutrition"] .sidebarSubmenu a.active::before{
  background:#b8cfbd!important;
}
body:has(.nutritionPage) .appSidebar .account{
  border-top-color:rgba(255,255,255,.15)!important;
}

/* Hero standard — colore modulo salvia. */
.nutritionPage .nutritionDashboardApproved{
  --nutrition-approved-green:var(--nutrition-sage-700);
  --nutrition-approved-green-dark:var(--nutrition-sage-900);
  --nutrition-final-green:var(--nutrition-sage-700);
  --nutrition-final-green-dark:var(--nutrition-sage-900);
  --nutrition-approved-text:var(--nutrition-ink);
  --nutrition-final-text:var(--nutrition-ink);
  --nutrition-approved-muted:var(--nutrition-muted);
  --nutrition-final-muted:var(--nutrition-muted);
}
.nutritionPage .nutritionHeroApproved{
  border-color:#dce8de!important;
  background:
    radial-gradient(circle at 58% 43%,rgba(143,170,154,.20),rgba(143,170,154,0) 31%),
    linear-gradient(108deg,#ffffff 0%,#fbfdfb 38%,#f1f6f1 68%,#e9f2eb 100%)!important;
  box-shadow:0 16px 42px rgba(31,69,51,.055)!important;
}
.nutritionPage .nutritionHeroApproved:after{
  background:radial-gradient(circle at 56% 46%,rgba(126,161,137,.16),rgba(126,161,137,0) 34%)!important;
}
.nutritionPage .nutritionKickerApproved{
  color:var(--nutrition-sage-800)!important;
}
.nutritionPage .nutritionHeroApproved h1{
  color:var(--nutrition-ink)!important;
}
.nutritionPage .nutritionHeroApproved .nutritionHeroCopy>p:last-child,
.nutritionPage .nutritionUpdatedApproved{
  color:var(--nutrition-muted)!important;
}
.nutritionPage .nutritionHeroArtApproved:before{
  background:radial-gradient(circle at center,rgba(127,161,138,.20),rgba(127,161,138,0) 70%)!important;
}
.nutritionPage .nutritionHeroArtApproved svg,
.nutritionPage .nutritionHeroArtApproved .nutritionLeafVein{
  stroke:#91ad99!important;
}
.nutritionPage .nutritionHeaderCompanyLogo{
  filter:none;
}

/* KPI: un'unica famiglia cromatica, senza effetto multicolore. */
.nutritionPage .nutritionStatsApproved .nutritionStatCard{
  border-color:#dfe8e1!important;
  box-shadow:0 10px 28px rgba(31,69,51,.045)!important;
}
.nutritionPage .nutritionStatsApproved .nutritionStatIcon{
  background:var(--nutrition-sage-100)!important;
  color:var(--nutrition-sage-800)!important;
}
.nutritionPage .nutritionStatsApproved .nutritionStatCard:nth-child(2) .nutritionStatIcon{
  background:#e8f0e9!important;
  color:#567c62!important;
}
.nutritionPage .nutritionStatsApproved .nutritionStatCard:nth-child(3) .nutritionStatIcon{
  background:#f0f5f0!important;
  color:#698970!important;
}
.nutritionPage .nutritionStatsApproved .nutritionStatCard:nth-child(4) .nutritionStatIcon{
  background:#e5eee7!important;
  color:#466e54!important;
}
.nutritionPage .nutritionStatsApproved .nutritionStatCard small{
  color:#56675e!important;
}
.nutritionPage .nutritionStatsApproved .nutritionStatCard strong{
  color:var(--nutrition-ink)!important;
}
.nutritionPage .nutritionTrend--green,
.nutritionPage .nutritionTrend--blue,
.nutritionPage .nutritionTrend--orange,
.nutritionPage .nutritionMetricPositive,
.nutritionPage .nutritionDelta.is-down{
  color:#3e7a54!important;
}

/* Archivio / toolbar standard. */
.nutritionPage .nutritionDirectoryApproved{
  border-color:#dce6df!important;
  box-shadow:0 16px 40px rgba(31,69,51,.045)!important;
}
.nutritionPage .nutritionToolbarApproved{
  border-bottom-color:#e5ece7!important;
}
.nutritionPage .nutritionFiltersApproved input,
.nutritionPage .nutritionFiltersApproved select,
.nutritionPage .nutritionSearchFieldApproved input{
  border-color:#d9e4dc!important;
  color:var(--nutrition-ink)!important;
}
.nutritionPage .nutritionFiltersApproved input:focus,
.nutritionPage .nutritionFiltersApproved select:focus,
.nutritionPage .nutritionSearchFieldApproved input:focus{
  border-color:var(--nutrition-sage-500)!important;
  box-shadow:0 0 0 3px rgba(127,161,138,.15)!important;
  outline:0!important;
}
.nutritionPage .nutritionSearchIcon{
  stroke:#63766b!important;
}
.nutritionPage .nutritionFilterButtonApproved{
  border-color:#6f8778!important;
  color:#365845!important;
  background:#fff!important;
}
.nutritionPage .nutritionFilterButtonApproved:hover,
.nutritionPage .nutritionFilterButtonApproved:focus-visible{
  border-color:var(--nutrition-sage-600)!important;
  background:var(--nutrition-sage-100)!important;
  color:var(--nutrition-sage-900)!important;
}
.nutritionPage .nutritionViewSwitch{
  border-color:#d8e3db!important;
}
.nutritionPage .nutritionViewSwitch button{
  color:#53675c!important;
  border-color:#6f8778!important;
}
.nutritionPage .nutritionViewSwitch button+button{
  border-left-color:#d8e3db!important;
}
.nutritionPage .nutritionViewSwitch button.active{
  border-color:var(--nutrition-sage-600)!important;
  background:var(--nutrition-sage-700)!important;
  color:#fff!important;
}

/* Righe assistiti e azioni. */
.nutritionPage .nutritionClientCardApproved{
  border-top-color:#e7ede9!important;
}
.nutritionPage .nutritionClientCardApproved:hover{
  background:#fbfdfb!important;
}
.nutritionPage .nutritionAvatar{
  background:var(--nutrition-sage-100)!important;
  color:#2f6f48!important;
  border-color:#d9e6dc!important;
}
.nutritionPage .nutritionClientIdentityApproved strong,
.nutritionPage .nutritionClientMetricApproved strong{
  color:var(--nutrition-ink)!important;
}
.nutritionPage .nutritionClientIdentityApproved small,
.nutritionPage .nutritionClientMetricApproved small,
.nutritionPage .nutritionClientMetricApproved>span,
.nutritionPage .nutritionClientMetricApproved em{
  color:#6c7b72!important;
}
.nutritionPage .nutritionStatus--active{
  background:#edf5ef!important;
  color:#39724d!important;
}
.nutritionPage .nutritionClientIconAction{
  border-color:#cfdcd3!important;
  color:#365548!important;
  background:#fff!important;
}
.nutritionPage .nutritionClientViewAction:hover{
  border-color:#8fb09a!important;
  background:#edf5ef!important;
  color:#2f6e47!important;
}
/* Le azioni semantiche pericolo/archivio mantengono un colore dedicato. */
.nutritionPage .nutritionClientArchiveAction{
  color:#9a650f!important;
  background:#fffaf1!important;
  border-color:#e8c98e!important;
}
.nutritionPage .nutritionClientRestoreAction{
  color:#39724d!important;
  background:#edf5ef!important;
  border-color:#b8d1bf!important;
}

/* Paginazione e floating action coerenti col modulo. */
.nutritionPage .nutritionDirectoryFooter{
  border-top-color:#e5ece7!important;
  color:#6c7b72!important;
}
.nutritionPage .nutritionPagination button,
.nutritionPage .nutritionPagination strong{
  border-color:#d7e2da!important;
  color:#53675c!important;
}
.nutritionPage .nutritionPagination strong{
  border-color:var(--nutrition-sage-700)!important;
  background:var(--nutrition-sage-700)!important;
  color:#fff!important;
}
.nutritionPage .nutritionFloatingAdd{
  background:#86a691!important;
  border-color:rgba(255,255,255,.62)!important;
  box-shadow:0 14px 30px rgba(36,70,52,.24),0 5px 12px rgba(36,70,52,.12)!important;
}
.nutritionPage .nutritionFloatingAdd:hover,
.nutritionPage .nutritionFloatingAdd:focus-visible{
  background:#6f927c!important;
  box-shadow:0 19px 38px rgba(36,70,52,.30),0 8px 16px rgba(36,70,52,.16)!important;
}
.nutritionPage .nutritionFloatingAdd:focus-visible{
  outline-color:rgba(127,161,138,.34)!important;
}

/* Form/pagine secondarie Nutrizione: stesso accento salvia. */
body:has(.nutritionPage) .button:not(.danger),
body:has(.nutritionPage) button:not(.danger):not(.nutritionClientArchiveAction){
  --nutrition-button-sage:#6f927c;
}
.nutritionPage a:focus-visible,
.nutritionPage button:focus-visible,
.nutritionPage input:focus-visible,
.nutritionPage select:focus-visible,
.nutritionPage textarea:focus-visible{
  outline-color:#8fae99!important;
}

@media(max-width:980px){
  body:has(.nutritionPage) .appSidebar{
    background:linear-gradient(180deg,var(--nutrition-sage-950),#173526)!important;
  }
  .nutritionPage .nutritionHeroApproved{
    background:linear-gradient(135deg,#fff 0%,#eef5ef 100%)!important;
  }
}


/* =========================================================
   YMYSY UI STANDARD MODULI v2
   Struttura condivisa approvata: hero + KPI + toolbar + archivio.
   Fix sidebar: nessun selettore :has(), stato modulo esplicito da PHP.
   ========================================================= */

/* --- Sidebar stabile e sempre leggibile --- */
body:not(.public) .appSidebar{
  background:#2F4550!important;
  color:#F4F4F9!important;
  border-right:0!important;
  box-shadow:2px 0 14px rgba(25,36,43,.14)!important;
}
body:not(.public) .appSidebar .platformSidebarName,
body:not(.public) .appSidebar .account,
body:not(.public) .appSidebar .account strong,
body:not(.public) .appSidebar .account small,
body:not(.public) .appSidebar .account a,
body:not(.public) .appSidebar nav>a,
body:not(.public) .appSidebar .sidebarGroupToggle,
body:not(.public) .appSidebar .sidebarChevron{
  color:#F4F4F9!important;
}
body:not(.public) .appSidebar .sidebarGroupToggle,
body:not(.public) .appSidebar nav>a{background:transparent!important}
body:not(.public) .appSidebar .sidebarGroupToggle:hover,
body:not(.public) .appSidebar .sidebarGroupToggle:focus-visible,
body:not(.public) .appSidebar .sidebarGroup.is-open>.sidebarGroupToggle,
body:not(.public) .appSidebar .sidebarGroupToggle.active,
body:not(.public) .appSidebar nav>a:hover,
body:not(.public) .appSidebar nav>a.active{
  background:#586F7C!important;
  color:#fff!important;
}
body:not(.public) .appSidebar .account{border-top-color:rgba(255,255,255,.16)!important}
/* Accento leggero del modulo attivo, senza cambiare lo scheletro del menu. */
body:not(.public) .appSidebar--traceability [data-module="traceability"]>.sidebarGroupToggle.active{box-shadow:inset 4px 0 0 #20AFAA!important}
body:not(.public) .appSidebar--products [data-module="products"]>.sidebarGroupToggle.active{box-shadow:inset 4px 0 0 #8B63D9!important}
body:not(.public) .appSidebar--nutrition [data-module="nutrition"]>.sidebarGroupToggle.active{box-shadow:inset 4px 0 0 #91AD99!important}
body:not(.public) .appSidebar--superadmin [data-module="superadmin"]>.sidebarGroupToggle.active{box-shadow:inset 4px 0 0 #6366F1!important}

/* Neutralizza le vecchie regole sperimentali della sidebar Nutrizione. */
body:has(.nutritionPage) .appSidebar{background:#2F4550!important;color:#F4F4F9!important}
body:has(.nutritionPage) .appSidebar .platformSidebarName,
body:has(.nutritionPage) .appSidebar .account strong,
body:has(.nutritionPage) .appSidebar .account small,
body:has(.nutritionPage) .appSidebar .account a,
body:has(.nutritionPage) .appSidebar nav>a,
body:has(.nutritionPage) .appSidebar .sidebarGroupToggle,
body:has(.nutritionPage) .appSidebar .sidebarSubmenu a{color:#F4F4F9!important}

/* --- Tokens condivisi --- */
.workspace--traceability{--module-accent:#20AFAA;--module-accent-dark:#117F7B;--module-soft:#EAF8F6;--module-ink:#132E2D;--module-line:#D9E9E6}
.workspace--products{--module-accent:#8B63D9;--module-accent-dark:#6645B2;--module-soft:#F2EDFB;--module-ink:#241A38;--module-line:#E5DDF3}
.workspace--nutrition{--module-accent:#7F9F88;--module-accent-dark:#4F775B;--module-soft:#EDF4EE;--module-ink:#183127;--module-line:#DCE8DE}

.workspace--traceability,
.workspace--products,
.workspace--nutrition{max-width:none!important;padding:28px 32px 42px!important;background:#F8FAF9!important}

/* --- Hero condivisa --- */
.workspace .moduleStandardHero{
  position:relative;
  min-height:250px;
  margin:0 0 24px!important;
  padding:34px 38px!important;
  border:1px solid var(--module-line,#dfe8e5)!important;
  border-radius:26px!important;
  box-shadow:0 16px 40px rgba(18,35,30,.045)!important;
  overflow:hidden;
}
.workspace--traceability .moduleWorkspaceHeader{
  background:radial-gradient(circle at 58% 44%,rgba(32,175,170,.10),transparent 31%),linear-gradient(108deg,#fff 0%,#f7fcfb 42%,#eaf8f6 100%)!important;
}
.workspace--products .moduleWorkspaceHeader{
  background:radial-gradient(circle at 58% 44%,rgba(139,99,217,.10),transparent 31%),linear-gradient(108deg,#fff 0%,#fbf9fe 42%,#f2edfb 100%)!important;
}
.workspace .moduleWorkspaceCopy{align-self:center;max-width:720px}
.workspace .moduleWorkspaceCopy .moduleHeaderEyebrow{margin:0 0 14px!important;color:var(--module-accent-dark,#4f775b)!important;font-size:13px!important;font-weight:850!important;letter-spacing:.08em!important;text-transform:uppercase}
.workspace .moduleWorkspaceCopy h1{margin:0 0 18px!important;font-size:48px!important;line-height:1.03!important;letter-spacing:-.035em!important;color:var(--module-ink,#18252a)!important}
.workspace .moduleWorkspaceCopy>p:last-child{margin:0!important;max-width:720px!important;font-size:18px!important;line-height:1.5!important;color:#687583!important}
.workspace .moduleWorkspaceVisual{display:flex!important;flex-direction:column!important;align-items:flex-end!important;justify-content:center!important;gap:20px!important;min-width:250px}
.workspace .moduleWorkspaceLogo{padding:12px 16px!important;background:#fff!important;max-width:var(--module-logo-size,150px)!important;max-height:90px!important;object-fit:contain!important}
.workspace .moduleStandardUpdated{display:inline-flex;align-items:center;gap:8px;color:#687583;font-size:13px;font-weight:650;white-space:nowrap}

/* --- KPI condivisi --- */
.moduleStandardStats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:0 auto 24px;max-width:1480px}
.moduleStandardStats>article,
.moduleStandardStats .nutritionStatCard{display:grid!important;grid-template-columns:64px minmax(0,1fr)!important;align-items:center!important;gap:16px!important;min-height:142px!important;padding:22px 24px!important;border:1px solid var(--module-line,#e1e7e4)!important;border-radius:20px!important;background:#fff!important;box-shadow:0 10px 30px rgba(25,45,37,.04)!important}
.moduleStandardStatIcon,
.moduleStandardStats .nutritionStatIcon{display:grid!important;place-items:center!important;width:64px!important;height:64px!important;border-radius:50%!important;background:var(--module-soft,#eef4f1)!important;color:var(--module-accent-dark,#4f775b)!important;font-size:25px!important;font-weight:800!important}
.moduleStandardStats article small{display:block!important;margin:0 0 6px!important;color:#59685f!important;font-size:13px!important;font-weight:800!important}
.moduleStandardStats article strong{display:block!important;margin:0!important;color:var(--module-ink,#18252a)!important;font:800 34px/1.05 Helvetica,Arial,sans-serif!important}
.moduleStandardStats article em,
.moduleStandardStats article div>span{display:block!important;margin-top:7px!important;color:var(--module-accent-dark,#4f775b)!important;font-size:12px!important;font-style:normal!important;font-weight:700!important}

/* Nutrizione usa gli stessi componenti, mantenendo il salvia approvato. */
.workspace--nutrition .nutritionDashboardApproved{max-width:1480px!important;margin:0 auto!important;gap:24px!important}
.workspace--nutrition .nutritionHeroApproved{min-height:250px!important;margin-bottom:0!important}
.workspace--nutrition .nutritionStatsApproved{margin:0!important}

/* --- Directory / archivio condiviso --- */
.moduleStandardDirectory{max-width:1480px!important;margin:0 auto!important;padding:28px!important;border:1px solid var(--module-line,#e1e7e4)!important;border-radius:22px!important;background:#fff!important;box-shadow:0 14px 36px rgba(25,45,37,.035)!important}
.moduleStandardDirectory .pageHead{align-items:center!important;gap:28px!important;margin-bottom:22px!important}
.moduleStandardDirectory .pageHead h2{margin:5px 0 8px!important;font-size:32px!important;letter-spacing:-.025em!important}
.moduleStandardDirectory .pageHead .eyebrow{color:var(--module-accent-dark,#4f775b)!important}

/* Tracciabilità: toolbar e tabella portate allo stesso linguaggio. */
.traceabilityStandardDirectory .pageHead{display:grid!important;grid-template-columns:minmax(260px,.7fr) minmax(520px,1.3fr)!important}
.traceabilityStandardDirectory .searchForm{display:grid!important;grid-template-columns:minmax(240px,1fr) minmax(180px,.65fr) auto auto!important;gap:12px!important;align-items:center!important;margin:0!important}
.traceabilityStandardDirectory .searchForm input,
.traceabilityStandardDirectory .searchForm select{width:100%!important;height:52px!important;padding:0 16px!important;border:1px solid #d8e4df!important;border-radius:13px!important;background:#fff!important;font-size:14px!important}
.traceabilityStandardDirectory .searchForm button,
.traceabilityStandardDirectory .searchForm .button{min-height:52px!important;border-radius:13px!important}
.workspace--traceability .searchForm button:not(.subtle){background:var(--module-accent)!important;border-color:var(--module-accent)!important;color:#fff!important}
.traceabilityStandardDirectory .lotArchiveTable{border-collapse:separate!important;border-spacing:0!important;border-top:1px solid #e7eeeb!important;margin-top:8px!important}
.traceabilityStandardDirectory .lotArchiveTable th{padding:17px 14px!important;color:#74837c!important;font-size:11px!important;letter-spacing:.05em!important}
.traceabilityStandardDirectory .lotArchiveTable td{padding:18px 14px!important;font-size:14px!important;vertical-align:middle!important}
.traceabilityStandardDirectory .lotArchiveTable tbody tr:hover{background:#FBFDFC!important}
.traceabilityStandardDirectory .lotArchiveTable td:first-child a{color:#24434A!important;font-weight:800!important}
.traceabilityStandardDirectory .lotArchiveActions{width:150px!important;gap:8px!important}
.traceabilityStandardDirectory .lotArchiveActions .actionIconButton{display:inline-grid!important;place-items:center!important;width:40px!important;height:40px!important;border:1px solid #d8e2de!important;border-radius:11px!important;background:#fff!important}

/* Prodotti: stesso scheletro di toolbar/directory, accento viola. */
.workspace--products .productArchive{padding:28px!important}
.workspace--products .productArchive .pageHead{margin-bottom:18px!important}
.workspace--products .productArchive .catalogArchiveFilters{margin:0 0 18px!important;padding-top:18px!important;border-top:1px solid #ebe7f2!important}
.workspace--products .productArchive .catalogArchiveSearch input,
.workspace--products .productArchive .catalogArchiveSort select{border-color:#ded7eb!important;border-radius:13px!important;background:#fff!important}
.workspace--products .productArchive .catalogFilterToggle,
.workspace--products .productArchive .catalog-view-button,
.workspace--products .productArchive .catalogHeaderIconAction{border-color:#d9d0e9!important;border-radius:11px!important;color:#5e4a82!important;background:#fff!important}
.workspace--products .productArchive .catalog-view-button.is-active{background:var(--module-accent)!important;border-color:var(--module-accent)!important;color:#fff!important}
.workspace--products .productArchive .catalogProductCard{border-color:#e6def1!important;box-shadow:0 10px 26px rgba(80,54,118,.035)!important}

/* Nutrizione: garantisce che toolbar/directory condividano geometrie e sidebar sia leggibile. */
.workspace--nutrition .nutritionDirectoryApproved{border-radius:22px!important;box-shadow:0 14px 36px rgba(25,45,37,.035)!important}
.workspace--nutrition .nutritionToolbarApproved{padding:18px 20px!important}
.workspace--nutrition .nutritionFiltersApproved input,
.workspace--nutrition .nutritionFiltersApproved select{height:52px!important;border-radius:13px!important}
.workspace--nutrition .nutritionFilterButtonApproved,
.workspace--nutrition .nutritionViewSwitch button{height:52px!important;border-radius:13px!important}

/* Stato semantico resta comune a tutti i moduli. */
.workspace .status.published{background:#E2F3EA!important;color:#17704E!important}
.workspace .status.draft{background:#FFF0D5!important;color:#936211!important}

@media(max-width:1180px){
  .moduleStandardStats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .traceabilityStandardDirectory .pageHead{grid-template-columns:1fr!important}
}
@media(max-width:900px){
  .workspace--traceability,.workspace--products,.workspace--nutrition{padding:18px!important}
  .workspace .moduleStandardHero{min-height:0;padding:26px 22px!important;grid-template-columns:1fr!important}
  .workspace .moduleWorkspaceVisual{align-items:flex-start!important;min-width:0}
  .workspace .moduleWorkspaceCopy h1{font-size:38px!important}
  .moduleStandardStats{grid-template-columns:1fr 1fr;gap:12px}
  .moduleStandardDirectory{padding:20px!important}
  .traceabilityStandardDirectory .searchForm{grid-template-columns:1fr!important}
}
@media(max-width:640px){
  .moduleStandardStats{grid-template-columns:1fr}
  .moduleStandardStats>article,.moduleStandardStats .nutritionStatCard{min-height:118px!important;padding:18px!important}
  .moduleStandardDirectory{padding:16px!important}
}

/* =========================================================
   YMYSY UI STANDARD MODULI v2.1 — MOBILE / TABLET PASS
   Adatta lo standard desktop approvato a tablet e smartphone.
   Solo UI/CSS: nessuna logica, database o permesso.
   ========================================================= */

/* Contenimento generale: nessun modulo deve creare scroll orizzontale. */
@media(max-width:1023px){
  html,body{max-width:100%;overflow-x:hidden}
  body:not(.public) .workspace,
  body:not(.public) .workspace--traceability,
  body:not(.public) .workspace--products,
  body:not(.public) .workspace--nutrition,
  body:not(.public) .workspace--superadmin{
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    padding:14px!important;
    overflow-x:hidden!important;
  }

  /* Sidebar off-canvas: stessa identità scura del desktop. */
  body:not(.public) .appSidebar{
    width:min(88vw,330px)!important;
    max-width:330px!important;
    padding:18px 16px max(18px,env(safe-area-inset-bottom))!important;
    background:#2F4550!important;
    color:#F4F4F9!important;
    box-shadow:14px 0 36px rgba(18,29,35,.30)!important;
  }
  body:not(.public) .appSidebar .mobileMenuHead{min-height:48px!important}
  body:not(.public) .appSidebar .mobileMenuClose{
    display:grid!important;
    place-items:center!important;
    width:42px!important;
    min-width:42px!important;
    height:42px!important;
    min-height:42px!important;
    padding:0!important;
    border:1px solid rgba(255,255,255,.18)!important;
    border-radius:12px!important;
    background:rgba(255,255,255,.10)!important;
    color:#fff!important;
    font-size:25px!important;
  }
  body:not(.public) .appSidebar nav{margin-top:18px!important;gap:4px!important}
  body:not(.public) .appSidebar .sidebarGroupToggle,
  body:not(.public) .appSidebar nav>a{
    width:100%!important;
    min-height:50px!important;
    height:auto!important;
    max-height:none!important;
    margin:2px 0!important;
    padding:11px 12px!important;
  }
  body:not(.public) .appSidebar .sidebarGroup>.sidebarSubmenu{
    position:static!important;
    width:auto!important;
    margin:5px 0 9px 12px!important;
    padding:7px!important;
    border:0!important;
    border-radius:10px!important;
    box-shadow:none!important;
    background:#F4F4F9!important;
  }
  body:not(.public) .appSidebar .sidebarSubmenu a{
    min-height:42px!important;
    padding:10px 11px!important;
    color:#2C2C2C!important;
  }
  body:not(.public) .mobileMenuOverlay:not([hidden]){background:rgba(12,23,28,.62)!important}

  /* Hamburger: colore del modulo, dimensione touch uniforme. */
  body:not(.public) .workspaceHeader .mobileMenuToggle{
    display:grid!important;
    place-items:center!important;
    width:46px!important;
    min-width:46px!important;
    height:46px!important;
    min-height:46px!important;
    padding:0!important;
    border:0!important;
    border-radius:13px!important;
    color:#fff!important;
    box-shadow:0 7px 18px rgba(27,45,38,.14)!important;
  }
  .workspace--traceability .mobileMenuToggle{background:#20AFAA!important}
  .workspace--products .mobileMenuToggle{background:#8B63D9!important}
  .workspace--nutrition .mobileMenuToggle{background:#7F9F88!important}
  .workspace--superadmin .mobileMenuToggle{background:#6366F1!important}

  /* Nutrizione nascondeva completamente l'header globale: su mobile lo
     riattiviamo come barra compatta SOLO per rendere disponibile il menu. */
  .workspace--nutrition>.workspaceHeader.nutritionGlobalHeader{
    display:grid!important;
    grid-template-columns:46px minmax(0,1fr)!important;
    align-items:center!important;
    min-height:46px!important;
    margin:0 0 12px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  .workspace--nutrition>.workspaceHeader.nutritionGlobalHeader>div{display:none!important}
  .workspace--nutrition>.workspaceHeader.nutritionGlobalHeader .mobileMenuToggle{position:static!important}

  /* Hero standard: hamburger in alto, contenuti sotto senza sovrapposizioni. */
  .workspace .moduleStandardHero,
  .workspace--nutrition .nutritionHeroApproved.moduleStandardHero{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:18px!important;
    min-height:0!important;
    width:100%!important;
    max-width:100%!important;
    margin:0 0 18px!important;
    padding:24px!important;
    border-radius:22px!important;
    overflow:hidden!important;
  }
  .workspace .moduleWorkspaceHeader.moduleStandardHero{padding-top:78px!important}
  .workspace .moduleWorkspaceHeader.moduleStandardHero>.mobileMenuToggle{
    position:absolute!important;
    top:18px!important;
    left:18px!important;
    z-index:4!important;
  }
  .workspace .moduleWorkspaceCopy{width:100%!important;max-width:100%!important;min-width:0!important}
  .workspace .moduleWorkspaceCopy h1,
  .workspace--nutrition .nutritionHeroApproved h1{
    margin:0 0 12px!important;
    font-size:clamp(34px,8vw,44px)!important;
    line-height:1.04!important;
    overflow-wrap:anywhere!important;
  }
  .workspace .moduleWorkspaceCopy>p:last-child,
  .workspace--nutrition .nutritionHeroApproved .nutritionHeroCopy>p:last-child{
    max-width:100%!important;
    font-size:16px!important;
    line-height:1.5!important;
  }
  .workspace .moduleWorkspaceVisual{
    width:100%!important;
    min-width:0!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:space-between!important;
    flex-wrap:wrap!important;
    gap:12px 18px!important;
  }
  .workspace .moduleWorkspaceLogo,
  .workspace--nutrition .nutritionHeaderCompanyLogo{
    max-width:min(145px,46vw)!important;
    max-height:72px!important;
    align-self:auto!important;
  }
  .workspace .moduleStandardUpdated,
  .workspace--nutrition .nutritionUpdatedApproved{
    max-width:100%!important;
    white-space:normal!important;
    text-align:left!important;
    line-height:1.35!important;
  }

  /* KPI: 2 colonne su tablet, geometria più compatta. */
  .moduleStandardStats,
  .workspace--nutrition .nutritionStatsApproved{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
    width:100%!important;
    max-width:100%!important;
    margin:0 0 18px!important;
  }
  .moduleStandardStats>article,
  .moduleStandardStats .nutritionStatCard{
    grid-template-columns:52px minmax(0,1fr)!important;
    gap:13px!important;
    min-height:120px!important;
    padding:17px!important;
    border-radius:17px!important;
  }
  .moduleStandardStatIcon,
  .moduleStandardStats .nutritionStatIcon{
    width:52px!important;
    height:52px!important;
    min-width:52px!important;
  }
  .moduleStandardStats article strong{font-size:29px!important}

  /* Archivio comune. */
  .moduleStandardDirectory,
  .workspace--products .productArchive,
  .workspace--nutrition .nutritionDirectoryApproved{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:18px!important;
    border-radius:19px!important;
    overflow:hidden!important;
  }
  .moduleStandardDirectory .pageHead{display:grid!important;grid-template-columns:1fr!important;gap:16px!important}
  .moduleStandardDirectory .pageHead h2{font-size:29px!important}

  /* Tracciabilità: filtri sempre fluidi. */
  .traceabilityStandardDirectory .searchForm{
    width:100%!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:10px!important;
  }
  .traceabilityStandardDirectory .searchForm input{grid-column:1/-1!important}
  .traceabilityStandardDirectory .searchForm input,
  .traceabilityStandardDirectory .searchForm select,
  .traceabilityStandardDirectory .searchForm button,
  .traceabilityStandardDirectory .searchForm .button{
    width:100%!important;
    min-width:0!important;
    min-height:48px!important;
    height:48px!important;
    margin:0!important;
  }

  /* Prodotti: toolbar e azioni non escono mai dal pannello. */
  .workspace--products .productArchive .productArchiveHeaderControls,
  .workspace--products .productArchive .catalogHeaderActions{width:100%!important;max-width:100%!important}
  .workspace--products .productArchive .catalogHeaderActions{display:flex!important;justify-content:flex-start!important;flex-wrap:wrap!important;gap:8px!important}
  .workspace--products .productArchive .catalogArchiveFilters{
    width:100%!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:10px!important;
  }
  .workspace--products .productArchive .catalogArchiveSearch{grid-column:1/-1!important}
  .workspace--products .productArchive .catalogArchiveSort{min-width:0!important}
  .workspace--products .productArchive .catalogArchiveSort select{width:100%!important;min-width:0!important}
  .workspace--products .productArchive .catalogArchiveViewControls{
    grid-column:1/-1!important;
    justify-self:start!important;
    margin:0!important;
    padding:0!important;
  }
  .workspace--products .productArchive .catalogFilterPanel{grid-column:1/-1!important;width:100%!important;max-width:100%!important}

  /* Super Admin: tabs orizzontali ma scorrevoli, layout a una colonna. */
  .superAdminWorkspace .superAdminTabs{
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    overscroll-behavior-inline:contain!important;
    scrollbar-width:thin!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .superAdminWorkspace .superAdminTabs a{flex:0 0 auto!important;white-space:nowrap!important}
  .superAdminWorkspace .superAdminGrid,
  .superAdminWorkspace .introAdminLayout,
  .superAdminWorkspace .platformAccessLayout{grid-template-columns:1fr!important}
}

@media(max-width:760px){
  body:not(.public) .workspace,
  body:not(.public) .workspace--traceability,
  body:not(.public) .workspace--products,
  body:not(.public) .workspace--nutrition,
  body:not(.public) .workspace--superadmin{padding:10px!important}

  .workspace .moduleStandardHero,
  .workspace--nutrition .nutritionHeroApproved.moduleStandardHero{padding:20px!important;border-radius:18px!important}
  .workspace .moduleWorkspaceHeader.moduleStandardHero{padding-top:72px!important}

  /* Hero: logo e data uno sotto l'altro sui telefoni. */
  .workspace .moduleWorkspaceVisual{flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important}
  .workspace .moduleStandardUpdated,
  .workspace--nutrition .nutritionUpdatedApproved{font-size:12px!important}

  /* Tracciabilità: tabella trasformata in card native mobile. */
  .traceabilityStandardDirectory .lotArchiveTable,
  .traceabilityStandardDirectory .lotArchiveTable tbody,
  .traceabilityStandardDirectory .lotArchiveTable tr,
  .traceabilityStandardDirectory .lotArchiveTable td{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
  }
  .traceabilityStandardDirectory .lotArchiveTable{border:0!important;background:transparent!important;margin-top:4px!important;overflow:visible!important}
  .traceabilityStandardDirectory .lotArchiveTable thead{display:none!important}
  .traceabilityStandardDirectory .lotArchiveTable tbody{display:grid!important;gap:12px!important}
  .traceabilityStandardDirectory .lotArchiveTable tbody tr{
    padding:14px 15px!important;
    border:1px solid var(--module-line,#d9e9e6)!important;
    border-radius:15px!important;
    background:#fff!important;
    box-shadow:0 7px 20px rgba(24,51,46,.035)!important;
  }
  .traceabilityStandardDirectory .lotArchiveTable td{
    display:grid!important;
    grid-template-columns:minmax(92px,32%) minmax(0,1fr)!important;
    align-items:center!important;
    gap:10px!important;
    padding:9px 0!important;
    border:0!important;
    border-bottom:1px solid #edf2f0!important;
    overflow-wrap:anywhere!important;
  }
  .traceabilityStandardDirectory .lotArchiveTable td::before{
    content:attr(data-label)!important;
    color:#77867f!important;
    font-size:10px!important;
    font-weight:850!important;
    letter-spacing:.05em!important;
    text-transform:uppercase!important;
  }
  .traceabilityStandardDirectory .lotArchiveTable td:first-child a{overflow-wrap:anywhere!important;word-break:break-word!important}
  .traceabilityStandardDirectory .lotArchiveTable .lotArchiveActions{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:8px!important;
    width:100%!important;
    padding:12px 0 0!important;
    border-bottom:0!important;
  }
  .traceabilityStandardDirectory .lotArchiveTable .lotArchiveActions::before{margin-right:auto!important}
  .traceabilityStandardDirectory .lotArchiveActions form{display:inline-flex!important;margin:0!important}
  .traceabilityStandardDirectory .lotArchiveActions .actionIconButton{width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important}

  /* Prodotti: ricerca, ordinamento, filtri e vista in una sequenza leggibile. */
  .workspace--products .productArchive{padding:16px!important}
  .workspace--products .productArchive .catalogArchiveFilters{grid-template-columns:minmax(0,1fr) 48px!important}
  .workspace--products .productArchive .catalogArchiveSearch{grid-column:1/-1!important}
  .workspace--products .productArchive .catalogArchiveSort{grid-column:1!important}
  .workspace--products .productArchive .catalogFilterToggle{grid-column:2!important;min-width:48px!important;width:48px!important;padding:0!important}
  .workspace--products .productArchive .catalogArchiveViewControls{grid-column:1/-1!important;width:auto!important}
  .workspace--products .productArchive .catalogFilterPanel{grid-template-columns:1fr!important}
  .workspace--products .productArchive .catalogProductGrid{grid-template-columns:1fr!important}

  /* Nutrizione: lascia attivo il layout card mobile già consolidato,
     rendendo coerenti margini e dimensioni con gli altri moduli. */
  .workspace--nutrition .nutritionDashboardApproved{gap:16px!important}
  .workspace--nutrition .nutritionDirectoryApproved{padding:0!important;border-radius:18px!important}
  .workspace--nutrition .nutritionToolbarApproved{padding:14px!important}
  .workspace--nutrition .nutritionFloatingAdd{
    right:max(14px,env(safe-area-inset-right))!important;
    bottom:max(14px,env(safe-area-inset-bottom))!important;
    width:58px!important;
    min-width:58px!important;
    height:58px!important;
    min-height:58px!important;
  }

  /* Tutti i controlli touch principali rispettano almeno 44px. */
  .moduleStandardDirectory :is(button,.button,input,select),
  .workspace--nutrition .nutritionDirectoryApproved :is(button,.button,input,select){min-height:44px}
}

@media(max-width:540px){
  /* KPI una colonna: più leggibili sui telefoni stretti. */
  .moduleStandardStats,
  .workspace--nutrition .nutritionStatsApproved{grid-template-columns:1fr!important;gap:10px!important}
  .moduleStandardStats>article,
  .moduleStandardStats .nutritionStatCard{
    grid-template-columns:48px minmax(0,1fr)!important;
    min-height:104px!important;
    padding:15px!important;
  }
  .moduleStandardStatIcon,
  .moduleStandardStats .nutritionStatIcon{width:48px!important;height:48px!important;min-width:48px!important}
  .moduleStandardStats article strong{font-size:27px!important}

  .moduleStandardDirectory{padding:14px!important}
  .traceabilityStandardDirectory .searchForm{grid-template-columns:1fr!important}
  .traceabilityStandardDirectory .searchForm input,
  .traceabilityStandardDirectory .searchForm select,
  .traceabilityStandardDirectory .searchForm button,
  .traceabilityStandardDirectory .searchForm .button{grid-column:1!important}

  .workspace--products .productArchive .catalogArchiveFilters{grid-template-columns:1fr!important}
  .workspace--products .productArchive .catalogArchiveSearch,
  .workspace--products .productArchive .catalogArchiveSort,
  .workspace--products .productArchive .catalogFilterToggle,
  .workspace--products .productArchive .catalogArchiveViewControls,
  .workspace--products .productArchive .catalogFilterPanel{grid-column:1!important}
  .workspace--products .productArchive .catalogFilterToggle{width:100%!important;min-width:0!important}

  .workspace .moduleWorkspaceCopy h1,
  .workspace--nutrition .nutritionHeroApproved h1{font-size:34px!important}
  .workspace .moduleWorkspaceLogo,
  .workspace--nutrition .nutritionHeaderCompanyLogo{max-width:min(135px,60vw)!important}
}

/* =========================================================
   YMYSY UI STANDARD v2.2 — MOBILE HEADER UNIFORME APPROVATO
   20/08/2026
   - Menu e logo nella stessa riga superiore, fuori dalla hero
   - Stessa geometria per Tracciabilità, Prodotti e Nutrizione
   - Colori modulo invariati
   ========================================================= */
@media (max-width:760px){
  /* Spazio superiore comune tra chrome/browser e intestazione modulo. */
  body:not(.public) .workspace--traceability,
  body:not(.public) .workspace--products,
  body:not(.public) .workspace--nutrition{
    padding:12px 12px 18px!important;
  }

  /* Hamburger neutro e identico per tutti i moduli. */
  body:not(.public) :is(.workspace--traceability,.workspace--products,.workspace--nutrition) .mobileMenuToggle{
    display:grid!important;
    place-items:center!important;
    width:52px!important;
    min-width:52px!important;
    height:52px!important;
    min-height:52px!important;
    padding:0!important;
    border:1.5px solid #29434f!important;
    border-radius:16px!important;
    background:#fff!important;
    color:#29434f!important;
    box-shadow:none!important;
    font-size:20px!important;
  }

  /* TRACCIABILITÀ + PRODOTTI: ricaviamo una top-row visiva fuori dalla hero. */
  .workspace--traceability .moduleWorkspaceHeader.moduleStandardHero,
  .workspace--products .moduleWorkspaceHeader.moduleStandardHero{
    position:relative!important;
    overflow:visible!important;
    margin-top:78px!important;
    padding:24px 22px 22px!important;
  }
  .workspace--traceability .moduleWorkspaceHeader.moduleStandardHero>.mobileMenuToggle,
  .workspace--products .moduleWorkspaceHeader.moduleStandardHero>.mobileMenuToggle{
    position:absolute!important;
    top:-66px!important;
    left:0!important;
    z-index:20!important;
  }
  .workspace--traceability .moduleWorkspaceVisual,
  .workspace--products .moduleWorkspaceVisual{
    position:relative!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    margin-top:18px!important;
  }
  .workspace--traceability .moduleWorkspaceLogo,
  .workspace--products .moduleWorkspaceLogo{
    position:absolute!important;
    top:-246px!important;
    right:0!important;
    width:auto!important;
    max-width:min(148px,42vw)!important;
    max-height:60px!important;
    object-fit:contain!important;
    z-index:20!important;
  }
  .workspace--traceability .moduleStandardUpdated,
  .workspace--products .moduleStandardUpdated{
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    width:100%!important;
    margin-top:10px!important;
    font-size:12.5px!important;
    line-height:1.35!important;
  }

  /* NUTRIZIONE: usa la barra globale solo come top-row del menu;
     il logo viene portato sulla stessa riga, fuori dalla hero. */
  .workspace--nutrition>.workspaceHeader.nutritionGlobalHeader{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    min-height:66px!important;
    margin:0 0 12px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  .workspace--nutrition>.workspaceHeader.nutritionGlobalHeader>div{display:none!important}
  .workspace--nutrition>.workspaceHeader.nutritionGlobalHeader .mobileMenuToggle{
    position:static!important;
    margin:0!important;
  }
  .workspace--nutrition .nutritionHeroApproved.moduleStandardHero{
    position:relative!important;
    overflow:visible!important;
    margin-top:0!important;
    padding:24px 22px 22px!important;
  }
  .workspace--nutrition .nutritionHeroActionsApproved{
    position:static!important;
    display:block!important;
    min-width:0!important;
    margin-top:18px!important;
  }
  .workspace--nutrition .nutritionHeaderCompanyLogo{
    position:absolute!important;
    top:-78px!important;
    right:0!important;
    width:auto!important;
    max-width:min(148px,42vw)!important;
    max-height:60px!important;
    object-fit:contain!important;
    z-index:20!important;
  }
  .workspace--nutrition .nutritionUpdatedApproved{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:8px!important;
    width:100%!important;
    margin:0!important;
    font-size:12.5px!important;
    line-height:1.35!important;
    text-align:left!important;
  }

  /* Coerenza tipografica della hero sui tre moduli. */
  .workspace--traceability .moduleHeaderEyebrow,
  .workspace--products .moduleHeaderEyebrow,
  .workspace--nutrition .nutritionKickerApproved{
    margin:0 0 16px!important;
  }
  .workspace--traceability .moduleWorkspaceCopy h1,
  .workspace--products .moduleWorkspaceCopy h1,
  .workspace--nutrition .nutritionHeroApproved h1{
    margin:0 0 16px!important;
    font-size:clamp(38px,10vw,48px)!important;
    line-height:1.02!important;
  }
  .workspace--traceability .moduleWorkspaceCopy>p:last-child,
  .workspace--products .moduleWorkspaceCopy>p:last-child,
  .workspace--nutrition .nutritionHeroApproved .nutritionHeroCopy>p:last-child{
    margin:0!important;
    font-size:16px!important;
    line-height:1.52!important;
  }
}

@media (max-width:430px){
  body:not(.public) :is(.workspace--traceability,.workspace--products,.workspace--nutrition) .mobileMenuToggle{
    width:50px!important;
    min-width:50px!important;
    height:50px!important;
    min-height:50px!important;
    border-radius:15px!important;
  }
  .workspace--traceability .moduleWorkspaceHeader.moduleStandardHero,
  .workspace--products .moduleWorkspaceHeader.moduleStandardHero{
    margin-top:74px!important;
  }
  .workspace--traceability .moduleWorkspaceHeader.moduleStandardHero>.mobileMenuToggle,
  .workspace--products .moduleWorkspaceHeader.moduleStandardHero>.mobileMenuToggle{
    top:-62px!important;
  }
  .workspace--traceability .moduleWorkspaceLogo,
  .workspace--products .moduleWorkspaceLogo,
  .workspace--nutrition .nutritionHeaderCompanyLogo{
    max-width:min(136px,40vw)!important;
    max-height:56px!important;
  }
  .workspace--nutrition .nutritionHeaderCompanyLogo{top:-76px!important}
}

/* =========================================================
   YMYSY UI STANDARD v2.3 — MOBILE GEOMETRIA UNIFORME
   Mockup approvato 20/08/2026
   Obiettivo: Tracciabilità, Nutrizione e Prodotti con la stessa
   top-row (menu + logo), stessa distanza dalla hero e stessa
   altezza minima hero. Cambia solo il colore del modulo.
   ========================================================= */
@media (max-width:760px){
  /* Geometria comune del workspace mobile. */
  body:not(.public) :is(.workspace--traceability,.workspace--products,.workspace--nutrition){
    padding:14px 14px 20px!important;
  }

  /* Riga superiore virtuale: 52px di controlli + 18px di respiro. */
  body:not(.public) :is(.workspace--traceability,.workspace--products,.workspace--nutrition) .mobileMenuToggle{
    width:52px!important;
    min-width:52px!important;
    height:52px!important;
    min-height:52px!important;
    border-radius:16px!important;
  }

  /* TRACCIABILITÀ + PRODOTTI: hero a 70px dalla top-row. */
  .workspace--traceability .moduleWorkspaceHeader.moduleStandardHero,
  .workspace--products .moduleWorkspaceHeader.moduleStandardHero{
    display:flex!important;
    flex-direction:column!important;
    min-height:292px!important;
    margin-top:70px!important;
    padding:24px 22px 22px!important;
    overflow:visible!important;
  }
  .workspace--traceability .moduleWorkspaceHeader.moduleStandardHero>.mobileMenuToggle,
  .workspace--products .moduleWorkspaceHeader.moduleStandardHero>.mobileMenuToggle{
    position:absolute!important;
    top:-70px!important;
    left:0!important;
    margin:0!important;
  }

  /* Il visual resta nel flusso per spingere l'aggiornamento in fondo;
     il logo invece usa la hero come riferimento, così non dipende
     dalla lunghezza del titolo/sottotitolo. */
  .workspace--traceability .moduleWorkspaceVisual,
  .workspace--products .moduleWorkspaceVisual{
    position:static!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:flex-end!important;
    width:100%!important;
    min-width:0!important;
    margin-top:auto!important;
    padding-top:22px!important;
    gap:0!important;
  }
  .workspace--traceability .moduleWorkspaceLogo,
  .workspace--products .moduleWorkspaceLogo{
    position:absolute!important;
    top:-70px!important;
    right:0!important;
    width:142px!important;
    height:58px!important;
    max-width:40vw!important;
    max-height:58px!important;
    padding:7px 10px!important;
    margin:0!important;
    object-fit:contain!important;
    background:#fff!important;
    z-index:20!important;
  }
  .workspace--traceability .moduleStandardUpdated,
  .workspace--products .moduleStandardUpdated{
    margin:0!important;
    width:100%!important;
  }

  /* NUTRIZIONE: la barra globale diventa esattamente la stessa top-row. */
  .workspace--nutrition>.workspaceHeader.nutritionGlobalHeader{
    display:flex!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    height:52px!important;
    min-height:52px!important;
    margin:0 0 18px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    overflow:visible!important;
  }
  .workspace--nutrition>.workspaceHeader.nutritionGlobalHeader .mobileMenuToggle{
    position:static!important;
    margin:0!important;
  }
  .workspace--nutrition .nutritionHeroApproved.moduleStandardHero{
    display:flex!important;
    flex-direction:column!important;
    min-height:292px!important;
    margin-top:0!important;
    padding:24px 22px 22px!important;
    overflow:visible!important;
  }
  .workspace--nutrition .nutritionHeroArtApproved{
    position:absolute!important;
    inset:0!important;
    pointer-events:none!important;
  }
  .workspace--nutrition .nutritionHeroCopy,
  .workspace--nutrition .nutritionHeroActionsApproved{
    position:relative!important;
    z-index:2!important;
  }
  .workspace--nutrition .nutritionHeroActionsApproved{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:flex-end!important;
    width:100%!important;
    min-width:0!important;
    margin-top:auto!important;
    padding-top:22px!important;
    gap:0!important;
  }
  .workspace--nutrition .nutritionHeaderCompanyLogo{
    position:absolute!important;
    top:-88px!important; /* 70px top-row + 18px gap; relativo alla hero */
    right:0!important;
    width:142px!important;
    height:58px!important;
    max-width:40vw!important;
    max-height:58px!important;
    padding:7px 10px!important;
    margin:0!important;
    object-fit:contain!important;
    background:#fff!important;
    z-index:20!important;
  }
  .workspace--nutrition .nutritionUpdatedApproved{
    margin:0!important;
    width:100%!important;
  }

  /* Stessa gerarchia tipografica e stessi spazi interni. */
  .workspace--traceability .moduleHeaderEyebrow,
  .workspace--products .moduleHeaderEyebrow,
  .workspace--nutrition .nutritionKickerApproved{
    margin:0 0 16px!important;
  }
  .workspace--traceability .moduleWorkspaceCopy h1,
  .workspace--products .moduleWorkspaceCopy h1,
  .workspace--nutrition .nutritionHeroApproved h1{
    margin:0 0 16px!important;
    font-size:clamp(38px,10vw,48px)!important;
    line-height:1.02!important;
  }
  .workspace--traceability .moduleWorkspaceCopy>p:last-child,
  .workspace--products .moduleWorkspaceCopy>p:last-child,
  .workspace--nutrition .nutritionHeroApproved .nutritionHeroCopy>p:last-child{
    margin:0!important;
    font-size:16px!important;
    line-height:1.52!important;
  }

  /* Stessa distanza hero -> KPI per i tre moduli. */
  .workspace--traceability .moduleStandardHero,
  .workspace--products .moduleStandardHero,
  .workspace--nutrition .nutritionHeroApproved.moduleStandardHero{
    margin-bottom:16px!important;
  }
  .workspace--traceability .moduleStandardStats,
  .workspace--products .moduleStandardStats,
  .workspace--nutrition .nutritionStatsApproved{
    margin-top:0!important;
  }
}

@media (max-width:430px){
  .workspace--traceability .moduleWorkspaceHeader.moduleStandardHero,
  .workspace--products .moduleWorkspaceHeader.moduleStandardHero{
    margin-top:68px!important;
  }
  .workspace--traceability .moduleWorkspaceHeader.moduleStandardHero>.mobileMenuToggle,
  .workspace--products .moduleWorkspaceHeader.moduleStandardHero>.mobileMenuToggle,
  .workspace--traceability .moduleWorkspaceLogo,
  .workspace--products .moduleWorkspaceLogo{
    top:-68px!important;
  }
  .workspace--nutrition>.workspaceHeader.nutritionGlobalHeader{
    height:50px!important;
    min-height:50px!important;
    margin-bottom:18px!important;
  }
  .workspace--nutrition .nutritionHeaderCompanyLogo{
    top:-86px!important;
  }
  .workspace--traceability .moduleWorkspaceLogo,
  .workspace--products .moduleWorkspaceLogo,
  .workspace--nutrition .nutritionHeaderCompanyLogo{
    width:136px!important;
    height:56px!important;
    max-width:40vw!important;
    max-height:56px!important;
  }
}

/* =========================================================
   YMYSY UI STANDARD v2.4 — FIX LOGO NUTRIZIONE MOBILE
   Il logo deve stare nella top-row, a destra, alla stessa
   altezza del pulsante menu, come Tracciabilità e Prodotti.
   ========================================================= */
@media (max-width:760px){
  /* La hero è il riferimento geometrico per il logo assoluto. */
  .workspace--nutrition .nutritionHeroApproved.moduleStandardHero{
    position:relative!important;
  }

  /* IMPORTANTE: non rendere questo wrapper un containing block.
     Così il logo assoluto si ancora alla hero e può uscire nella top-row. */
  .workspace--nutrition .nutritionHeroActionsApproved{
    position:static!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:flex-end!important;
    width:100%!important;
    min-width:0!important;
    margin-top:auto!important;
    padding-top:22px!important;
    gap:0!important;
  }

  .workspace--nutrition .nutritionHeaderCompanyLogo{
    position:absolute!important;
    top:-88px!important;
    right:0!important;
    left:auto!important;
    width:142px!important;
    height:58px!important;
    max-width:40vw!important;
    max-height:58px!important;
    padding:7px 10px!important;
    margin:0!important;
    object-fit:contain!important;
    background:#fff!important;
    z-index:30!important;
    transform:none!important;
  }

  .workspace--nutrition .nutritionUpdatedApproved{
    position:relative!important;
    z-index:2!important;
    width:100%!important;
    margin:0!important;
  }
}

@media (max-width:430px){
  .workspace--nutrition .nutritionHeaderCompanyLogo{
    top:-86px!important;
    width:136px!important;
    height:56px!important;
    max-height:56px!important;
  }
}

/* =========================================================
   YMYSY UI STANDARD v2.5 — MOBILE MATCH ESATTO
   Nutrizione usa la stessa identica geometria mobile di
   Tracciabilità e Prodotti: menu+logo nella top-row virtuale,
   hero a 70px, stessi allineamenti e stesse distanze.
   ========================================================= */
@media (max-width:760px){
  /* La vecchia testata tecnica di Nutrizione non partecipa più alla geometria. */
  .workspace--nutrition>.workspaceHeader.nutritionGlobalHeader{
    display:none!important;
  }

  /* Hero Nutrizione = stessa geometria di Tracciabilità / Prodotti. */
  .workspace--nutrition .nutritionHeroApproved.moduleStandardHero{
    position:relative!important;
    display:flex!important;
    flex-direction:column!important;
    min-height:292px!important;
    margin-top:70px!important;
    margin-bottom:16px!important;
    padding:24px 22px 22px!important;
    overflow:visible!important;
  }

  /* Hamburger dentro la hero, identico agli altri moduli. */
  .workspace--nutrition .nutritionHeroMenuToggle{
    display:inline-flex!important;
    position:absolute!important;
    top:-70px!important;
    left:0!important;
    right:auto!important;
    width:52px!important;
    min-width:52px!important;
    height:52px!important;
    min-height:52px!important;
    margin:0!important;
    border-radius:16px!important;
    z-index:40!important;
  }

  /* Logo = stesso box e stessa quota verticale degli altri moduli. */
  .workspace--nutrition .nutritionHeaderCompanyLogo{
    position:absolute!important;
    top:-70px!important;
    right:0!important;
    left:auto!important;
    width:142px!important;
    height:58px!important;
    max-width:40vw!important;
    max-height:58px!important;
    padding:7px 10px!important;
    margin:0!important;
    object-fit:contain!important;
    background:#fff!important;
    z-index:40!important;
    transform:none!important;
  }

  .workspace--nutrition .nutritionHeroActionsApproved{
    position:static!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:flex-end!important;
    width:100%!important;
    min-width:0!important;
    margin-top:auto!important;
    padding-top:22px!important;
    gap:0!important;
  }

  .workspace--nutrition .nutritionUpdatedApproved{
    position:relative!important;
    z-index:2!important;
    width:100%!important;
    margin:0!important;
  }
}

@media (max-width:430px){
  .workspace--nutrition .nutritionHeroApproved.moduleStandardHero{
    margin-top:68px!important;
  }
  .workspace--nutrition .nutritionHeroMenuToggle{
    top:-68px!important;
    width:50px!important;
    min-width:50px!important;
    height:50px!important;
    min-height:50px!important;
    border-radius:15px!important;
  }
  .workspace--nutrition .nutritionHeaderCompanyLogo{
    top:-68px!important;
    width:136px!important;
    height:56px!important;
    max-width:40vw!important;
    max-height:56px!important;
  }
}

/* =========================================================
   YMYSY UI STANDARD MODULI v3 — SEZIONI INTERNE UNIFORMI
   Desktop + tablet + mobile. Lo scheletro grafico è comune;
   cambia soltanto l'accento del modulo già definito nei token.
   ========================================================= */

.moduleInternalUI{
  --inner-radius:20px;
  --inner-radius-sm:14px;
  --inner-control-h:50px;
  --inner-gap:20px;
  --inner-line:var(--module-line,#dde6e2);
  --inner-accent:var(--module-accent,#667085);
  --inner-accent-dark:var(--module-accent-dark,#475467);
  --inner-soft:var(--module-soft,#f4f6f5);
  --inner-ink:var(--module-ink,#18252a);
}

/* Larghezza e ritmo comune delle aree operative sotto hero/KPI. */
.moduleInternalUI :is(
  .traceCreatePanel,
  .traceLotsPanel,
  .templateLibrary,
  .batchSetupChoice,
  .batchDetail,
  .catalogPage,
  .catalogReadView,
  .catalogTrashPage,
  .nutritionDirectoryApproved,
  .nutritionAgendaPage--approved,
  .nutritionPlansHub,
  .nutritionPlanCreate,
  .nutritionPlanEditor,
  .nxNewClientForm
){
  width:100%!important;
  max-width:1480px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Superfici principali: stesso bordo, raggio, ombra, fondo. */
.moduleInternalUI :is(
  .traceCreatePanel,
  .traceLotsPanel,
  .templateLibrary,
  .batchSetupChoice,
  .batchDetail,
  .catalogPage,
  .catalogReadSection,
  .catalogTrashPage,
  .nutritionDirectoryApproved,
  .nutritionAgendaCalendar--approved,
  .nutritionAgendaNotifications,
  .nutritionAgendaCreate--approved,
  .nutritionPlanArchive,
  .nutritionPlanCreateCard,
  .nutritionPlanEditor,
  .nutritionMealCard,
  .nxNewClientForm
){
  border:1px solid var(--inner-line)!important;
  border-radius:var(--inner-radius)!important;
  background:#fff!important;
  box-shadow:0 12px 32px rgba(22,39,34,.035)!important;
}

/* Le superfici annidate devono essere più leggere, non doppie card pesanti. */
.moduleInternalUI :is(
  .catalogReadSection,
  .nutritionPlanCreateCard,
  .nutritionMealCard,
  .nutritionAgendaNotifications,
  .nutritionAgendaCreate--approved
){
  box-shadow:none!important;
}

/* Testate interne uniformi. */
.moduleInternalUI :is(.pageHead,.traceLotsHead,.batchHead,.nutritionAgendaHead--approved,.catalogReadHeader){
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
}
.moduleInternalUI :is(.pageHead,.traceLotsHead,.batchHead,.nutritionAgendaHead--approved,.catalogReadHeader) h2,
.moduleInternalUI .catalogReadTitle h2{
  margin:4px 0 8px!important;
  color:var(--inner-ink)!important;
  font-size:32px!important;
  line-height:1.08!important;
  letter-spacing:-.025em!important;
}
.moduleInternalUI :is(.pageHead,.traceLotsHead,.nutritionAgendaHead--approved)>div>p:last-child,
.moduleInternalUI .pageHead>div>p:last-child{
  color:#6b7784!important;
  line-height:1.55!important;
}
.moduleInternalUI .eyebrow{
  color:var(--inner-accent-dark)!important;
  letter-spacing:.08em!important;
}

/* Titoli di sezione e separatori. */
.moduleInternalUI :is(.sectionTitle,.catalogLinkedLotsHead,.catalogMappingHead){
  gap:16px!important;
}
.moduleInternalUI :is(.sectionTitle,.catalogLinkedLotsHead,.catalogMappingHead) h3,
.moduleInternalUI :is(.catalogReadSection,.nutritionPlanCreateCard,.nutritionMealCard) h3{
  color:var(--inner-ink)!important;
  letter-spacing:-.012em!important;
}

/* Campi modulo: stessa altezza e stessa forma. */
.moduleInternalUI label{
  color:#3f4e48;
  font-weight:700;
}
.moduleInternalUI :is(input,select,textarea):not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="range"]):not([type="hidden"]){
  width:100%;
  border:1px solid #d9e2de!important;
  border-radius:13px!important;
  background:#fff!important;
  color:#17211d!important;
  box-shadow:none!important;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.moduleInternalUI :is(input,select):not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="range"]):not([type="hidden"]){
  min-height:var(--inner-control-h)!important;
}
.moduleInternalUI textarea{min-height:112px!important;padding-top:13px!important;padding-bottom:13px!important}
.moduleInternalUI :is(input,select,textarea):focus{
  border-color:var(--inner-accent)!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--inner-accent) 14%,transparent)!important;
  outline:0!important;
}

/* Pulsanti testuali condivisi; danger resta semanticamente rosso. */
.moduleInternalUI :is(.button,form>button):not(.danger):not(.actionIconButton):not(.catalogHeaderIconAction):not(.catalogReadIconAction):not(.nutritionClientIconAction):not(.templateModelIconAction):not(.nutritionAgendaIconButton):not(.eventCardToggle):not(.eventHeaderDelete):not(.catalog-view-button){
  min-height:44px;
  border-radius:12px!important;
}
.moduleInternalUI :is(.button,form>button):not(.subtle):not(.danger):not(.actionIconButton):not(.catalogHeaderIconAction):not(.catalogReadIconAction):not(.nutritionClientIconAction):not(.templateModelIconAction):not(.nutritionAgendaIconButton):not(.eventCardToggle):not(.eventHeaderDelete):not(.catalog-view-button){
  background:var(--inner-accent)!important;
  border-color:var(--inner-accent)!important;
  color:#fff!important;
}
.moduleInternalUI .button.subtle{
  border-color:#d5dfda!important;
  color:var(--inner-accent-dark)!important;
  background:#fff!important;
}

/* Icon actions: identica geometria in ogni modulo. */
.moduleInternalUI :is(
  .actionIconButton,
  .catalogHeaderIconAction,
  .catalogReadIconAction,
  .nutritionClientIconAction,
  .templateModelIconAction,
  .nutritionAgendaIconButton,
  .catalog-view-button
){
  display:inline-grid!important;
  place-items:center!important;
  width:42px!important;
  min-width:42px!important;
  height:42px!important;
  min-height:42px!important;
  padding:0!important;
  border:1px solid #d7e0dc!important;
  border-radius:11px!important;
  background:#fff!important;
  color:#344b45!important;
  box-shadow:none!important;
}
.moduleInternalUI :is(
  .actionIconButton,
  .catalogHeaderIconAction,
  .catalogReadIconAction,
  .nutritionClientIconAction,
  .templateModelIconAction,
  .nutritionAgendaIconButton,
  .catalog-view-button
):hover{
  border-color:var(--inner-accent)!important;
  background:var(--inner-soft)!important;
  color:var(--inner-accent-dark)!important;
}
.moduleInternalUI :is(.dangerIcon,.eventHeaderDelete,.catalog-delete-action,.catalogPurgeAction){color:#b42318!important}

/* Tab interne: stessa barra sottile e accento del modulo. */
.moduleInternalUI :is(.passportTabs,.editorTabs,.nutritionPlanDays){
  display:flex!important;
  gap:8px!important;
  padding:6px!important;
  border:1px solid var(--inner-line)!important;
  border-radius:14px!important;
  background:#f8faf9!important;
  overflow-x:auto!important;
  scrollbar-width:none;
}
.moduleInternalUI :is(.passportTabs,.editorTabs,.nutritionPlanDays)::-webkit-scrollbar{display:none}
.moduleInternalUI .passportTabs a,
.moduleInternalUI .editorTabs button,
.moduleInternalUI .nutritionPlanDays a{
  min-height:40px!important;
  padding:9px 14px!important;
  border:0!important;
  border-radius:10px!important;
  background:transparent!important;
  color:#596761!important;
  font-weight:750!important;
  white-space:nowrap!important;
  box-shadow:none!important;
}
.moduleInternalUI .passportTabs a.active,
.moduleInternalUI .editorTabs button.active,
.moduleInternalUI .nutritionPlanDays a.active{
  background:var(--inner-accent)!important;
  color:#fff!important;
}

/* Tabelle ed elenchi: header e righe con la stessa grammatica visiva. */
.moduleInternalUI :is(.lotTable,.catalog-list-table,.catalogLinkedLotsTable table,.catalogTrashTable){
  width:100%;
  border-collapse:separate!important;
  border-spacing:0!important;
}
.moduleInternalUI :is(.lotTable,.catalog-list-table,.catalogLinkedLotsTable table,.catalogTrashTable) th{
  padding:13px 14px!important;
  border-bottom:1px solid #e5ebe8!important;
  color:#76837d!important;
  font-size:11px!important;
  font-weight:800!important;
  letter-spacing:.055em!important;
  text-transform:uppercase!important;
}
.moduleInternalUI :is(.lotTable,.catalog-list-table,.catalogLinkedLotsTable table,.catalogTrashTable) td{
  padding:15px 14px!important;
  border-bottom:1px solid #edf1ef!important;
  vertical-align:middle!important;
}
.moduleInternalUI :is(.lotTable,.catalog-list-table,.catalogLinkedLotsTable table,.catalogTrashTable) tbody tr:hover{
  background:color-mix(in srgb,var(--inner-soft) 48%,#fff)!important;
}

/* Card di contenuto ricorrenti. */
.moduleInternalUI :is(.templateGrid>article,.catalogProductCard,.nutritionPlanCreateCard,.nutritionMealCard,.batchSetupGrid>form){
  border-color:var(--inner-line)!important;
  border-radius:16px!important;
}
.moduleInternalUI :is(.templateGrid>article,.catalogProductCard,.nutritionPlanCreateCard,.nutritionMealCard,.batchSetupGrid>form):hover{
  border-color:color-mix(in srgb,var(--inner-accent) 45%,var(--inner-line))!important;
}

/* Avvisi/info coerenti con il colore modulo, senza alterare errori/warning. */
.moduleInternalUI :is(.helpText,.nutritionPlanCreateCard small,.catalogImportDetected small){color:#718079!important}
.moduleInternalUI :is(.notice,.catalogImportNotice):not(.error):not(.danger):not(.warning){
  border-left-color:var(--inner-accent)!important;
}

/* Spaziature verticali comuni tra blocchi interni. */
.moduleInternalUI :is(.traceCreatePanel,.traceLotsPanel,.templateLibrary,.batchSetupChoice,.batchDetail,.catalogPage,.catalogTrashPage,.nutritionPlanArchive,.nutritionPlanEditor,.nxNewClientForm){
  margin-bottom:22px!important;
}
.moduleInternalUI :is(.detailGrid,.nutritionPlanCreateGrid,.catalogReadTriptych){gap:18px!important}

/* ============================ TABLET ============================ */
@media(max-width:1023px){
  .moduleInternalUI{
    --inner-radius:18px;
    --inner-control-h:48px;
  }
  .moduleInternalUI :is(.traceCreatePanel,.traceLotsPanel,.templateLibrary,.batchSetupChoice,.batchDetail,.catalogPage,.catalogTrashPage,.nutritionDirectoryApproved,.nutritionPlanArchive,.nutritionPlanEditor,.nxNewClientForm){
    padding:20px!important;
  }
  .moduleInternalUI :is(.pageHead,.traceLotsHead,.batchHead,.nutritionAgendaHead--approved,.catalogReadHeader){
    gap:16px!important;
  }
  .moduleInternalUI :is(.pageHead,.traceLotsHead,.batchHead,.nutritionAgendaHead--approved,.catalogReadHeader) h2,
  .moduleInternalUI .catalogReadTitle h2{font-size:28px!important}
  .moduleInternalUI :is(.detailGrid,.nutritionPlanCreateGrid,.catalogReadTriptych){grid-template-columns:1fr!important}
}

/* ============================ MOBILE ============================ */
@media(max-width:760px){
  .moduleInternalUI{
    --inner-radius:16px;
    --inner-radius-sm:12px;
    --inner-control-h:48px;
    --inner-gap:14px;
  }

  /* Le sezioni interne iniziano tutte alla stessa distanza dal blocco precedente. */
  .moduleInternalUI :is(
    .traceCreatePanel,.traceLotsPanel,.templateLibrary,.batchSetupChoice,.batchDetail,
    .catalogPage,.catalogTrashPage,.nutritionDirectoryApproved,.nutritionAgendaPage--approved,
    .nutritionPlansHub,.nutritionPlanCreate,.nutritionPlanEditor,.nxNewClientForm
  ){
    margin-top:16px!important;
    margin-bottom:16px!important;
  }

  .moduleInternalUI :is(
    .traceCreatePanel,.traceLotsPanel,.templateLibrary,.batchSetupChoice,.batchDetail,
    .catalogPage,.catalogTrashPage,.nutritionDirectoryApproved,.nutritionPlanArchive,
    .nutritionPlanEditor,.nxNewClientForm
  ){
    padding:16px!important;
  }

  .moduleInternalUI :is(.pageHead,.traceLotsHead,.batchHead,.nutritionAgendaHead--approved,.catalogReadHeader){
    display:grid!important;
    grid-template-columns:1fr!important;
    align-items:start!important;
    gap:12px!important;
  }
  .moduleInternalUI :is(.pageHead,.traceLotsHead,.batchHead,.nutritionAgendaHead--approved,.catalogReadHeader) h2,
  .moduleInternalUI .catalogReadTitle h2{
    font-size:26px!important;
  }

  /* Controlli e toolbar sempre a colonna piena. */
  .moduleInternalUI :is(.searchForm,.catalogArchiveFilters,.nutritionFiltersApproved,.nutritionPlanFilters){
    width:100%!important;
    max-width:100%!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .moduleInternalUI :is(.searchForm,.catalogArchiveFilters,.nutritionFiltersApproved,.nutritionPlanFilters)>*{
    min-width:0!important;
    max-width:100%!important;
  }
  .moduleInternalUI :is(.searchForm,.catalogArchiveFilters,.nutritionFiltersApproved,.nutritionPlanFilters) :is(input,select,.button,button){
    width:100%!important;
  }

  /* Gruppi di icone restano compatti e touch-friendly. */
  .moduleInternalUI :is(.actionIconGroup,.catalogHeaderActions,.catalogReadActions,.nutritionViewSwitch,.passportModelActions){
    display:flex!important;
    flex-wrap:wrap!important;
    gap:8px!important;
  }
  .moduleInternalUI :is(.actionIconButton,.catalogHeaderIconAction,.catalogReadIconAction,.nutritionClientIconAction,.templateModelIconAction,.nutritionAgendaIconButton,.catalog-view-button){
    width:44px!important;
    min-width:44px!important;
    height:44px!important;
    min-height:44px!important;
  }

  /* Tab scorrono orizzontalmente senza rompere la pagina. */
  .moduleInternalUI :is(.passportTabs,.editorTabs,.nutritionPlanDays){
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    justify-content:flex-start!important;
  }

  /* Card interne più compatte ma con la stessa gerarchia. */
  .moduleInternalUI :is(.templateGrid,.batchSetupGrid,.nutritionPlanTypeChoices,.nutritionPlanSourceChoices){
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  .moduleInternalUI :is(.templateGrid>article,.catalogProductCard,.nutritionPlanCreateCard,.nutritionMealCard,.batchSetupGrid>form){
    border-radius:14px!important;
  }

  /* Testi lunghi e codici non devono generare overflow. */
  .moduleInternalUI :is(a,strong,small,p,td,th,label){overflow-wrap:anywhere}
}

@media(max-width:430px){
  .moduleInternalUI :is(.traceCreatePanel,.traceLotsPanel,.templateLibrary,.batchSetupChoice,.batchDetail,.catalogPage,.catalogTrashPage,.nutritionDirectoryApproved,.nutritionPlanArchive,.nutritionPlanEditor,.nxNewClientForm){
    padding:14px!important;
  }
  .moduleInternalUI :is(.pageHead,.traceLotsHead,.batchHead,.nutritionAgendaHead--approved,.catalogReadHeader) h2,
  .moduleInternalUI .catalogReadTitle h2{font-size:24px!important}
}

/* =========================================================
   YMYSY UI STANDARD MODULI v3.1 — AZIONI ROTONDE UNIFORMI
   Tutti i controlli icon-only delle sezioni interne condividono
   geometria, dimensione e comportamento. Cambia solo l'accento
   ereditato dal modulo (Tracciabilità / Prodotti / Nutrizione).
   ========================================================= */

.moduleInternalUI{
  --module-action-size:48px;
  --module-action-icon:21px;
}

/* Gruppi di azioni: ritmo identico. */
.moduleInternalUI :is(
  .actionIconGroup,
  .lotArchiveActions,
  .catalogHeaderActions,
  .catalogReadActions,
  .catalogProductCardActions,
  .catalog-row-actions,
  .nutritionClientActionsApproved,
  .nutritionClientHeadActions,
  .nutritionPlanCardActions,
  .nutritionAgendaToolbarActions,
  .nutritionAgendaViewSwitch,
  .nutritionViewSwitch,
  .passportModelActions,
  .templateModelActions,
  .templateCardActions,
  .eventCardActions,
  .nxHeadActions,
  .nxProfileAccordionActions,
  .nxCompareActions,
  .nxVisitFormActions
){
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:10px!important;
}

/*
 * Icon actions universali.
 * Anche elimina/archivia usa il colore del modulo come richiesto:
 * la funzione rimane distinta da title/aria-label e conferme esistenti.
 */
.moduleInternalUI :is(
  .actionIconButton,
  .catalogHeaderIconAction,
  .catalogReadIconAction,
  .catalog-view-action,
  .catalog-pdf-action,
  .catalog-edit-action,
  .catalog-duplicate-action,
  .catalog-delete-action,
  .catalogRestoreAction,
  .catalogPurgeAction,
  .catalogTrashAction,
  .catalogFilterToggle,
  .catalog-view-button,
  .nutritionClientIconAction,
  .nutritionClientCircleAction,
  .nutritionFilterButton,
  .nutritionPlanFilterButton,
  .nutritionAgendaIconButton,
  .nutritionAgendaRoundNav,
  .templateModelIconAction,
  .templateCardToggle,
  .eventCardToggle,
  .eventHeaderDelete,
  .nxIconAction,
  .nxVisitActionIcon,
  .nxCompareActionBtn
){
  box-sizing:border-box!important;
  display:inline-grid!important;
  place-items:center!important;
  flex:0 0 var(--module-action-size)!important;
  width:var(--module-action-size)!important;
  min-width:var(--module-action-size)!important;
  max-width:var(--module-action-size)!important;
  height:var(--module-action-size)!important;
  min-height:var(--module-action-size)!important;
  max-height:var(--module-action-size)!important;
  margin:0!important;
  padding:0!important;
  border:1.5px solid color-mix(in srgb,var(--inner-accent) 48%,#ffffff)!important;
  border-radius:50%!important;
  background:#fff!important;
  color:var(--inner-accent-dark)!important;
  box-shadow:none!important;
  text-decoration:none!important;
  line-height:1!important;
  overflow:hidden!important;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease!important;
}

/* SVG/icone sempre centrate e della stessa scala. */
.moduleInternalUI :is(
  .actionIconButton,
  .catalogHeaderIconAction,
  .catalogReadIconAction,
  .catalog-view-action,
  .catalog-pdf-action,
  .catalog-edit-action,
  .catalog-duplicate-action,
  .catalog-delete-action,
  .catalogRestoreAction,
  .catalogPurgeAction,
  .catalogTrashAction,
  .catalogFilterToggle,
  .catalog-view-button,
  .nutritionClientIconAction,
  .nutritionClientCircleAction,
  .nutritionFilterButton,
  .nutritionPlanFilterButton,
  .nutritionAgendaIconButton,
  .nutritionAgendaRoundNav,
  .templateModelIconAction,
  .templateCardToggle,
  .eventCardToggle,
  .eventHeaderDelete,
  .nxIconAction,
  .nxVisitActionIcon,
  .nxCompareActionBtn
) svg{
  display:block!important;
  width:var(--module-action-icon)!important;
  height:var(--module-action-icon)!important;
  max-width:var(--module-action-icon)!important;
  max-height:var(--module-action-icon)!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.9!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  pointer-events:none!important;
}

/* Hover/focus: stesso comportamento, colore del modulo. */
.moduleInternalUI :is(
  .actionIconButton,
  .catalogHeaderIconAction,
  .catalogReadIconAction,
  .catalog-view-action,
  .catalog-pdf-action,
  .catalog-edit-action,
  .catalog-duplicate-action,
  .catalog-delete-action,
  .catalogRestoreAction,
  .catalogPurgeAction,
  .catalogTrashAction,
  .catalogFilterToggle,
  .catalog-view-button,
  .nutritionClientIconAction,
  .nutritionClientCircleAction,
  .nutritionFilterButton,
  .nutritionPlanFilterButton,
  .nutritionAgendaIconButton,
  .nutritionAgendaRoundNav,
  .templateModelIconAction,
  .templateCardToggle,
  .eventCardToggle,
  .eventHeaderDelete,
  .nxIconAction,
  .nxVisitActionIcon,
  .nxCompareActionBtn
):is(:hover,:focus-visible){
  border-color:var(--inner-accent)!important;
  background:var(--inner-accent)!important;
  color:#fff!important;
  transform:translateY(-1px)!important;
  box-shadow:0 8px 20px color-mix(in srgb,var(--inner-accent) 20%,transparent)!important;
  outline:0!important;
}

/* Stato attivo di vista/filtro: pieno nel colore del modulo. */
.moduleInternalUI :is(
  .catalog-view-button.is-active,
  .nutritionViewSwitch button.active,
  .nutritionAgendaViewSwitch button.active
){
  border-color:var(--inner-accent)!important;
  background:var(--inner-accent)!important;
  color:#fff!important;
}

/* Rimuove vecchie eccezioni rosse/gialle/verdi sugli icon-button interni. */
.moduleInternalUI :is(
  .dangerIcon,
  .catalog-delete-action,
  .catalogPurgeAction,
  .catalogTrashAction,
  .eventHeaderDelete,
  .nutritionClientArchiveAction,
  .nutritionClientRestoreAction,
  .nutritionAgendaIconButton--danger,
  .nxIconAction--danger
){
  border-color:color-mix(in srgb,var(--inner-accent) 48%,#ffffff)!important;
  background:#fff!important;
  color:var(--inner-accent-dark)!important;
}
.moduleInternalUI :is(
  .dangerIcon,
  .catalog-delete-action,
  .catalogPurgeAction,
  .catalogTrashAction,
  .eventHeaderDelete,
  .nutritionClientArchiveAction,
  .nutritionClientRestoreAction,
  .nutritionAgendaIconButton--danger,
  .nxIconAction--danger
):is(:hover,:focus-visible){
  border-color:var(--inner-accent)!important;
  background:var(--inner-accent)!important;
  color:#fff!important;
}

/* I bottoni con testo (Salva, Applica, Nuovo...) restano testuali: lo standard
   rotondo è riservato alle azioni icon-only, come nel mockup approvato. */

@media(max-width:760px){
  .moduleInternalUI{
    --module-action-size:48px;
    --module-action-icon:21px;
  }
  .moduleInternalUI :is(
    .actionIconGroup,
    .lotArchiveActions,
    .catalogHeaderActions,
    .catalogReadActions,
    .catalogProductCardActions,
    .catalog-row-actions,
    .nutritionClientActionsApproved,
    .nutritionClientHeadActions,
    .nutritionPlanCardActions,
    .nutritionAgendaToolbarActions,
    .nutritionAgendaViewSwitch,
    .nutritionViewSwitch,
    .passportModelActions,
    .templateModelActions,
    .templateCardActions,
    .eventCardActions,
    .nxHeadActions,
    .nxProfileAccordionActions,
    .nxCompareActions,
    .nxVisitFormActions
  ){
    gap:9px!important;
  }
}

/* =========================================================
   YMYSY UI STANDARD MODULI v3.2 — AZIONI ICONA CORRETTE
   Regola finale vincolante:
   - stessa geometria per Tracciabilità / Prodotti / Nutrizione
   - stesso diametro per tutte le azioni icon-only
   - unico colore: accento del modulo
   - badge numerici sempre visibili (es. Cestino prodotti)
   ========================================================= */

body:not(.public) .workspace.moduleInternalUI.moduleInternalUI{
  --module-action-size-final:52px;
  --module-action-icon-final:22px;
}

/* Gruppi azioni: nessun figlio forza dimensioni diverse. */
body:not(.public) .workspace.moduleInternalUI.moduleInternalUI :is(
  .catalogHeaderActions,
  .catalogReadActions,
  .actionIconGroup,
  .lotArchiveActions,
  .catalogProductCardActions,
  .catalog-row-actions,
  .nutritionClientActionsApproved,
  .nutritionClientHeadActions,
  .nutritionPlanCardActions,
  .nutritionAgendaToolbarActions,
  .nutritionAgendaViewSwitch,
  .nutritionViewSwitch,
  .passportModelActions,
  .templateModelActions,
  .templateCardActions,
  .eventCardActions,
  .nxHeadActions,
  .nxProfileAccordionActions,
  .nxCompareActions,
  .nxVisitFormActions
){
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:10px!important;
}

body:not(.public) .workspace.moduleInternalUI.moduleInternalUI .productArchive .catalogHeaderActions>*{
  width:var(--module-action-size-final)!important;
  min-width:var(--module-action-size-final)!important;
  max-width:var(--module-action-size-final)!important;
  height:var(--module-action-size-final)!important;
  min-height:var(--module-action-size-final)!important;
  max-height:var(--module-action-size-final)!important;
  margin:0!important;
}

/* Tutte le vere azioni icon-only dei tre moduli. */
body:not(.public) .workspace.moduleInternalUI.moduleInternalUI :is(
  .actionIconButton,
  .catalogHeaderIconAction,
  .catalogReadIconAction,
  .catalogFilterToggle,
  .catalog-view-button,
  .catalog-view-action,
  .catalog-pdf-action,
  .catalog-edit-action,
  .catalog-duplicate-action,
  .catalog-delete-action,
  .catalogRestoreAction,
  .catalogPurgeAction,
  .variantMore,
  .variantRemove,
  .templateModelIconAction,
  .templateCardToggle,
  .templateHeaderDelete,
  .eventCardToggle,
  .eventHeaderDelete,
  .nutritionClientIconAction,
  .nutritionFilterButton,
  .nutritionFilterButtonApproved,
  .nutritionPlanFilterButton,
  .nutritionAgendaIconButton,
  .nutritionAgendaRoundNav,
  .nutritionAgendaViewSwitch button,
  .nutritionViewSwitch button,
  .nxIconAction,
  .nxCompareActionBtn,
  .nxVisitActionIcon
){
  position:relative!important;
  box-sizing:border-box!important;
  display:inline-grid!important;
  place-items:center!important;
  flex:0 0 var(--module-action-size-final)!important;
  width:var(--module-action-size-final)!important;
  min-width:var(--module-action-size-final)!important;
  max-width:var(--module-action-size-final)!important;
  height:var(--module-action-size-final)!important;
  min-height:var(--module-action-size-final)!important;
  max-height:var(--module-action-size-final)!important;
  margin:0!important;
  padding:0!important;
  border:1.5px solid color-mix(in srgb,var(--inner-accent) 46%,#ffffff)!important;
  border-radius:50%!important;
  background:#ffffff!important;
  background-color:#ffffff!important;
  color:var(--inner-accent)!important;
  box-shadow:none!important;
  text-decoration:none!important;
  line-height:1!important;
  overflow:visible!important;
  cursor:pointer!important;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease!important;
}

/* Neutralizza vecchie eccezioni danger/rosso/arancio/verde/blu. */
body:not(.public) .workspace.moduleInternalUI.moduleInternalUI :is(
  .dangerIcon,
  .catalogHeaderIconAction.dangerIcon,
  .catalog-delete-action,
  .catalogPurgeAction,
  .catalogTrashHeaderAction,
  .eventHeaderDelete,
  .templateHeaderDelete,
  .nutritionClientArchiveAction,
  .nutritionClientRestoreAction,
  .nutritionAgendaIconButton--danger,
  .nxIconAction--danger,
  .nxCompareActionBtn--accent,
  .nxVisitCancel,
  .nxVisitSave
){
  border-color:color-mix(in srgb,var(--inner-accent) 46%,#ffffff)!important;
  background:#ffffff!important;
  background-color:#ffffff!important;
  color:var(--inner-accent)!important;
}

/* SVG e icone: stessa scala. */
body:not(.public) .workspace.moduleInternalUI.moduleInternalUI :is(
  .actionIconButton,
  .catalogHeaderIconAction,
  .catalogReadIconAction,
  .catalogFilterToggle,
  .catalog-view-button,
  .catalog-view-action,
  .catalog-pdf-action,
  .catalog-edit-action,
  .catalog-duplicate-action,
  .catalog-delete-action,
  .catalogRestoreAction,
  .catalogPurgeAction,
  .variantMore,
  .variantRemove,
  .templateModelIconAction,
  .templateCardToggle,
  .templateHeaderDelete,
  .eventCardToggle,
  .eventHeaderDelete,
  .nutritionClientIconAction,
  .nutritionFilterButton,
  .nutritionFilterButtonApproved,
  .nutritionPlanFilterButton,
  .nutritionAgendaIconButton,
  .nutritionAgendaRoundNav,
  .nutritionAgendaViewSwitch button,
  .nutritionViewSwitch button,
  .nxIconAction,
  .nxCompareActionBtn,
  .nxVisitActionIcon
) svg{
  display:block!important;
  width:var(--module-action-icon-final)!important;
  height:var(--module-action-icon-final)!important;
  max-width:var(--module-action-icon-final)!important;
  max-height:var(--module-action-icon-final)!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.9!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  pointer-events:none!important;
}

/* Hover/focus: il cerchio si riempie SOLO con il colore del modulo. */
body:not(.public) .workspace.moduleInternalUI.moduleInternalUI :is(
  .actionIconButton,
  .catalogHeaderIconAction,
  .catalogReadIconAction,
  .catalogFilterToggle,
  .catalog-view-button,
  .catalog-view-action,
  .catalog-pdf-action,
  .catalog-edit-action,
  .catalog-duplicate-action,
  .catalog-delete-action,
  .catalogRestoreAction,
  .catalogPurgeAction,
  .variantMore,
  .variantRemove,
  .templateModelIconAction,
  .templateCardToggle,
  .templateHeaderDelete,
  .eventCardToggle,
  .eventHeaderDelete,
  .nutritionClientIconAction,
  .nutritionFilterButton,
  .nutritionFilterButtonApproved,
  .nutritionPlanFilterButton,
  .nutritionAgendaIconButton,
  .nutritionAgendaRoundNav,
  .nutritionAgendaViewSwitch button,
  .nutritionViewSwitch button,
  .nxIconAction,
  .nxCompareActionBtn,
  .nxVisitActionIcon
):is(:hover,:focus-visible){
  border-color:var(--inner-accent)!important;
  background:var(--inner-accent)!important;
  background-color:var(--inner-accent)!important;
  color:#ffffff!important;
  transform:translateY(-1px)!important;
  box-shadow:0 8px 18px color-mix(in srgb,var(--inner-accent) 20%,transparent)!important;
  outline:0!important;
}

/* Stati attivi / aperti: stesso accento del modulo. */
body:not(.public) .workspace.moduleInternalUI.moduleInternalUI :is(
  .catalog-view-button.is-active,
  .catalog-view-button[aria-pressed="true"],
  .catalogFilterToggle[aria-expanded="true"],
  .nutritionAgendaViewSwitch button.active,
  .nutritionViewSwitch button.active,
  .nxCompareActionBtn--accent
){
  border-color:var(--inner-accent)!important;
  background:var(--inner-accent)!important;
  background-color:var(--inner-accent)!important;
  color:#ffffff!important;
}

/* Badge Cestino / filtri: il numero deve essere interamente visibile. */
body:not(.public) .workspace.moduleInternalUI.moduleInternalUI .productArchive .catalogHeaderIconAction,
body:not(.public) .workspace.moduleInternalUI.moduleInternalUI .productArchive .catalogFilterToggle{
  overflow:visible!important;
  isolation:isolate!important;
}
body:not(.public) .workspace.moduleInternalUI.moduleInternalUI .productArchive .catalogHeaderActionBadge,
body:not(.public) .workspace.moduleInternalUI.moduleInternalUI .productArchive .catalogFilterToggle>span{
  position:absolute!important;
  z-index:10!important;
  top:-8px!important;
  right:-8px!important;
  display:grid!important;
  place-items:center!important;
  min-width:24px!important;
  width:auto!important;
  height:24px!important;
  min-height:24px!important;
  max-height:24px!important;
  padding:0 7px!important;
  margin:0!important;
  border:2px solid #ffffff!important;
  border-radius:999px!important;
  background:var(--inner-accent)!important;
  background-color:var(--inner-accent)!important;
  color:#ffffff!important;
  font-size:11px!important;
  font-weight:850!important;
  line-height:1!important;
  white-space:nowrap!important;
  box-shadow:0 3px 8px rgba(15,23,42,.16)!important;
  pointer-events:none!important;
}

/* Mantiene il badge sopra il bordo senza essere tagliato dal contenitore azioni. */
body:not(.public) .workspace.moduleInternalUI.moduleInternalUI .productArchive :is(.catalogHeaderActions,.productArchiveHeaderControls){
  overflow:visible!important;
}

@media(max-width:800px){
  body:not(.public) .workspace.moduleInternalUI.moduleInternalUI{
    --module-action-size-final:48px;
    --module-action-icon-final:20px;
  }
  body:not(.public) .workspace.moduleInternalUI.moduleInternalUI .productArchive .catalogHeaderActions>*{
    width:var(--module-action-size-final)!important;
    min-width:var(--module-action-size-final)!important;
    max-width:var(--module-action-size-final)!important;
    height:var(--module-action-size-final)!important;
    min-height:var(--module-action-size-final)!important;
    max-height:var(--module-action-size-final)!important;
  }
}

/* =========================================================
   YMYSY UI STANDARD MODULI v3.3 — CARD ACTIONS + COLOR AUDIT
   Vincoli finali approvati:
   - azioni dentro schede/righe = 40px, una sola riga, tutti i moduli
   - azioni toolbar/testata = 46px, rotonde
   - colore azione = esclusivamente colore del modulo
   - status/badge semantici restano separati dalle azioni
   ========================================================= */

/* Token espliciti: impediscono che vecchi verdi/neutri ereditati prevalgano. */
body:not(.public) .workspace.workspace--traceability.moduleInternalUI{
  --inner-accent:#20AFAA!important;
  --inner-accent-dark:#117F7B!important;
  --inner-soft:#EAF8F6!important;
}
body:not(.public) .workspace.workspace--products.moduleInternalUI{
  --inner-accent:#8B63D9!important;
  --inner-accent-dark:#6645B2!important;
  --inner-soft:#F2EDFB!important;
}
body:not(.public) .workspace.workspace--nutrition.moduleInternalUI{
  --inner-accent:#7F9F88!important;
  --inner-accent-dark:#4F775B!important;
  --inner-soft:#EDF4EE!important;
}

body:not(.public) .workspace.moduleInternalUI{
  --module-toolbar-action-size:46px;
  --module-toolbar-icon-size:20px;
  --module-card-action-size:40px;
  --module-card-icon-size:18px;
  --module-card-action-gap:6px;
}

/* ---------------------------------------------------------
   A. TOOLBAR / TESTATE — stessa geometria, colore del modulo
   --------------------------------------------------------- */
body:not(.public) .workspace.moduleInternalUI.moduleInternalUI.moduleInternalUI :is(
  .catalogHeaderIconAction,
  .catalogReadIconAction,
  .catalogFilterToggle,
  .catalog-view-button,
  .templateModelIconAction,
  .nutritionFilterButton,
  .nutritionFilterButtonApproved,
  .nutritionPlanFilterButton,
  .nutritionAgendaIconButton,
  .nutritionAgendaRoundNav,
  .nutritionAgendaViewSwitch button,
  .nutritionViewSwitch button,
  .nxIconAction,
  .nxVisitActionIcon
){
  position:relative!important;
  box-sizing:border-box!important;
  display:inline-grid!important;
  place-items:center!important;
  flex:0 0 var(--module-toolbar-action-size)!important;
  width:var(--module-toolbar-action-size)!important;
  min-width:var(--module-toolbar-action-size)!important;
  max-width:var(--module-toolbar-action-size)!important;
  height:var(--module-toolbar-action-size)!important;
  min-height:var(--module-toolbar-action-size)!important;
  max-height:var(--module-toolbar-action-size)!important;
  margin:0!important;
  padding:0!important;
  border:1.5px solid color-mix(in srgb,var(--inner-accent) 52%,#ffffff)!important;
  border-radius:50%!important;
  background:#fff!important;
  background-color:#fff!important;
  color:var(--inner-accent)!important;
  box-shadow:none!important;
  line-height:1!important;
  overflow:visible!important;
}
body:not(.public) .workspace.moduleInternalUI.moduleInternalUI.moduleInternalUI :is(
  .catalogHeaderIconAction,
  .catalogReadIconAction,
  .catalogFilterToggle,
  .catalog-view-button,
  .templateModelIconAction,
  .nutritionFilterButton,
  .nutritionFilterButtonApproved,
  .nutritionPlanFilterButton,
  .nutritionAgendaIconButton,
  .nutritionAgendaRoundNav,
  .nutritionAgendaViewSwitch button,
  .nutritionViewSwitch button,
  .nxIconAction,
  .nxVisitActionIcon
) svg{
  width:var(--module-toolbar-icon-size)!important;
  height:var(--module-toolbar-icon-size)!important;
  max-width:var(--module-toolbar-icon-size)!important;
  max-height:var(--module-toolbar-icon-size)!important;
  fill:none!important;
  stroke:currentColor!important;
}

/* ---------------------------------------------------------
   B. AZIONI DENTRO SCHEDE/RIGHE — 40px e MAI a capo
   --------------------------------------------------------- */
body:not(.public) .workspace.moduleInternalUI.moduleInternalUI.moduleInternalUI :is(
  .lotArchiveActions,
  .lotActions,
  .catalogProductCardActions,
  .catalog-row-actions,
  .nutritionClientActionsApproved,
  .nutritionClientHeadActions,
  .nutritionPlanCardActions,
  .templateCardActions,
  .eventCardActions,
  .nxHeadActions,
  .nxProfileAccordionActions
){
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  gap:var(--module-card-action-gap)!important;
  width:auto!important;
  min-width:0!important;
  white-space:nowrap!important;
  overflow:visible!important;
}

/* I form dentro i gruppi non devono creare una nuova riga. */
body:not(.public) .workspace.moduleInternalUI.moduleInternalUI.moduleInternalUI :is(
  .lotArchiveActions,
  .lotActions,
  .catalogProductCardActions,
  .catalog-row-actions,
  .nutritionClientActionsApproved,
  .nutritionClientHeadActions,
  .nutritionPlanCardActions,
  .templateCardActions,
  .eventCardActions,
  .nxHeadActions,
  .nxProfileAccordionActions
)>form{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 var(--module-card-action-size)!important;
  width:var(--module-card-action-size)!important;
  min-width:var(--module-card-action-size)!important;
  max-width:var(--module-card-action-size)!important;
  height:var(--module-card-action-size)!important;
  min-height:var(--module-card-action-size)!important;
  max-height:var(--module-card-action-size)!important;
  margin:0!important;
  padding:0!important;
}

body:not(.public) .workspace.moduleInternalUI.moduleInternalUI.moduleInternalUI :is(
  .lotArchiveActions,
  .lotActions,
  .catalogProductCardActions,
  .catalog-row-actions,
  .nutritionClientActionsApproved,
  .nutritionClientHeadActions,
  .nutritionPlanCardActions,
  .templateCardActions,
  .eventCardActions,
  .nxHeadActions,
  .nxProfileAccordionActions
) :is(
  .actionIconButton,
  .catalog-view-action,
  .catalog-pdf-action,
  .catalog-edit-action,
  .catalog-duplicate-action,
  .catalog-delete-action,
  .nutritionClientIconAction,
  .templateCardToggle,
  .templateHeaderDelete,
  .eventCardToggle,
  .eventHeaderDelete,
  .nxIconAction,
  .nxVisitActionIcon
){
  position:relative!important;
  box-sizing:border-box!important;
  display:inline-grid!important;
  place-items:center!important;
  flex:0 0 var(--module-card-action-size)!important;
  width:var(--module-card-action-size)!important;
  min-width:var(--module-card-action-size)!important;
  max-width:var(--module-card-action-size)!important;
  height:var(--module-card-action-size)!important;
  min-height:var(--module-card-action-size)!important;
  max-height:var(--module-card-action-size)!important;
  margin:0!important;
  padding:0!important;
  border:1.5px solid color-mix(in srgb,var(--inner-accent) 52%,#ffffff)!important;
  border-radius:50%!important;
  background:#fff!important;
  background-color:#fff!important;
  color:var(--inner-accent)!important;
  box-shadow:none!important;
  line-height:1!important;
  overflow:visible!important;
}
body:not(.public) .workspace.moduleInternalUI.moduleInternalUI.moduleInternalUI :is(
  .lotArchiveActions,
  .lotActions,
  .catalogProductCardActions,
  .catalog-row-actions,
  .nutritionClientActionsApproved,
  .nutritionClientHeadActions,
  .nutritionPlanCardActions,
  .templateCardActions,
  .eventCardActions,
  .nxHeadActions,
  .nxProfileAccordionActions
) :is(
  .actionIconButton,
  .catalog-view-action,
  .catalog-pdf-action,
  .catalog-edit-action,
  .catalog-duplicate-action,
  .catalog-delete-action,
  .nutritionClientIconAction,
  .templateCardToggle,
  .templateHeaderDelete,
  .eventCardToggle,
  .eventHeaderDelete,
  .nxIconAction,
  .nxVisitActionIcon
) svg{
  width:var(--module-card-icon-size)!important;
  height:var(--module-card-icon-size)!important;
  max-width:var(--module-card-icon-size)!important;
  max-height:var(--module-card-icon-size)!important;
  fill:none!important;
  stroke:currentColor!important;
}

/* Nutrizione usa icone mask: anche queste devono seguire l'accento corrente. */
body:not(.public) .workspace.workspace--nutrition.moduleInternalUI .nutritionClientIconAction .nutritionActionIcon{
  width:var(--module-card-icon-size)!important;
  height:var(--module-card-icon-size)!important;
  min-width:var(--module-card-icon-size)!important;
  min-height:var(--module-card-icon-size)!important;
  background-color:currentColor!important;
  color:inherit!important;
}

/* Tracciabilità: spazio sufficiente per 3 azioni da 40px senza impilarle. */
body:not(.public) .workspace.workspace--traceability.moduleInternalUI .lotArchiveTable .lotArchiveActionsHead{
  width:140px!important;
  min-width:140px!important;
}
body:not(.public) .workspace.workspace--traceability.moduleInternalUI .lotArchiveTable .lotArchiveActions{
  width:140px!important;
  min-width:140px!important;
}

/* Prodotti: 5 azioni = 224px incl. gap; footer non deve comprimerle né mandarle a capo. */
body:not(.public) .workspace.workspace--products.moduleInternalUI .catalogProductCard footer{
  gap:8px!important;
}
body:not(.public) .workspace.workspace--products.moduleInternalUI .catalogProductCardActions{
  flex:0 0 auto!important;
  min-width:224px!important;
  max-width:224px!important;
  justify-content:flex-end!important;
}
body:not(.public) .workspace.workspace--products.moduleInternalUI .catalogProductCardActions>form{
  flex:0 0 var(--module-card-action-size)!important;
}

/* ---------------------------------------------------------
   C. AUDIT COLORE AZIONI — niente verde/rosso/neutro residuo
   --------------------------------------------------------- */
body:not(.public) .workspace.moduleInternalUI.moduleInternalUI.moduleInternalUI :is(
  .actionIconButton,
  .catalogHeaderIconAction,
  .catalogReadIconAction,
  .catalogFilterToggle,
  .catalog-view-button,
  .catalog-view-action,
  .catalog-pdf-action,
  .catalog-edit-action,
  .catalog-duplicate-action,
  .catalog-delete-action,
  .catalogRestoreAction,
  .catalogPurgeAction,
  .catalogTrashAction,
  .variantMore,
  .variantRemove,
  .templateModelIconAction,
  .templateCardToggle,
  .templateHeaderDelete,
  .eventCardToggle,
  .eventHeaderDelete,
  .nutritionClientIconAction,
  .nutritionFilterButton,
  .nutritionFilterButtonApproved,
  .nutritionPlanFilterButton,
  .nutritionAgendaIconButton,
  .nutritionAgendaRoundNav,
  .nutritionAgendaEventMenuToggle,
  .nutritionAgendaViewSwitch button,
  .nutritionViewSwitch button,
  .nxIconAction,
  .nxVisitActionIcon
){
  border-color:color-mix(in srgb,var(--inner-accent) 52%,#ffffff)!important;
  background:#fff!important;
  background-color:#fff!important;
  color:var(--inner-accent)!important;
}

/* Classi legacy danger/archive/restore non possono cambiare il colore dell'azione. */
body:not(.public) .workspace.moduleInternalUI.moduleInternalUI.moduleInternalUI :is(
  .dangerIcon,
  .catalogHeaderIconAction.dangerIcon,
  .catalogTrashHeaderAction,
  .catalog-delete-action,
  .catalogPurgeAction,
  .catalogTrashAction,
  .nutritionClientArchiveAction,
  .nutritionClientRestoreAction,
  .nutritionAgendaIconButton--danger,
  .eventHeaderDelete,
  .templateHeaderDelete,
  .nxIconAction--danger
){
  border-color:color-mix(in srgb,var(--inner-accent) 52%,#ffffff)!important;
  background:#fff!important;
  background-color:#fff!important;
  color:var(--inner-accent)!important;
}

/* Hover/focus e stato attivo: sempre e solo accento del modulo. */
body:not(.public) .workspace.moduleInternalUI.moduleInternalUI.moduleInternalUI :is(
  .actionIconButton,
  .catalogHeaderIconAction,
  .catalogReadIconAction,
  .catalogFilterToggle,
  .catalog-view-button,
  .catalog-view-action,
  .catalog-pdf-action,
  .catalog-edit-action,
  .catalog-duplicate-action,
  .catalog-delete-action,
  .catalogRestoreAction,
  .catalogPurgeAction,
  .catalogTrashAction,
  .variantMore,
  .variantRemove,
  .templateModelIconAction,
  .templateCardToggle,
  .templateHeaderDelete,
  .eventCardToggle,
  .eventHeaderDelete,
  .nutritionClientIconAction,
  .nutritionFilterButton,
  .nutritionFilterButtonApproved,
  .nutritionPlanFilterButton,
  .nutritionAgendaIconButton,
  .nutritionAgendaRoundNav,
  .nutritionAgendaEventMenuToggle,
  .nutritionAgendaViewSwitch button,
  .nutritionViewSwitch button,
  .nxIconAction,
  .nxVisitActionIcon
):is(:hover,:focus-visible),
body:not(.public) .workspace.moduleInternalUI.moduleInternalUI.moduleInternalUI :is(
  .catalog-view-button.is-active,
  .catalog-view-button[aria-pressed="true"],
  .catalogFilterToggle[aria-expanded="true"],
  .nutritionAgendaViewSwitch button.active,
  .nutritionViewSwitch button.active
){
  border-color:var(--inner-accent)!important;
  background:var(--inner-accent)!important;
  background-color:var(--inner-accent)!important;
  color:#fff!important;
}

/* Badge numerici/filtri: colore del modulo e nessun clipping. */
body:not(.public) .workspace.workspace--products.moduleInternalUI :is(.catalogHeaderIconAction,.catalogFilterToggle){
  overflow:visible!important;
}
body:not(.public) .workspace.workspace--products.moduleInternalUI :is(.catalogHeaderActionBadge,.catalogFilterToggle>span){
  background:var(--inner-accent)!important;
  background-color:var(--inner-accent)!important;
  color:#fff!important;
  border-color:#fff!important;
}

/* Le azioni con testo restano testuali: annulla l'errore delle versioni precedenti sui compare button. */
body:not(.public) .workspace.workspace--nutrition.moduleInternalUI .nxCompareActionBtn{
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  height:auto!important;
  min-height:46px!important;
  max-height:none!important;
  padding:0 16px!important;
  border-radius:12px!important;
  display:inline-flex!important;
  gap:9px!important;
}

/* Mobile: stessa dimensione card; toolbar resta 44px per il touch. */
@media(max-width:800px){
  body:not(.public) .workspace.moduleInternalUI{
    --module-toolbar-action-size:44px;
    --module-toolbar-icon-size:19px;
    --module-card-action-size:40px;
    --module-card-icon-size:18px;
    --module-card-action-gap:6px;
  }
  body:not(.public) .workspace.workspace--products.moduleInternalUI .catalogProductCardActions{
    min-width:224px!important;
    max-width:224px!important;
  }
}

/* =========================================================
   YMYSY UI STANDARD v3.4 — ACTION SYSTEM FINAL
   21/08/2026
   OBIETTIVO:
   - ogni azione icon-only e' perfettamente circolare
   - geometria coerente tra Prodotti / Tracciabilita / Nutrizione
   - il SOLO colore variabile e' l'accento del modulo
   - nessun rosso / verde legacy / blu neutro sui pulsanti azione
   - hover/focus usa il colore del modulo, mai il navy globale
   - badge numerici sempre visibili
   ========================================================= */

body:not(.public) .workspace.workspace--traceability.moduleInternalUI{
  --tseo-action-accent:#20AFAA!important;
  --tseo-action-soft:#E8F8F7!important;
}
body:not(.public) .workspace.workspace--products.moduleInternalUI{
  --tseo-action-accent:#8B63D9!important;
  --tseo-action-soft:#F2ECFC!important;
}
body:not(.public) .workspace.workspace--nutrition.moduleInternalUI{
  --tseo-action-accent:#7F9F88!important;
  --tseo-action-soft:#EDF4EE!important;
}

/* ---------- 1. TOOLBAR: 46px desktop / 44px mobile ---------- */
body:not(.public) .workspace.moduleInternalUI :is(
  .catalogHeaderIconAction,
  .catalogReadIconAction,
  .catalogFilterToggle,
  .catalog-view-button,
  .nutritionFilterButton,
  .nutritionFilterButtonApproved,
  .nutritionPlanFilterButton,
  .nutritionAgendaRoundNav,
  .nutritionAgendaViewSwitch button,
  .nutritionViewSwitch button,
  .templateModelIconAction
){
  appearance:none!important;
  -webkit-appearance:none!important;
  position:relative!important;
  box-sizing:border-box!important;
  display:inline-grid!important;
  place-items:center!important;
  flex:0 0 46px!important;
  width:46px!important;
  min-width:46px!important;
  max-width:46px!important;
  height:46px!important;
  min-height:46px!important;
  max-height:46px!important;
  aspect-ratio:1/1!important;
  margin:0!important;
  padding:0!important;
  border:1.5px solid color-mix(in srgb,var(--tseo-action-accent) 52%,#fff)!important;
  border-radius:999px!important;
  background:#fff!important;
  background-color:#fff!important;
  color:var(--tseo-action-accent)!important;
  box-shadow:none!important;
  line-height:1!important;
  text-decoration:none!important;
  overflow:visible!important;
}

/* Prodotti: forza anche i controlli che avevano ancora regole quadrate/neutral. */
body:not(.public) .workspace.workspace--products.moduleInternalUI .productArchive .catalogArchiveFilters .catalogFilterToggle,
body:not(.public) .workspace.workspace--products.moduleInternalUI .productArchive .catalogArchiveViewControls .catalog-view-button,
body:not(.public) .workspace.workspace--products.moduleInternalUI .productArchive .catalogHeaderActions .catalogHeaderIconAction{
  width:46px!important;
  min-width:46px!important;
  max-width:46px!important;
  height:46px!important;
  min-height:46px!important;
  max-height:46px!important;
  padding:0!important;
  border-radius:999px!important;
  border-color:color-mix(in srgb,#8B63D9 52%,#fff)!important;
  background:#fff!important;
  color:#8B63D9!important;
  overflow:visible!important;
}

/* Nutrizione: filtro e switch non possono piu' ereditare il rounded-square. */
body:not(.public) .workspace.workspace--nutrition.moduleInternalUI .nutritionToolbarApproved :is(
  .nutritionFilterButton,
  .nutritionFilterButtonApproved,
  .nutritionViewSwitch button
),
body:not(.public) .workspace.workspace--nutrition.moduleInternalUI :is(
  .nutritionPlanFilterButton,
  .nutritionAgendaRoundNav,
  .nutritionAgendaViewSwitch button
){
  width:46px!important;
  min-width:46px!important;
  max-width:46px!important;
  height:46px!important;
  min-height:46px!important;
  max-height:46px!important;
  padding:0!important;
  border-radius:999px!important;
  border-color:color-mix(in srgb,#7F9F88 52%,#fff)!important;
  background:#fff!important;
  color:#7F9F88!important;
}

/* ---------- 2. CARD / ROW ACTIONS: 40px, sempre su una riga ---------- */
body:not(.public) .workspace.moduleInternalUI :is(
  .actionIconButton,
  .catalog-view-action,
  .catalog-pdf-action,
  .catalog-edit-action,
  .catalog-duplicate-action,
  .catalog-delete-action,
  .catalogRestoreAction,
  .catalogPurgeAction,
  .catalogTrashAction,
  .nutritionClientIconAction,
  .nutritionAgendaIconButton,
  .nutritionAgendaEventMenuToggle,
  .templateCardToggle,
  .templateHeaderDelete,
  .eventCardToggle,
  .eventHeaderDelete,
  .nxIconAction,
  .nxVisitActionIcon,
  .catalogDuplicateClose,
  .removeClaim,
  .removePackaging,
  .removeInlineField,
  .nutritionMealRemove
){
  appearance:none!important;
  -webkit-appearance:none!important;
  position:relative!important;
  box-sizing:border-box!important;
  display:inline-grid!important;
  place-items:center!important;
  flex:0 0 40px!important;
  width:40px!important;
  min-width:40px!important;
  max-width:40px!important;
  height:40px!important;
  min-height:40px!important;
  max-height:40px!important;
  aspect-ratio:1/1!important;
  margin:0!important;
  padding:0!important;
  border:1.5px solid color-mix(in srgb,var(--tseo-action-accent) 52%,#fff)!important;
  border-radius:999px!important;
  background:#fff!important;
  background-color:#fff!important;
  color:var(--tseo-action-accent)!important;
  box-shadow:none!important;
  line-height:1!important;
  text-decoration:none!important;
  overflow:visible!important;
}

/* Tutte le icone ereditano SEMPRE il colore corrente. */
body:not(.public) .workspace.moduleInternalUI :is(
  .catalogHeaderIconAction,
  .catalogReadIconAction,
  .catalogFilterToggle,
  .catalog-view-button,
  .nutritionFilterButton,
  .nutritionFilterButtonApproved,
  .nutritionPlanFilterButton,
  .nutritionAgendaRoundNav,
  .nutritionAgendaViewSwitch button,
  .nutritionViewSwitch button,
  .templateModelIconAction,
  .actionIconButton,
  .catalog-view-action,
  .catalog-pdf-action,
  .catalog-edit-action,
  .catalog-duplicate-action,
  .catalog-delete-action,
  .catalogRestoreAction,
  .catalogPurgeAction,
  .catalogTrashAction,
  .nutritionClientIconAction,
  .nutritionAgendaIconButton,
  .nutritionAgendaEventMenuToggle,
  .templateCardToggle,
  .templateHeaderDelete,
  .eventCardToggle,
  .eventHeaderDelete,
  .nxIconAction,
  .nxVisitActionIcon,
  .catalogDuplicateClose
) svg{
  width:19px!important;
  height:19px!important;
  max-width:19px!important;
  max-height:19px!important;
  stroke:currentColor!important;
}
body:not(.public) .workspace.moduleInternalUI :is(
  .actionIconButton,
  .catalog-view-action,
  .catalog-pdf-action,
  .catalog-edit-action,
  .catalog-duplicate-action,
  .catalog-delete-action,
  .catalogRestoreAction,
  .catalogPurgeAction,
  .catalogTrashAction,
  .nutritionClientIconAction,
  .nutritionAgendaIconButton,
  .nutritionAgendaEventMenuToggle,
  .templateCardToggle,
  .templateHeaderDelete,
  .eventCardToggle,
  .eventHeaderDelete,
  .nxIconAction,
  .nxVisitActionIcon,
  .catalogDuplicateClose
) svg{
  width:17px!important;
  height:17px!important;
  max-width:17px!important;
  max-height:17px!important;
}
body:not(.public) .workspace.workspace--nutrition.moduleInternalUI .nutritionClientIconAction .nutritionActionIcon{
  width:17px!important;
  height:17px!important;
  min-width:17px!important;
  min-height:17px!important;
  background-color:currentColor!important;
}

/* ---------- 3. Nessun wrap nei gruppi azione ---------- */
body:not(.public) .workspace.moduleInternalUI :is(
  .catalogHeaderActions,
  .catalogReadActions,
  .catalogArchiveViewControls,
  .catalogProductCardActions,
  .catalog-row-actions,
  .lotArchiveActions,
  .lotActions,
  .nutritionClientActionsApproved,
  .nutritionClientHeadActions,
  .nutritionViewSwitch,
  .nutritionAgendaViewSwitch,
  .nutritionPlanCardActions,
  .templateCardActions,
  .eventCardActions,
  .nxHeadActions,
  .nxProfileAccordionActions
){
  display:flex!important;
  flex-flow:row nowrap!important;
  align-items:center!important;
  gap:7px!important;
  overflow:visible!important;
}
body:not(.public) .workspace.moduleInternalUI :is(
  .catalogProductCardActions,
  .catalog-row-actions,
  .lotArchiveActions,
  .lotActions,
  .nutritionClientActionsApproved,
  .nutritionClientHeadActions,
  .nutritionPlanCardActions,
  .templateCardActions,
  .eventCardActions,
  .nxHeadActions,
  .nxProfileAccordionActions
)>form{
  display:inline-flex!important;
  flex:0 0 40px!important;
  width:40px!important;
  margin:0!important;
}

/* Prodotti: 5 bottoni da 40px + gap = 228px, senza andare a capo. */
body:not(.public) .workspace.workspace--products.moduleInternalUI .catalogProductCardActions,
body:not(.public) .workspace.workspace--products.moduleInternalUI .catalog-row-actions{
  flex:0 0 auto!important;
  min-width:228px!important;
  max-width:228px!important;
  justify-content:flex-end!important;
}

/* Tracciabilita: 3 azioni compatte in una sola riga. */
body:not(.public) .workspace.workspace--traceability.moduleInternalUI .lotArchiveTable .lotArchiveActions,
body:not(.public) .workspace.workspace--traceability.moduleInternalUI .lotArchiveTable .lotArchiveActionsHead{
  width:134px!important;
  min-width:134px!important;
}

/* ---------- 4. Audit colore: neutralizza ogni legacy danger/success/brand ---------- */
body:not(.public) .workspace.workspace--products.moduleInternalUI :is(
  .catalogHeaderIconAction,
  .catalogReadIconAction,
  .catalogFilterToggle,
  .catalog-view-button,
  .catalog-view-action,
  .catalog-pdf-action,
  .catalog-edit-action,
  .catalog-duplicate-action,
  .catalog-delete-action,
  .catalogRestoreAction,
  .catalogPurgeAction,
  .catalogTrashAction,
  .catalogDuplicateClose,
  .removeClaim,
  .removePackaging,
  .removeInlineField
){
  border-color:color-mix(in srgb,#8B63D9 52%,#fff)!important;
  background:#fff!important;
  color:#8B63D9!important;
}
body:not(.public) .workspace.workspace--traceability.moduleInternalUI :is(
  .actionIconButton,
  .templateModelIconAction,
  .templateCardToggle,
  .templateHeaderDelete,
  .eventCardToggle,
  .eventHeaderDelete
){
  border-color:color-mix(in srgb,#20AFAA 52%,#fff)!important;
  background:#fff!important;
  color:#20AFAA!important;
}
body:not(.public) .workspace.workspace--nutrition.moduleInternalUI :is(
  .nutritionClientIconAction,
  .nutritionFilterButton,
  .nutritionFilterButtonApproved,
  .nutritionPlanFilterButton,
  .nutritionAgendaIconButton,
  .nutritionAgendaRoundNav,
  .nutritionAgendaEventMenuToggle,
  .nutritionAgendaViewSwitch button,
  .nutritionViewSwitch button,
  .nxIconAction,
  .nxVisitActionIcon,
  .nutritionMealRemove
){
  border-color:color-mix(in srgb,#7F9F88 52%,#fff)!important;
  background:#fff!important;
  color:#7F9F88!important;
}

/* Classi danger/active NON cambiano la palette del modulo nello stato base. */
body:not(.public) .workspace.moduleInternalUI :is(
  .dangerIcon,
  .catalogHeaderIconAction.dangerIcon,
  .catalogTrashHeaderAction,
  .catalog-delete-action,
  .catalogPurgeAction,
  .nutritionClientArchiveAction,
  .nutritionClientRestoreAction,
  .nutritionAgendaIconButton--danger,
  .templateHeaderDelete,
  .eventHeaderDelete,
  .nxIconAction--danger
){
  background:#fff!important;
  background-color:#fff!important;
  color:var(--tseo-action-accent)!important;
  border-color:color-mix(in srgb,var(--tseo-action-accent) 52%,#fff)!important;
}

/* Hover/focus: riempimento del COLORE MODULO; elimina il navy globale residuo. */
body:not(.public) .workspace.moduleInternalUI :is(
  .catalogHeaderIconAction,
  .catalogReadIconAction,
  .catalogFilterToggle,
  .catalog-view-button,
  .nutritionFilterButton,
  .nutritionFilterButtonApproved,
  .nutritionPlanFilterButton,
  .nutritionAgendaRoundNav,
  .nutritionAgendaViewSwitch button,
  .nutritionViewSwitch button,
  .templateModelIconAction,
  .actionIconButton,
  .catalog-view-action,
  .catalog-pdf-action,
  .catalog-edit-action,
  .catalog-duplicate-action,
  .catalog-delete-action,
  .catalogRestoreAction,
  .catalogPurgeAction,
  .catalogTrashAction,
  .nutritionClientIconAction,
  .nutritionAgendaIconButton,
  .nutritionAgendaEventMenuToggle,
  .templateCardToggle,
  .templateHeaderDelete,
  .eventCardToggle,
  .eventHeaderDelete,
  .nxIconAction,
  .nxVisitActionIcon,
  .catalogDuplicateClose,
  .removeClaim,
  .removePackaging,
  .removeInlineField,
  .nutritionMealRemove
):is(:hover,:focus-visible){
  border-color:var(--tseo-action-accent)!important;
  background:var(--tseo-action-accent)!important;
  background-color:var(--tseo-action-accent)!important;
  color:#fff!important;
  outline:0!important;
  box-shadow:0 7px 16px color-mix(in srgb,var(--tseo-action-accent) 18%,transparent)!important;
}

/* Stato attivo della vista/filtro: sempre accento modulo. */
body:not(.public) .workspace.moduleInternalUI :is(
  .catalog-view-button.is-active,
  .catalog-view-button[aria-pressed="true"],
  .catalogFilterToggle[aria-expanded="true"],
  .nutritionAgendaViewSwitch button.active,
  .nutritionViewSwitch button.active
){
  border-color:var(--tseo-action-accent)!important;
  background:var(--tseo-action-accent)!important;
  background-color:var(--tseo-action-accent)!important;
  color:#fff!important;
}

/* ---------- 5. Badge numerici: sempre leggibili, nessun clipping ---------- */
body:not(.public) .workspace.workspace--products.moduleInternalUI .productArchive :is(
  .catalogHeaderActions,
  .catalogHeaderIconAction,
  .catalogFilterToggle
){overflow:visible!important}
body:not(.public) .workspace.workspace--products.moduleInternalUI .productArchive :is(
  .catalogHeaderActionBadge,
  .catalogFilterToggle>span
){
  position:absolute!important;
  z-index:50!important;
  top:-7px!important;
  right:-7px!important;
  display:grid!important;
  place-items:center!important;
  min-width:22px!important;
  width:auto!important;
  height:22px!important;
  min-height:22px!important;
  padding:0 6px!important;
  margin:0!important;
  border:2px solid #fff!important;
  border-radius:999px!important;
  background:#8B63D9!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:800!important;
  line-height:1!important;
  box-shadow:0 2px 7px rgba(30,20,60,.16)!important;
}

/* ---------- 6. Mobile: touch 44 toolbar, card 40 ---------- */
@media(max-width:800px){
  body:not(.public) .workspace.moduleInternalUI :is(
    .catalogHeaderIconAction,
    .catalogReadIconAction,
    .catalogFilterToggle,
    .catalog-view-button,
    .nutritionFilterButton,
    .nutritionFilterButtonApproved,
    .nutritionPlanFilterButton,
    .nutritionAgendaRoundNav,
    .nutritionAgendaViewSwitch button,
    .nutritionViewSwitch button,
    .templateModelIconAction
  ){
    flex-basis:44px!important;
    width:44px!important;
    min-width:44px!important;
    max-width:44px!important;
    height:44px!important;
    min-height:44px!important;
    max-height:44px!important;
    border-radius:999px!important;
  }
  /* annulla la vecchia regola mobile che rendeva Filtro prodotti largo 100% */
  body:not(.public) .workspace.workspace--products.moduleInternalUI .productArchive .catalogArchiveFilters .catalogFilterToggle{
    width:44px!important;
    min-width:44px!important;
    max-width:44px!important;
    height:44px!important;
    min-height:44px!important;
    max-height:44px!important;
    border-radius:999px!important;
    justify-self:end!important;
  }
}

/* =========================================================
   YMYSY UI STANDARD v3.5 — ACTIONS HARD OVERRIDE
   21/08/2026
   Scopo: bypass definitivo delle regole legacy ad alta specificita.
   Non dipende dalle classi workspace--* per i controlli principali.
   ========================================================= */

/* ---------- PRODOTTI: toolbar archivio ---------- */
body:not(.public) main.workspace .productArchive.productArchive .catalogHeaderActions.catalogHeaderActions > button.catalogHeaderIconAction.catalogHeaderIconAction,
body:not(.public) main.workspace .productArchive.productArchive .catalogHeaderActions.catalogHeaderActions > a.catalogHeaderIconAction.catalogHeaderIconAction,
body:not(.public) main.workspace .productArchive.productArchive form.catalogArchiveFilters.catalogArchiveFilters > button.catalogFilterToggle.catalogFilterToggle,
body:not(.public) main.workspace .productArchive.productArchive .catalogArchiveViewControls.catalogArchiveViewControls > button.catalog-view-button.catalog-view-button,
body:not(.public) main.workspace .productArchive.productArchive .catalog-view-switcher.catalog-view-switcher > button.catalog-view-button.catalog-view-button{
  -webkit-appearance:none!important;
  appearance:none!important;
  position:relative!important;
  box-sizing:border-box!important;
  display:inline-grid!important;
  place-items:center!important;
  flex:0 0 46px!important;
  width:46px!important;
  min-width:46px!important;
  max-width:46px!important;
  height:46px!important;
  min-height:46px!important;
  max-height:46px!important;
  aspect-ratio:1/1!important;
  margin:0!important;
  padding:0!important;
  border:1.5px solid #8B63D9!important;
  border-radius:50%!important;
  background:#fff!important;
  background-color:#fff!important;
  color:#8B63D9!important;
  box-shadow:none!important;
  line-height:1!important;
  text-decoration:none!important;
  overflow:visible!important;
}
body:not(.public) main.workspace .productArchive.productArchive .catalogHeaderActions.catalogHeaderActions > :is(button,a).catalogHeaderIconAction.catalogHeaderIconAction svg,
body:not(.public) main.workspace .productArchive.productArchive form.catalogArchiveFilters.catalogArchiveFilters > button.catalogFilterToggle.catalogFilterToggle svg,
body:not(.public) main.workspace .productArchive.productArchive .catalogArchiveViewControls.catalogArchiveViewControls > button.catalog-view-button.catalog-view-button svg,
body:not(.public) main.workspace .productArchive.productArchive .catalog-view-switcher.catalog-view-switcher > button.catalog-view-button.catalog-view-button svg{
  width:19px!important;
  height:19px!important;
  stroke:#8B63D9!important;
  color:#8B63D9!important;
  fill:none!important;
}
body:not(.public) main.workspace .productArchive.productArchive .catalogHeaderActions.catalogHeaderActions > :is(button,a).catalogHeaderIconAction.catalogHeaderIconAction svg *,
body:not(.public) main.workspace .productArchive.productArchive form.catalogArchiveFilters.catalogArchiveFilters > button.catalogFilterToggle.catalogFilterToggle svg *,
body:not(.public) main.workspace .productArchive.productArchive .catalogArchiveViewControls.catalogArchiveViewControls > button.catalog-view-button.catalog-view-button svg *,
body:not(.public) main.workspace .productArchive.productArchive .catalog-view-switcher.catalog-view-switcher > button.catalog-view-button.catalog-view-button svg *{
  stroke:#8B63D9!important;
}
body:not(.public) main.workspace .productArchive.productArchive .catalogHeaderActions.catalogHeaderActions > :is(button,a).catalogHeaderIconAction.catalogHeaderIconAction:is(:hover,:focus-visible),
body:not(.public) main.workspace .productArchive.productArchive form.catalogArchiveFilters.catalogArchiveFilters > button.catalogFilterToggle.catalogFilterToggle:is(:hover,:focus-visible),
body:not(.public) main.workspace .productArchive.productArchive .catalogArchiveViewControls.catalogArchiveViewControls > button.catalog-view-button.catalog-view-button:is(:hover,:focus-visible),
body:not(.public) main.workspace .productArchive.productArchive .catalog-view-switcher.catalog-view-switcher > button.catalog-view-button.catalog-view-button:is(:hover,:focus-visible){
  border-color:#8B63D9!important;
  background:#8B63D9!important;
  background-color:#8B63D9!important;
  color:#fff!important;
}
body:not(.public) main.workspace .productArchive.productArchive .catalogHeaderActions.catalogHeaderActions > :is(button,a).catalogHeaderIconAction.catalogHeaderIconAction:is(:hover,:focus-visible) svg,
body:not(.public) main.workspace .productArchive.productArchive form.catalogArchiveFilters.catalogArchiveFilters > button.catalogFilterToggle.catalogFilterToggle:is(:hover,:focus-visible) svg,
body:not(.public) main.workspace .productArchive.productArchive .catalogArchiveViewControls.catalogArchiveViewControls > button.catalog-view-button.catalog-view-button:is(:hover,:focus-visible) svg,
body:not(.public) main.workspace .productArchive.productArchive .catalog-view-switcher.catalog-view-switcher > button.catalog-view-button.catalog-view-button:is(:hover,:focus-visible) svg,
body:not(.public) main.workspace .productArchive.productArchive .catalogHeaderActions.catalogHeaderActions > :is(button,a).catalogHeaderIconAction.catalogHeaderIconAction:is(:hover,:focus-visible) svg *,
body:not(.public) main.workspace .productArchive.productArchive form.catalogArchiveFilters.catalogArchiveFilters > button.catalogFilterToggle.catalogFilterToggle:is(:hover,:focus-visible) svg *,
body:not(.public) main.workspace .productArchive.productArchive .catalogArchiveViewControls.catalogArchiveViewControls > button.catalog-view-button.catalog-view-button:is(:hover,:focus-visible) svg *,
body:not(.public) main.workspace .productArchive.productArchive .catalog-view-switcher.catalog-view-switcher > button.catalog-view-button.catalog-view-button:is(:hover,:focus-visible) svg *{
  stroke:#fff!important;
  color:#fff!important;
}
/* Stato attivo: sempre viola, mai navy. */
body:not(.public) main.workspace .productArchive.productArchive .catalogArchiveViewControls.catalogArchiveViewControls > button.catalog-view-button.catalog-view-button:is(.is-active,[aria-pressed="true"]),
body:not(.public) main.workspace .productArchive.productArchive .catalog-view-switcher.catalog-view-switcher > button.catalog-view-button.catalog-view-button:is(.is-active,[aria-pressed="true"]),
body:not(.public) main.workspace .productArchive.productArchive form.catalogArchiveFilters.catalogArchiveFilters > button.catalogFilterToggle.catalogFilterToggle[aria-expanded="true"]{
  border-color:#8B63D9!important;
  background:#F2ECFC!important;
  background-color:#F2ECFC!important;
  color:#8B63D9!important;
}
body:not(.public) main.workspace .productArchive.productArchive .catalogArchiveViewControls.catalogArchiveViewControls > button.catalog-view-button.catalog-view-button:is(.is-active,[aria-pressed="true"]) svg,
body:not(.public) main.workspace .productArchive.productArchive .catalog-view-switcher.catalog-view-switcher > button.catalog-view-button.catalog-view-button:is(.is-active,[aria-pressed="true"]) svg,
body:not(.public) main.workspace .productArchive.productArchive form.catalogArchiveFilters.catalogArchiveFilters > button.catalogFilterToggle.catalogFilterToggle[aria-expanded="true"] svg,
body:not(.public) main.workspace .productArchive.productArchive .catalogArchiveViewControls.catalogArchiveViewControls > button.catalog-view-button.catalog-view-button:is(.is-active,[aria-pressed="true"]) svg *,
body:not(.public) main.workspace .productArchive.productArchive .catalog-view-switcher.catalog-view-switcher > button.catalog-view-button.catalog-view-button:is(.is-active,[aria-pressed="true"]) svg *,
body:not(.public) main.workspace .productArchive.productArchive form.catalogArchiveFilters.catalogArchiveFilters > button.catalogFilterToggle.catalogFilterToggle[aria-expanded="true"] svg *{
  stroke:#8B63D9!important;
}
/* Badge cestino: viola e fuori dal cerchio. */
body:not(.public) main.workspace .productArchive.productArchive .catalogHeaderActions.catalogHeaderActions .catalogHeaderActionBadge.catalogHeaderActionBadge{
  position:absolute!important;
  z-index:60!important;
  top:-7px!important;
  right:-7px!important;
  display:grid!important;
  place-items:center!important;
  min-width:22px!important;
  height:22px!important;
  padding:0 6px!important;
  border:2px solid #fff!important;
  border-radius:999px!important;
  background:#8B63D9!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:800!important;
  line-height:1!important;
}

/* ---------- PRODOTTI: azioni nelle schede ---------- */
body:not(.public) main.workspace .productArchive.productArchive .catalogProductCardActions.catalogProductCardActions{
  display:flex!important;
  flex-flow:row nowrap!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:6px!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin-top:10px!important;
  overflow:visible!important;
}
body:not(.public) main.workspace .productArchive.productArchive .catalogProductCardActions.catalogProductCardActions > form{
  display:inline-flex!important;
  flex:0 0 40px!important;
  width:40px!important;
  margin:0!important;
}
body:not(.public) main.workspace .productArchive.productArchive .catalogProductCardActions.catalogProductCardActions :is(a,button).catalogHeaderIconAction,
body:not(.public) main.workspace .productArchive.productArchive .catalogProductCardActions.catalogProductCardActions :is(a,button).catalog-view-action,
body:not(.public) main.workspace .productArchive.productArchive .catalogProductCardActions.catalogProductCardActions :is(a,button).catalog-pdf-action,
body:not(.public) main.workspace .productArchive.productArchive .catalogProductCardActions.catalogProductCardActions :is(a,button).catalog-edit-action,
body:not(.public) main.workspace .productArchive.productArchive .catalogProductCardActions.catalogProductCardActions :is(a,button).catalog-duplicate-action,
body:not(.public) main.workspace .productArchive.productArchive .catalogProductCardActions.catalogProductCardActions :is(a,button).catalog-delete-action,
body:not(.public) main.workspace .productArchive.productArchive .catalogProductCardActions.catalogProductCardActions :is(a,button).dangerIcon{
  flex:0 0 40px!important;
  width:40px!important;
  min-width:40px!important;
  max-width:40px!important;
  height:40px!important;
  min-height:40px!important;
  max-height:40px!important;
  padding:0!important;
  border:1.5px solid #8B63D9!important;
  border-radius:50%!important;
  background:#fff!important;
  color:#8B63D9!important;
}

/* ---------- TRACCIABILITA: righe archivio e azioni interne ---------- */
body:not(.public) main.workspace .lotArchiveTable.lotArchiveTable td.lotArchiveActions.lotArchiveActions{
  display:flex!important;
  flex-flow:row nowrap!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:6px!important;
  width:auto!important;
  min-width:132px!important;
  white-space:nowrap!important;
}
body:not(.public) main.workspace .lotArchiveTable.lotArchiveTable td.lotArchiveActions.lotArchiveActions > form{
  display:inline-flex!important;
  flex:0 0 40px!important;
  width:40px!important;
  margin:0!important;
}
body:not(.public) main.workspace .lotArchiveTable.lotArchiveTable td.lotArchiveActions.lotArchiveActions .actionIconButton.actionIconButton,
body:not(.public) main.workspace :is(.batchDetail,.batchSetupChoice,.templateAdmin,.templateList) .actionIconButton.actionIconButton,
body:not(.public) main.workspace :is(.batchDetail,.batchSetupChoice,.templateAdmin,.templateList) :is(.templateModelIconAction,.templateCardToggle,.templateHeaderDelete,.eventCardToggle,.eventHeaderDelete){
  width:40px!important;
  min-width:40px!important;
  max-width:40px!important;
  height:40px!important;
  min-height:40px!important;
  max-height:40px!important;
  padding:0!important;
  border:1.5px solid #20AFAA!important;
  border-radius:50%!important;
  background:#fff!important;
  color:#20AFAA!important;
}
body:not(.public) main.workspace .lotArchiveTable.lotArchiveTable td.lotArchiveActions.lotArchiveActions .actionIconButton.actionIconButton svg,
body:not(.public) main.workspace :is(.batchDetail,.batchSetupChoice,.templateAdmin,.templateList) :is(.actionIconButton,.templateModelIconAction,.templateCardToggle,.templateHeaderDelete,.eventCardToggle,.eventHeaderDelete) svg,
body:not(.public) main.workspace .lotArchiveTable.lotArchiveTable td.lotArchiveActions.lotArchiveActions .actionIconButton.actionIconButton svg *{
  stroke:#20AFAA!important;
  color:#20AFAA!important;
}

/* ---------- NUTRIZIONE: toolbar e righe assistiti ---------- */
body:not(.public) main.workspace .nutritionDashboard.nutritionDashboard .nutritionToolbarApproved.nutritionToolbarApproved :is(button.nutritionFilterButton,button.nutritionFilterButtonApproved),
body:not(.public) main.workspace .nutritionDashboard.nutritionDashboard .nutritionViewSwitch.nutritionViewSwitch > button,
body:not(.public) main.workspace .nutritionPage.nutritionPage :is(.nutritionPlanFilterButton,.nutritionAgendaRoundNav,.nutritionAgendaViewSwitch button){
  width:46px!important;
  min-width:46px!important;
  max-width:46px!important;
  height:46px!important;
  min-height:46px!important;
  max-height:46px!important;
  padding:0!important;
  border:1.5px solid #7F9F88!important;
  border-radius:50%!important;
  background:#fff!important;
  color:#7F9F88!important;
}
body:not(.public) main.workspace .nutritionDashboard.nutritionDashboard .nutritionClientActionsApproved.nutritionClientActionsApproved{
  display:flex!important;
  flex-flow:row nowrap!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:6px!important;
  min-width:86px!important;
  width:auto!important;
}
body:not(.public) main.workspace .nutritionDashboard.nutritionDashboard .nutritionClientActionsApproved.nutritionClientActionsApproved > form{
  display:inline-flex!important;
  flex:0 0 40px!important;
  width:40px!important;
  margin:0!important;
}
body:not(.public) main.workspace .nutritionDashboard.nutritionDashboard .nutritionClientActionsApproved.nutritionClientActionsApproved .nutritionClientIconAction.nutritionClientIconAction,
body:not(.public) main.workspace .nutritionPage.nutritionPage :is(.nutritionAgendaIconButton,.nutritionAgendaEventMenuToggle,.nxIconAction,.nxVisitActionIcon,.nutritionMealRemove){
  width:40px!important;
  min-width:40px!important;
  max-width:40px!important;
  height:40px!important;
  min-height:40px!important;
  max-height:40px!important;
  padding:0!important;
  border:1.5px solid #7F9F88!important;
  border-radius:50%!important;
  background:#fff!important;
  color:#7F9F88!important;
}
body:not(.public) main.workspace .nutritionDashboard.nutritionDashboard :is(.nutritionFilterButton,.nutritionFilterButtonApproved,.nutritionViewSwitch button,.nutritionClientIconAction) svg,
body:not(.public) main.workspace .nutritionPage.nutritionPage :is(.nutritionPlanFilterButton,.nutritionAgendaRoundNav,.nutritionAgendaViewSwitch button,.nutritionAgendaIconButton,.nutritionAgendaEventMenuToggle,.nxIconAction,.nxVisitActionIcon,.nutritionMealRemove) svg{
  stroke:#7F9F88!important;
  color:#7F9F88!important;
}

@media(max-width:800px){
  body:not(.public) main.workspace .productArchive.productArchive .catalogHeaderActions.catalogHeaderActions > :is(button,a).catalogHeaderIconAction.catalogHeaderIconAction,
  body:not(.public) main.workspace .productArchive.productArchive form.catalogArchiveFilters.catalogArchiveFilters > button.catalogFilterToggle.catalogFilterToggle,
  body:not(.public) main.workspace .productArchive.productArchive .catalogArchiveViewControls.catalogArchiveViewControls > button.catalog-view-button.catalog-view-button,
  body:not(.public) main.workspace .productArchive.productArchive .catalog-view-switcher.catalog-view-switcher > button.catalog-view-button.catalog-view-button,
  body:not(.public) main.workspace .nutritionDashboard.nutritionDashboard .nutritionToolbarApproved.nutritionToolbarApproved :is(button.nutritionFilterButton,button.nutritionFilterButtonApproved),
  body:not(.public) main.workspace .nutritionDashboard.nutritionDashboard .nutritionViewSwitch.nutritionViewSwitch > button{
    width:44px!important;
    min-width:44px!important;
    max-width:44px!important;
    height:44px!important;
    min-height:44px!important;
    max-height:44px!important;
    border-radius:50%!important;
  }
}

/* =========================================================
   YMYSY UI STANDARD v3.6 — ACTION SYSTEM VERIFIED
   Fallback CSS: il controller inline in index.php applica gli
   stessi valori con priorita inline !important per neutralizzare
   definitivamente le regole legacy.
   ========================================================= */
.workspace--products{--tseo-module-accent:#8B63D9}
.workspace--traceability{--tseo-module-accent:#20AFAA}
.workspace--nutrition{--tseo-module-accent:#7F9F88}
body:not(.public) main.workspace .tseoActionIcon{
  border-radius:999px!important;
  border-color:var(--tseo-module-accent)!important;
  color:var(--tseo-module-accent)!important;
  overflow:visible!important;
}
body:not(.public) main.workspace .tseoActionIcon svg{color:inherit!important;stroke:currentColor!important}
body:not(.public) main.workspace .catalogHeaderActionBadge{
  overflow:visible!important;
  background:var(--tseo-module-accent)!important;
  color:#fff!important;
}


/* =========================================================
   YMYSY UI STANDARD v3.7 — HARD FALLBACK ACTIONS
   Il runtime inline imposta gli stessi valori con inline !important.
   ========================================================= */
.workspace--products{--tseo-accent:#8B63D9;--tseo-accent-soft:#F2ECFC}
.workspace--traceability{--tseo-accent:#20AFAA;--tseo-accent-soft:#E8F8F7}
.workspace--nutrition{--tseo-accent:#7F9F88;--tseo-accent-soft:#EDF3EF}

.workspace--products .productArchive .catalogHeaderActions > .catalogHeaderIconAction,
.workspace--products .productArchive .catalogArchiveFilters > .catalogFilterToggle,
.workspace--products .productArchive .catalogArchiveViewControls > .catalog-view-button,
.workspace--products .productArchive .catalog-view-switcher > .catalog-view-button,
.workspace--products .catalogReadActions > .catalogReadIconAction,
.workspace--traceability .lotArchiveActions > .actionIconButton,
.workspace--nutrition .nutritionToolbarApproved .nutritionFilterButton,
.workspace--nutrition .nutritionViewSwitch > button{
  box-sizing:border-box!important;
  border:1.5px solid var(--tseo-accent)!important;
  border-radius:50%!important;
  background:#fff!important;
  color:var(--tseo-accent)!important;
  aspect-ratio:1/1!important;
  overflow:visible!important;
}
.workspace--products .productArchive .catalogHeaderActions > .catalogHeaderIconAction:hover,
.workspace--products .productArchive .catalogHeaderActions > .catalogHeaderIconAction:focus-visible,
.workspace--products .productArchive .catalogArchiveFilters > .catalogFilterToggle:hover,
.workspace--products .productArchive .catalogArchiveFilters > .catalogFilterToggle:focus-visible,
.workspace--products .productArchive .catalogArchiveViewControls > .catalog-view-button:hover,
.workspace--products .productArchive .catalogArchiveViewControls > .catalog-view-button:focus-visible,
.workspace--products .productArchive .catalog-view-switcher > .catalog-view-button:hover,
.workspace--products .productArchive .catalog-view-switcher > .catalog-view-button:focus-visible,
.workspace--traceability .lotArchiveActions > .actionIconButton:hover,
.workspace--traceability .lotArchiveActions > .actionIconButton:focus-visible,
.workspace--nutrition .nutritionToolbarApproved .nutritionFilterButton:hover,
.workspace--nutrition .nutritionToolbarApproved .nutritionFilterButton:focus-visible,
.workspace--nutrition .nutritionViewSwitch > button:hover,
.workspace--nutrition .nutritionViewSwitch > button:focus-visible{
  border-color:var(--tseo-accent)!important;
  background:var(--tseo-accent)!important;
  color:#fff!important;
}
.workspace--products .catalogHeaderActionBadge{background:#8B63D9!important;color:#fff!important;border:2px solid #fff!important;overflow:visible!important}


/* =========================================================
   YMYSY UI STANDARD v3.8 — PRODUCT CARD FIT + NATIVE CREATE
   Correzioni mirate:
   1) azioni nelle schede = 36px comuni, sempre dentro la card;
   2) footer prodotto usa due colonne reali e non lascia il gruppo
      azioni occupare il 100% della riga;
   3) il form nativo "Nuova scheda prodotto" mantiene lo stesso
      aspetto circolare della toolbar senza affidarsi a JS.
   ========================================================= */
body:not(.public) main.workspace.workspace--products .productArchive .catalogProductCard footer{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:end!important;
  column-gap:10px!important;
  row-gap:8px!important;
  width:100%!important;
  min-width:0!important;
}
body:not(.public) main.workspace.workspace--products .productArchive .catalogProductCard footer>span{
  min-width:0!important;
  overflow-wrap:anywhere!important;
}
body:not(.public) main.workspace.workspace--products .productArchive .catalogProductCardActions{
  display:flex!important;
  flex-flow:row nowrap!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:6px!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  justify-self:end!important;
}
body:not(.public) main.workspace.workspace--products .productArchive .catalogProductCardActions>form{
  display:inline-flex!important;
  flex:0 0 36px!important;
  width:36px!important;
  min-width:36px!important;
  max-width:36px!important;
  height:36px!important;
  margin:0!important;
  padding:0!important;
}
body:not(.public) main.workspace.workspace--products .productArchive .catalogProductCardActions :is(a,button){
  box-sizing:border-box!important;
  flex:0 0 36px!important;
  width:36px!important;
  min-width:36px!important;
  max-width:36px!important;
  height:36px!important;
  min-height:36px!important;
  max-height:36px!important;
  margin:0!important;
  padding:0!important;
  border-radius:50%!important;
}
body:not(.public) main.workspace.workspace--products .productArchive .catalogProductCardActions :is(a,button) svg{
  width:17px!important;
  height:17px!important;
}

/* Stessa misura compatta anche nelle card/righe degli altri moduli. */
body:not(.public) main.workspace.workspace--traceability .lotArchiveActions .actionIconButton,
body:not(.public) main.workspace.workspace--nutrition .nutritionClientActionsApproved .nutritionClientIconAction{
  flex:0 0 36px!important;
  width:36px!important;
  min-width:36px!important;
  max-width:36px!important;
  height:36px!important;
  min-height:36px!important;
  max-height:36px!important;
  border-radius:50%!important;
}
body:not(.public) main.workspace.workspace--traceability .lotArchiveActions .actionIconButton svg,
body:not(.public) main.workspace.workspace--nutrition .nutritionClientActionsApproved .nutritionClientIconAction svg{
  width:17px!important;
  height:17px!important;
}

/* Eliminazione definitiva assistiti archiviati */
.nutritionClientPurgeAction{border-color:#c85b5b!important;color:#b53f3f!important;background:#fff!important;flex:0 0 36px!important}
.nutritionClientPurgeAction:hover{background:#fff1f1!important;border-color:#b53f3f!important}
.nutritionActionIcon--purge{display:block;width:17px;height:17px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 7h16M9 11v6M15 11v6M6 7l1 13h10l1-13M9 7V4h6v3' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 7h16M9 11v6M15 11v6M6 7l1 13h10l1-13M9 7V4h6v3' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.nutritionPurgeDialog{width:min(560px,calc(100vw - 32px));padding:0;border:0;border-radius:22px;box-shadow:0 24px 70px rgba(23,48,39,.24);color:#20382f;background:#fff}
.nutritionPurgeDialog::backdrop{background:rgba(20,35,30,.48);backdrop-filter:blur(3px)}
.nutritionPurgeDialog form{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:14px;padding:34px}
.nutritionPurgeDialog .eyebrow{margin:2px 0 0;color:#b53f3f;font-size:12px;font-weight:800;letter-spacing:.08em;text-align:center}
.nutritionPurgeDialog h3{margin:0;font-size:26px;line-height:1.2;text-align:center;color:#263d34}
.nutritionPurgeDialog p{margin:0;color:#627069;line-height:1.55;text-align:center}
.nutritionPurgeDialog .nutritionPurgeWarning{font-weight:750;color:#a63f3f}
.nutritionPurgeWarningIcon{align-self:center;display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#fff0f0;color:#b53f3f}
.nutritionPurgeWarningIcon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.nutritionPurgeClose{position:absolute;top:16px;right:16px;width:36px!important;height:36px!important;min-width:36px!important;padding:0!important;border:1px solid #d9e1dd!important;border-radius:50%!important;background:#fff!important;color:#65736c!important;font-size:24px!important;line-height:1!important}
.nutritionPurgeDialog label{display:flex;flex-direction:column;gap:8px;margin-top:4px;color:#465a51;font-size:14px}
.nutritionPurgeDialog input[type="text"]{width:100%;height:48px;padding:0 14px;border:1.5px solid #c9d5cf;border-radius:12px;font:700 15px/1 Helvetica,Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.nutritionPurgeDialog input[type="text"]:focus{outline:3px solid rgba(181,63,63,.12);border-color:#b53f3f}
.nutritionPurgeActions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}
.nutritionPurgeActions .button{min-height:44px!important;border-radius:12px!important}
.nutritionPurgeActions .danger{border-color:#b53f3f!important;background:#b53f3f!important;color:#fff!important}
.nutritionPurgeActions .danger:hover:not(:disabled){background:#963333!important;border-color:#963333!important}
.nutritionPurgeActions .danger:disabled{opacity:.42!important;cursor:not-allowed!important}
@media(max-width:600px){.nutritionPurgeDialog form{padding:28px 20px 22px}.nutritionPurgeDialog h3{font-size:22px}.nutritionPurgeActions{display:grid;grid-template-columns:1fr}.nutritionPurgeActions .button{width:100%!important}}

/* Il + usa un GET nativo: nessun handler dell'archivio può bloccarlo. */
body:not(.public) main.workspace.workspace--products .productArchive .catalogCreateProductForm{
  display:inline-flex!important;
  flex:0 0 auto!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  overflow:visible!important;
}
body:not(.public) main.workspace.workspace--products .productArchive .catalogCreateProductForm>.catalogHeaderIconAction{
  box-sizing:border-box!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:46px!important;
  min-width:46px!important;
  max-width:46px!important;
  height:46px!important;
  min-height:46px!important;
  max-height:46px!important;
  padding:0!important;
  border:1.5px solid #8B63D9!important;
  border-radius:50%!important;
  background:#fff!important;
  color:#8B63D9!important;
  cursor:pointer!important;
}
body:not(.public) main.workspace.workspace--products .productArchive .catalogCreateProductForm>.catalogHeaderIconAction:is(:hover,:focus-visible){
  background:#8B63D9!important;
  color:#fff!important;
}
body:not(.public) main.workspace.workspace--products .productArchive .catalogCreateProductForm>.catalogHeaderIconAction svg{
  width:20px!important;
  height:20px!important;
  stroke:currentColor!important;
}
@media(max-width:800px){
  body:not(.public) main.workspace.workspace--products .productArchive .catalogCreateProductForm>.catalogHeaderIconAction{
    width:44px!important;
    min-width:44px!important;
    max-width:44px!important;
    height:44px!important;
    min-height:44px!important;
    max-height:44px!important;
  }
}

/* ==========================================================
   YMYSY v3.12 — WIZARD PRODOTTI / MOCKUP APPROVATO
   Solo UI: non cambia routing, permessi, salvataggio o DB.
   ========================================================== */
body:not(.public) main.workspace.workspace--products .productWizardApproved{
  --wizard-accent:#8B63D9;
  --wizard-accent-dark:#7048C5;
  --wizard-accent-soft:#F4F0FC;
  --wizard-border:#E3D9F6;
  --wizard-ink:#19132C;
  --wizard-muted:#6F7787;
  width:100%!important;
  max-width:none!important;
  margin:18px 0 0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
  color:var(--wizard-ink)!important;
}
body:not(.public) main.workspace.workspace--products .productWizardApproved h2,
body:not(.public) main.workspace.workspace--products .productWizardApproved h3,
body:not(.public) main.workspace.workspace--products .productWizardApproved h4{
  font-family:Arial,Helvetica,sans-serif!important;
  color:var(--wizard-ink)!important;
}

/* Hero interno wizard */
body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardHero{
  position:relative!important;
  display:grid!important;
  grid-template-columns:72px minmax(0,1fr) minmax(320px,.72fr)!important;
  align-items:center!important;
  gap:24px!important;
  width:100%!important;
  min-height:238px!important;
  margin:0!important;
  padding:28px 34px!important;
  overflow:hidden!important;
  border:1px solid var(--wizard-border)!important;
  border-radius:28px!important;
  background:
    radial-gradient(circle at 70% 58%,rgba(139,99,217,.09),transparent 31%),
    linear-gradient(110deg,#fff 0%,#fbf9ff 56%,#f4f0fc 100%)!important;
  box-shadow:0 10px 34px rgba(49,32,84,.055)!important;
}
body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardHero::after{
  content:"";
  position:absolute;
  inset:-35% -8% auto 42%;
  height:135%;
  border:1px solid rgba(139,99,217,.07);
  border-radius:50%;
  pointer-events:none;
}
body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardHeroIcon{
  position:relative;
  z-index:1;
  display:grid;
  place-items:center;
  width:64px;
  height:64px;
  border:1px solid #e7def8;
  border-radius:50%;
  background:#f1ebfb;
  color:var(--wizard-accent);
}
body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardHeroIcon svg{width:32px;height:32px}
body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardHeroCopy{position:relative;z-index:1;min-width:0}
body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardHeroCopy .eyebrow{
  margin:0 0 12px!important;
  color:#6740C5!important;
  font:800 12px/1.2 Arial,Helvetica,sans-serif!important;
  letter-spacing:.08em!important;
}
body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardHeroCopy h2{
  margin:0!important;
  font-size:clamp(34px,3.2vw,52px)!important;
  line-height:1.02!important;
  letter-spacing:-.035em!important;
  font-weight:850!important;
}
body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardHeroCopy>p:last-child{
  max-width:650px!important;
  margin:16px 0 0!important;
  color:var(--wizard-muted)!important;
  font-size:16px!important;
  line-height:1.55!important;
}
body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardHeroSide{
  position:relative;
  z-index:1;
  display:grid;
  justify-items:end;
  align-self:stretch;
  align-content:space-between;
  gap:24px;
  min-width:0;
}
body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardBack{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  min-height:50px!important;
  padding:0 20px!important;
  border:1.5px solid #cab6ef!important;
  border-radius:13px!important;
  background:#fff!important;
  color:#633AC6!important;
  box-shadow:0 5px 14px rgba(61,39,109,.06)!important;
}
body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardBack svg{width:20px;height:20px}
body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardBack:is(:hover,:focus-visible){background:#f7f3fd!important;border-color:var(--wizard-accent)!important}
body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardHeroMeta{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:20px;
  min-width:0;
}
body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardLogo{
  display:block;
  width:auto;
  max-width:150px;
  max-height:68px;
  object-fit:contain;
  padding:8px 10px;
  background:#fff;
}
body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardUpdated{
  display:flex;
  align-items:center;
  gap:10px;
  padding-left:18px;
  border-left:1px solid #e5def2;
  color:#555d6e;
  font-size:12px;
  line-height:1.35;
  white-space:nowrap;
}
body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardUpdated svg{width:30px;height:30px;color:var(--wizard-accent)}
body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardUpdated strong{color:#373042;font-weight:800}

/* Progress step — card orizzontale unica */
body:not(.public) main.workspace.workspace--products .productWizardApproved .wizardProgressApproved{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  align-items:start!important;
  gap:0!important;
  width:100%!important;
  margin:18px 0 0!important;
  padding:20px 24px 18px!important;
  overflow:visible!important;
  border:1px solid #ececf0!important;
  border-radius:22px!important;
  background:#fff!important;
  box-shadow:0 8px 28px rgba(28,25,35,.055)!important;
}
body:not(.public) main.workspace.workspace--products .productWizardApproved .wizardProgressApproved :is(a,span){
  position:relative!important;
  display:grid!important;
  justify-items:center!important;
  gap:8px!important;
  min-width:0!important;
  padding:0 8px!important;
  color:#666a78!important;
  text-align:center!important;
  text-decoration:none!important;
  font-size:12px!important;
  font-weight:700!important;
}
body:not(.public) main.workspace.workspace--products .productWizardApproved .wizardProgressApproved :is(a,span)::after{
  content:""!important;
  position:absolute!important;
  z-index:0!important;
  top:20px!important;
  left:calc(50% + 28px)!important;
  width:calc(100% - 56px)!important;
  height:1px!important;
  background:#dfe1e7!important;
}
body:not(.public) main.workspace.workspace--products .productWizardApproved .wizardProgressApproved :is(a,span):last-child::after{display:none!important}
body:not(.public) main.workspace.workspace--products .productWizardApproved .wizardProgressApproved b{
  position:relative!important;
  z-index:1!important;
  display:grid!important;
  place-items:center!important;
  width:42px!important;
  height:42px!important;
  margin:0!important;
  border:1px solid #dde0e7!important;
  border-radius:50%!important;
  background:#f7f8fa!important;
  color:#393b45!important;
  font-size:15px!important;
  font-weight:800!important;
}
body:not(.public) main.workspace.workspace--products .productWizardApproved .wizardProgressApproved .active{color:#633AC6!important}
body:not(.public) main.workspace.workspace--products .productWizardApproved .wizardProgressApproved .active b{
  border-color:var(--wizard-accent)!important;
  background:linear-gradient(145deg,#8B63D9,#6535C9)!important;
  color:#fff!important;
  box-shadow:0 6px 14px rgba(111,61,204,.22)!important;
}
body:not(.public) main.workspace.workspace--products .productWizardApproved .wizardProgressApproved .done b{
  border-color:#ccb9ee!important;
  background:#f3edfc!important;
  color:#7048c5!important;
}

/* Card contenuto wizard */
body:not(.public) main.workspace.workspace--products .productWizardApproved .wizardForm,
body:not(.public) main.workspace.workspace--products .productWizardApproved .wizardSummary{
  width:100%!important;
  margin:18px 0 0!important;
  padding:30px 34px!important;
  border:1px solid #ececf0!important;
  border-radius:22px!important;
  background:#fff!important;
  box-shadow:0 8px 28px rgba(28,25,35,.05)!important;
}
body:not(.public) main.workspace.workspace--products .productWizardApproved .wizardTitle{margin:0 0 22px!important}
body:not(.public) main.workspace.workspace--products .productWizardApproved .wizardTitle>span{
  display:inline-flex!important;
  align-items:center!important;
  width:auto!important;
  min-height:24px!important;
  padding:4px 9px!important;
  border-radius:6px!important;
  background:#F0E9FC!important;
  color:#6740C5!important;
  font-size:10px!important;
  line-height:1!important;
  font-weight:850!important;
  letter-spacing:.04em!important;
}
body:not(.public) main.workspace.workspace--products .productWizardApproved .wizardTitle h3{
  margin:12px 0 0!important;
  font-size:25px!important;
  line-height:1.15!important;
  font-weight:850!important;
}
body:not(.public) main.workspace.workspace--products .productWizardApproved .wizardTitle p{
  margin:10px 0 0!important;
  color:var(--wizard-muted)!important;
  font-size:13px!important;
}

/* Step 1 — layout come mockup */
body:not(.public) main.workspace.workspace--products .productWizardApproved .configurableStep1{
  display:grid!important;
  grid-template-columns:minmax(280px,.95fr) repeat(2,minmax(0,1fr))!important;
  grid-auto-flow:row!important;
  gap:16px 22px!important;
  align-items:start!important;
  min-width:0!important;
}
body:not(.public) main.workspace.workspace--products .productWizardApproved .configurableStep1>label{
  min-width:0!important;
  margin:0!important;
  gap:7px!important;
  color:#20212a!important;
  font-size:12px!important;
}
body:not(.public) main.workspace.workspace--products .productWizardApproved .configurableStep1>label input,
body:not(.public) main.workspace.workspace--products .productWizardApproved .configurableStep1>label textarea,
body:not(.public) main.workspace.workspace--products .productWizardApproved .configurableStep1>label select{
  min-height:52px!important;
  padding:12px 14px!important;
  border:1px solid #dfe1e8!important;
  border-radius:11px!important;
  background:#fff!important;
  color:#282532!important;
  font-size:13px!important;
  box-shadow:none!important;
  outline:none!important;
}
body:not(.public) main.workspace.workspace--products .productWizardApproved .configurableStep1>label :is(input,textarea,select):focus{
  border-color:#aa8ade!important;
  box-shadow:0 0 0 3px rgba(139,99,217,.12)!important;
}
body:not(.public) main.workspace.workspace--products .productWizardApproved .productImageField{
  order:-10!important;
  grid-column:1!important;
  grid-row:span 3!important;
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  min-height:250px!important;
  margin:0!important;
  padding:18px!important;
  overflow:hidden!important;
  border:1.5px dashed #a887e1!important;
  border-radius:16px!important;
  background:linear-gradient(180deg,#fff 0%,#fcfaff 100%)!important;
}
body:not(.public) main.workspace.workspace--products .productWizardApproved .productImageField>label{
  margin:0 0 12px!important;
  color:#25232c!important;
  font-size:12px!important;
  font-weight:800!important;
}
body:not(.public) main.workspace.workspace--products .productWizardApproved .productImageField:not(:has(.currentAttachment))::before{
  content:"⇧";
  display:grid;
  place-items:center;
  width:52px;
  height:52px;
  margin:26px auto 8px;
  border-radius:50%;
  background:#f1ebfb;
  color:#7048c5;
  font-size:28px;
  font-weight:500;
}
body:not(.public) main.workspace.workspace--products .productWizardApproved .productImageField:not(:has(.currentAttachment))::after{
  content:"Trascina qui l’immagine oppure scegli il file";
  display:block;
  margin:0 auto 12px;
  max-width:220px;
  color:#44404c;
  text-align:center;
  font-size:12px;
  line-height:1.45;
  font-weight:700;
}
body:not(.public) main.workspace.workspace--products .productWizardApproved .productImageField input[type=file]{
  min-height:46px!important;
  padding:6px!important;
  border:0!important;
  border-radius:10px!important;
  background:transparent!important;
  color:#696573!important;
  font-size:11px!important;
}
body:not(.public) main.workspace.workspace--products .productWizardApproved .productImageField input[type=file]::file-selector-button{
  min-height:38px!important;
  margin-right:10px!important;
  padding:0 14px!important;
  border:1.5px solid #9f78df!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#6841c7!important;
  font-weight:800!important;
  cursor:pointer!important;
}
body:not(.public) main.workspace.workspace--products .productWizardApproved .productImageField>small{
  display:block!important;
  margin-top:auto!important;
  padding-top:8px!important;
  color:#777482!important;
  font-size:10px!important;
  line-height:1.4!important;
}
body:not(.public) main.workspace.workspace--products .productWizardApproved .step1ShortDescription{
  order:999!important;
  grid-column:2/-1!important;
}
body:not(.public) main.workspace.workspace--products .productWizardApproved .step1ShortDescription textarea{min-height:90px!important;resize:vertical!important}

/* Altri step: stessa grammatica visiva */
body:not(.public) main.workspace.workspace--products .productWizardApproved :is(.wizardFields,.step3Tabs,.packagingEditor,.variantEditor,.wizardSummary>section){
  border-color:#ececf0!important;
}
body:not(.public) main.workspace.workspace--products .productWizardApproved :is(input,select,textarea):focus{
  border-color:#aa8ade!important;
  box-shadow:0 0 0 3px rgba(139,99,217,.11)!important;
  outline:0!important;
}
body:not(.public) main.workspace.workspace--products .productWizardApproved .button.subtle{
  border-color:#d7caed!important;
  background:#fff!important;
  color:#6641bd!important;
}

/* Azioni fondo */
body:not(.public) main.workspace.workspace--products .productWizardApproved .wizardActionsApproved{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:12px!important;
  margin-top:26px!important;
  padding-top:18px!important;
  border-top:1px solid #ececf0!important;
  flex-wrap:nowrap!important;
}
body:not(.public) main.workspace.workspace--products .productWizardApproved .wizardActionsApproved :is(a,button){
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  width:auto!important;
  min-width:120px!important;
  min-height:48px!important;
  margin:0!important;
  padding:0 20px!important;
  border-radius:10px!important;
  font-size:13px!important;
  font-weight:800!important;
  white-space:nowrap!important;
}
body:not(.public) main.workspace.workspace--products .productWizardApproved .wizardActionsApproved .wizardCancel{
  border:1px solid #dfe1e8!important;
  background:#fff!important;
  color:#2c2933!important;
}
body:not(.public) main.workspace.workspace--products .productWizardApproved .wizardActionsApproved .draftButton{
  border:1.5px solid #aa8ade!important;
  background:#fff!important;
  color:#6841c7!important;
}
body:not(.public) main.workspace.workspace--products .productWizardApproved .wizardActionsApproved .wizardContinue{
  min-width:150px!important;
  border:1px solid #7048c5!important;
  background:linear-gradient(135deg,#8B63D9,#6432C9)!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(110,60,202,.18)!important;
}
body:not(.public) main.workspace.workspace--products .productWizardApproved .wizardActionsApproved .wizardContinue:is(:hover,:focus-visible){filter:brightness(.97)!important}

/* Responsive */
@media(max-width:1050px){
  body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardHero{
    grid-template-columns:58px minmax(0,1fr)!important;
    min-height:0!important;
  }
  body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardHeroSide{
    grid-column:1/-1!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
  }
  body:not(.public) main.workspace.workspace--products .productWizardApproved .configurableStep1{
    grid-template-columns:minmax(240px,.9fr) minmax(0,1fr)!important;
  }
  body:not(.public) main.workspace.workspace--products .productWizardApproved .productImageField{grid-column:1!important;grid-row:span 5!important}
  body:not(.public) main.workspace.workspace--products .productWizardApproved .step1ShortDescription{grid-column:2!important}
}
@media(max-width:760px){
  body:not(.public) main.workspace.workspace--products .productWizardApproved{margin-top:12px!important}
  body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardHero{
    grid-template-columns:48px minmax(0,1fr)!important;
    gap:14px!important;
    padding:20px!important;
    border-radius:22px!important;
  }
  body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardHeroIcon{width:46px;height:46px}
  body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardHeroIcon svg{width:24px;height:24px}
  body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardHeroCopy h2{font-size:32px!important}
  body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardHeroCopy>p:last-child{font-size:14px!important}
  body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardHeroSide{
    display:grid!important;
    justify-items:stretch!important;
    gap:16px!important;
  }
  body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardBack{width:100%!important}
  body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardHeroMeta{justify-content:space-between!important;gap:10px!important}
  body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardLogo{max-width:120px;max-height:58px}
  body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardUpdated{font-size:10px;padding-left:10px;white-space:normal}
  body:not(.public) main.workspace.workspace--products .productWizardApproved .wizardProgressApproved{
    display:flex!important;
    gap:8px!important;
    padding:14px!important;
    overflow-x:auto!important;
    scroll-snap-type:x proximity;
  }
  body:not(.public) main.workspace.workspace--products .productWizardApproved .wizardProgressApproved :is(a,span){min-width:96px!important;scroll-snap-align:start}
  body:not(.public) main.workspace.workspace--products .productWizardApproved .wizardProgressApproved :is(a,span)::after{display:none!important}
  body:not(.public) main.workspace.workspace--products .productWizardApproved .wizardForm,
  body:not(.public) main.workspace.workspace--products .productWizardApproved .wizardSummary{padding:20px!important;border-radius:20px!important}
  body:not(.public) main.workspace.workspace--products .productWizardApproved .configurableStep1{grid-template-columns:1fr!important;gap:14px!important}
  body:not(.public) main.workspace.workspace--products .productWizardApproved .productImageField,
  body:not(.public) main.workspace.workspace--products .productWizardApproved .step1ShortDescription{grid-column:1!important;grid-row:auto!important}
  body:not(.public) main.workspace.workspace--products .productWizardApproved .productImageField{min-height:225px!important}
  body:not(.public) main.workspace.workspace--products .productWizardApproved .wizardActionsApproved{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:9px!important;
  }
  body:not(.public) main.workspace.workspace--products .productWizardApproved .wizardActionsApproved :is(a,button){width:100%!important;min-width:0!important;padding:0 12px!important}
  body:not(.public) main.workspace.workspace--products .productWizardApproved .wizardActionsApproved .wizardContinue{grid-column:1/-1!important}
}

/* =========================================================
   YMYSY v3.13 — WIZARD PROGRESS MODULE-AWARE
   Regola approvata:
   - step completato = colore intenso del modulo
   - step corrente = tonalità chiara del modulo
   - linea completato -> corrente = gradiente intenso -> chiaro
   - step futuri = neutri
   ========================================================= */
body:not(.public) main.workspace.workspace--products .productWizardApproved{
  --wizard-accent:#8B63D9;
  --wizard-accent-deep:#6535C9;
  --wizard-accent-soft:#C9AFF7;
  --wizard-accent-pale:#F3EDFC;
  --wizard-accent-shadow:rgba(111,61,204,.22);
}

/* Elimina il vecchio indicatore circolare generato da ::before */
body:not(.public) main.workspace.workspace--products .productWizardApproved .wizardProgressApproved :is(a,span)::before{
  content:none!important;
  display:none!important;
}

/* Stato futuro */
body:not(.public) main.workspace.workspace--products .productWizardApproved .wizardProgressApproved :is(a,span) b{
  border-color:#dde0e7!important;
  background:#f7f8fa!important;
  color:#393b45!important;
  box-shadow:none!important;
}
body:not(.public) main.workspace.workspace--products .productWizardApproved .wizardProgressApproved :is(a,span)::after{
  background:#dfe1e7!important;
}

/* Step completato: pieno, intenso, colore modulo */
body:not(.public) main.workspace.workspace--products .productWizardApproved .wizardProgressApproved .done{
  color:var(--wizard-accent-deep)!important;
}
body:not(.public) main.workspace.workspace--products .productWizardApproved .wizardProgressApproved .done b{
  border-color:var(--wizard-accent-deep)!important;
  background:linear-gradient(145deg,var(--wizard-accent),var(--wizard-accent-deep))!important;
  color:#fff!important;
  box-shadow:0 6px 14px var(--wizard-accent-shadow)!important;
}
body:not(.public) main.workspace.workspace--products .productWizardApproved .wizardProgressApproved .done::after{
  background:var(--wizard-accent-deep)!important;
}

/* Step corrente: stessa famiglia colore, più chiara */
body:not(.public) main.workspace.workspace--products .productWizardApproved .wizardProgressApproved .active{
  color:var(--wizard-accent-deep)!important;
}
body:not(.public) main.workspace.workspace--products .productWizardApproved .wizardProgressApproved .active b{
  border-color:var(--wizard-accent-soft)!important;
  background:linear-gradient(145deg,var(--wizard-accent-pale),var(--wizard-accent-soft))!important;
  color:var(--wizard-accent-deep)!important;
  box-shadow:0 5px 12px rgba(111,61,204,.12)!important;
}

/* Solo il tratto che porta dallo step completato allo step corrente sfuma */
body:not(.public) main.workspace.workspace--products .productWizardApproved .wizardProgressApproved .done:has(+ .active)::after{
  background:linear-gradient(90deg,var(--wizard-accent-deep) 0%,var(--wizard-accent) 38%,var(--wizard-accent-soft) 100%)!important;
}

/* Predisposizione per eventuali wizard degli altri moduli: basta cambiare le variabili */
body:not(.public) main.workspace.workspace--traceability .productWizardApproved{
  --wizard-accent:#20AFAA;
  --wizard-accent-deep:#128D89;
  --wizard-accent-soft:#A8E1DE;
  --wizard-accent-pale:#EAF8F7;
  --wizard-accent-shadow:rgba(32,175,170,.20);
}
body:not(.public) main.workspace.workspace--nutrition .productWizardApproved{
  --wizard-accent:#7F9F88;
  --wizard-accent-deep:#5E8068;
  --wizard-accent-soft:#C5D7CA;
  --wizard-accent-pale:#EEF4F0;
  --wizard-accent-shadow:rgba(127,159,136,.20);
}

/* =========================================================
   YMYSY v3.14 — KPI PRODOTTI APPROVATE
   Prodotti totali / Da completare / Senza categoria / Con varianti
   ========================================================= */
body:not(.public) main.workspace.workspace--products .moduleStandardStats--products .moduleStandardStatIcon svg{
  width:31px!important;
  height:31px!important;
  display:block!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
body:not(.public) main.workspace.workspace--products .moduleStandardStats--products>article{
  border-color:var(--module-line)!important;
}
body:not(.public) main.workspace.workspace--products .moduleStandardStats--products .moduleStandardStatIcon{
  background:var(--module-soft)!important;
  color:var(--module-accent-dark)!important;
}
body:not(.public) main.workspace.workspace--products .moduleStandardStats--products article em{
  color:var(--module-accent-dark)!important;
}
@media(max-width:760px){
  body:not(.public) main.workspace.workspace--products .moduleStandardStats--products .moduleStandardStatIcon svg{
    width:25px!important;
    height:25px!important;
  }
}

/* YMYSY v3.15 — PRODUCT WIZARD: single approved hero only */
.workspace--products .workspaceHeader.productWizardGlobalHeader{
  min-height:0!important;
  height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
  overflow:visible!important;
}
.workspace--products .workspaceHeader.productWizardGlobalHeader>.mobileMenuToggle{
  position:absolute;
  z-index:40;
}
@media (min-width: 901px){
  .workspace--products .workspaceHeader.productWizardGlobalHeader>.mobileMenuToggle{display:none!important}
}

/* =========================================================
   YMYSY v3.16 — PRODUCT WIZARD HERO APPROVED
   - logo in alto a destra al posto del vecchio bottone testuale
   - ritorno archivio = solo icona circolare compatta
   - disposizione coerente desktop/mobile
   ========================================================= */
body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardHero{
  grid-template-columns:72px minmax(0,1fr) minmax(280px,.62fr)!important;
  grid-template-rows:auto 1fr!important;
  align-items:start!important;
  column-gap:24px!important;
  row-gap:14px!important;
  min-height:238px!important;
  padding:30px 34px!important;
}
body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardBackIcon{
  grid-column:1!important;
  grid-row:1!important;
  align-self:start!important;
  justify-self:center!important;
  display:grid!important;
  place-items:center!important;
  width:44px!important;
  min-width:44px!important;
  height:44px!important;
  min-height:44px!important;
  padding:0!important;
  margin:0!important;
  border:1.5px solid #d8c9f3!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.84)!important;
  color:#633AC6!important;
  box-shadow:0 4px 12px rgba(73,47,126,.055)!important;
  text-decoration:none!important;
}
body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardBackIcon svg{
  width:20px!important;
  height:20px!important;
}
body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardBackIcon:is(:hover,:focus-visible){
  background:#f6f1fd!important;
  border-color:var(--wizard-accent)!important;
  color:var(--wizard-accent)!important;
  transform:translateX(-1px);
}
body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardHeroIcon{
  grid-column:1!important;
  grid-row:2!important;
  align-self:start!important;
  justify-self:center!important;
}
body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardHeroCopy{
  grid-column:2!important;
  grid-row:1 / span 2!important;
  align-self:center!important;
}
body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardHeroSide{
  grid-column:3!important;
  grid-row:1 / span 2!important;
  align-self:stretch!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:26px!important;
}
body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardLogo{
  display:block!important;
  width:auto!important;
  max-width:174px!important;
  max-height:74px!important;
  margin:0!important;
  padding:0!important;
  object-fit:contain!important;
  background:transparent!important;
}
body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardUpdated{
  margin-top:auto!important;
}

@media(max-width:1050px){
  body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardHero{
    grid-template-columns:58px minmax(0,1fr) minmax(190px,.42fr)!important;
    grid-template-rows:auto 1fr!important;
    min-height:220px!important;
  }
  body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardHeroSide{
    grid-column:3!important;
    grid-row:1 / span 2!important;
    display:flex!important;
    align-items:flex-end!important;
    justify-content:space-between!important;
  }
  body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardLogo{
    max-width:142px!important;
    max-height:64px!important;
  }
}

@media(max-width:760px){
  body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardHero{
    grid-template-columns:48px minmax(0,1fr) auto!important;
    grid-template-rows:auto auto auto!important;
    gap:14px!important;
    padding:18px!important;
  }
  body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardBackIcon{
    grid-column:1!important;
    grid-row:1!important;
    width:42px!important;
    min-width:42px!important;
    height:42px!important;
    min-height:42px!important;
  }
  body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardLogo{
    grid-column:auto!important;
    max-width:112px!important;
    max-height:52px!important;
  }
  body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardHeroSide{
    grid-column:3!important;
    grid-row:1!important;
    align-self:start!important;
    display:flex!important;
    min-width:112px!important;
  }
  body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardHeroSide .productWizardUpdated{
    position:absolute!important;
    left:18px!important;
    right:18px!important;
    bottom:18px!important;
    justify-content:flex-start!important;
    padding-left:0!important;
    border-left:0!important;
    font-size:10px!important;
  }
  body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardHeroIcon{
    grid-column:1!important;
    grid-row:2!important;
  }
  body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardHeroCopy{
    grid-column:2 / -1!important;
    grid-row:2!important;
    align-self:start!important;
    padding-bottom:50px!important;
  }
}

/* =========================================================
   YMYSY v3.17 — STANDARD GLOBALE LOGHI MODULI
   Approvato: stesso box logo per tutti i moduli reali.
   Desktop 150x72 · Tablet 142x64 · Mobile 136x56.
   Il file immagine mantiene le proporzioni con object-fit:contain.
   ========================================================= */

/* DESKTOP — > 1100px */
@media (min-width:1101px){
  body:not(.public) main.workspace:is(.workspace--traceability,.workspace--products) .moduleWorkspaceLogo,
  body:not(.public) main.workspace.workspace--nutrition .nutritionHeaderCompanyLogo,
  body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardLogo{
    box-sizing:border-box!important;
    width:150px!important;
    min-width:150px!important;
    max-width:150px!important;
    height:72px!important;
    min-height:72px!important;
    max-height:72px!important;
    padding:8px 10px!important;
    margin:0!important;
    object-fit:contain!important;
    object-position:center!important;
    background:#fff!important;
  }
}

/* TABLET — 761px / 1100px */
@media (min-width:761px) and (max-width:1100px){
  body:not(.public) main.workspace:is(.workspace--traceability,.workspace--products) .moduleWorkspaceLogo,
  body:not(.public) main.workspace.workspace--nutrition .nutritionHeaderCompanyLogo,
  body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardLogo{
    box-sizing:border-box!important;
    width:142px!important;
    min-width:142px!important;
    max-width:142px!important;
    height:64px!important;
    min-height:64px!important;
    max-height:64px!important;
    padding:7px 9px!important;
    margin:0!important;
    object-fit:contain!important;
    object-position:center!important;
    background:#fff!important;
  }
}

/* MOBILE — <= 760px */
@media (max-width:760px){
  body:not(.public) main.workspace:is(.workspace--traceability,.workspace--products) .moduleWorkspaceLogo,
  body:not(.public) main.workspace.workspace--nutrition .nutritionHeaderCompanyLogo,
  body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardLogo{
    box-sizing:border-box!important;
    width:136px!important;
    min-width:136px!important;
    max-width:136px!important;
    height:56px!important;
    min-height:56px!important;
    max-height:56px!important;
    padding:7px 9px!important;
    margin:0!important;
    object-fit:contain!important;
    object-position:center!important;
    background:#fff!important;
  }

  /* Il side del wizard deve riservare esattamente il box del logo standard. */
  body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardHeroSide{
    min-width:136px!important;
  }
}

/* =========================================================
   YMYSY v3.18 — ULTIMO AGGIORNAMENTO UNIFICATO NEI BANNER
   Standard unico derivato dalla Scheda prodotto guidata.
   Applicato a: Prodotti, Tracciabilità, Nutrizione e wizard Prodotti.
   Il colore dell'icona/divisore segue il modulo attivo.
   ========================================================= */
body:not(.public) main.workspace:is(.workspace--products,.workspace--traceability,.workspace--nutrition) .moduleHeroUpdated{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:11px!important;
  min-width:0!important;
  padding-left:18px!important;
  border-left:1px solid var(--module-line,#e5e7eb)!important;
  color:#5f6978!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:12px!important;
  line-height:1.25!important;
  white-space:nowrap!important;
  text-align:left!important;
}
body:not(.public) main.workspace:is(.workspace--products,.workspace--traceability,.workspace--nutrition) .moduleHeroUpdatedIcon{
  display:grid!important;
  place-items:center!important;
  flex:0 0 auto!important;
  width:34px!important;
  height:34px!important;
  color:var(--module-accent,#667085)!important;
}
body:not(.public) main.workspace:is(.workspace--products,.workspace--traceability,.workspace--nutrition) .moduleHeroUpdatedIcon svg{
  display:block!important;
  width:34px!important;
  height:34px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
body:not(.public) main.workspace:is(.workspace--products,.workspace--traceability,.workspace--nutrition) .moduleHeroUpdatedCopy{
  display:grid!important;
  gap:2px!important;
  min-width:0!important;
}
body:not(.public) main.workspace:is(.workspace--products,.workspace--traceability,.workspace--nutrition) .moduleHeroUpdatedCopy>span{
  display:block!important;
  margin:0!important;
  color:#687583!important;
  font-size:12px!important;
  font-weight:600!important;
  line-height:1.25!important;
}
body:not(.public) main.workspace:is(.workspace--products,.workspace--traceability,.workspace--nutrition) .moduleHeroUpdatedCopy>strong{
  display:block!important;
  margin:0!important;
  color:var(--module-ink,#26323a)!important;
  font-size:13px!important;
  font-weight:850!important;
  line-height:1.2!important;
}

/* I vecchi SVG diretti non devono più influire sul nuovo componente. */
body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardUpdated.moduleHeroUpdated>.moduleHeroUpdatedIcon svg,
body:not(.public) main.workspace.workspace--nutrition .nutritionUpdatedApproved.moduleHeroUpdated>.moduleHeroUpdatedIcon svg{
  width:34px!important;
  height:34px!important;
  color:var(--module-accent,#667085)!important;
}

/* Desktop: il blocco resta allineato sotto il logo in tutti i banner. */
@media (min-width:761px){
  body:not(.public) main.workspace:is(.workspace--products,.workspace--traceability) .moduleWorkspaceVisual .moduleHeroUpdated,
  body:not(.public) main.workspace.workspace--nutrition .nutritionHeroActionsApproved .moduleHeroUpdated,
  body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardHeroSide .moduleHeroUpdated{
    align-self:flex-end!important;
    width:auto!important;
    margin-top:auto!important;
  }
}

/* Mobile: stesso componente, più compatto e senza divisore verticale. */
@media (max-width:760px){
  body:not(.public) main.workspace:is(.workspace--products,.workspace--traceability,.workspace--nutrition) .moduleHeroUpdated{
    justify-content:flex-start!important;
    width:100%!important;
    gap:9px!important;
    padding-left:0!important;
    border-left:0!important;
    white-space:normal!important;
  }
  body:not(.public) main.workspace:is(.workspace--products,.workspace--traceability,.workspace--nutrition) .moduleHeroUpdatedIcon,
  body:not(.public) main.workspace:is(.workspace--products,.workspace--traceability,.workspace--nutrition) .moduleHeroUpdatedIcon svg{
    width:28px!important;
    height:28px!important;
  }
  body:not(.public) main.workspace:is(.workspace--products,.workspace--traceability,.workspace--nutrition) .moduleHeroUpdatedCopy>span{
    font-size:10.5px!important;
  }
  body:not(.public) main.workspace:is(.workspace--products,.workspace--traceability,.workspace--nutrition) .moduleHeroUpdatedCopy>strong{
    font-size:11.5px!important;
  }
}

/* =========================================================
   YMYSY v3.19 — GEOMETRIA DESTRA BANNER UNIFORME
   Riferimento approvato: Scheda prodotto guidata.
   Desktop: stessa quota verticale per logo e Ultimo aggiornamento:
   30px bordo superiore -> logo -> spazio elastico -> update -> 30px bordo inferiore.
   Applicato a Prodotti, Tracciabilità e Nutrizione.
   Colori restano quelli del modulo tramite --module-accent / --module-line.
   ========================================================= */
@media (min-width:1101px){
  /* La hero standard usa la stessa altezza/padding verticale del wizard. */
  body:not(.public) main.workspace.workspace--products .moduleWorkspaceHeader.moduleStandardHero,
  body:not(.public) main.workspace.workspace--traceability .moduleWorkspaceHeader.moduleStandardHero,
  body:not(.public) main.workspace.workspace--nutrition .nutritionHeroApproved.moduleStandardHero{
    min-height:238px!important;
    padding-top:30px!important;
    padding-bottom:30px!important;
  }

  /* Prodotti + Tracciabilità: colonna destra identica alla side del wizard. */
  body:not(.public) main.workspace:is(.workspace--products,.workspace--traceability) .moduleWorkspaceHeader.moduleStandardHero{
    align-items:stretch!important;
  }
  body:not(.public) main.workspace:is(.workspace--products,.workspace--traceability) .moduleWorkspaceHeader.moduleStandardHero .moduleWorkspaceVisual{
    align-self:stretch!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-end!important;
    justify-content:space-between!important;
    gap:0!important;
    min-height:0!important;
    height:auto!important;
  }
  body:not(.public) main.workspace:is(.workspace--products,.workspace--traceability) .moduleWorkspaceHeader.moduleStandardHero .moduleWorkspaceLogo{
    align-self:flex-end!important;
    flex:0 0 auto!important;
    margin:0!important;
  }
  body:not(.public) main.workspace:is(.workspace--products,.workspace--traceability) .moduleWorkspaceHeader.moduleStandardHero .moduleHeroUpdated{
    align-self:flex-end!important;
    flex:0 0 auto!important;
    margin:0!important;
  }

  /* Nutrizione: stessa regola top / bottom della colonna destra. */
  body:not(.public) main.workspace.workspace--nutrition .nutritionHeroApproved.moduleStandardHero{
    align-items:stretch!important;
  }
  body:not(.public) main.workspace.workspace--nutrition .nutritionHeroApproved.moduleStandardHero .nutritionHeroActionsApproved{
    align-self:stretch!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-end!important;
    justify-content:space-between!important;
    gap:0!important;
    min-height:0!important;
    height:auto!important;
    padding:0!important;
    margin:0!important;
  }
  body:not(.public) main.workspace.workspace--nutrition .nutritionHeroApproved.moduleStandardHero .nutritionHeaderCompanyLogo{
    align-self:flex-end!important;
    flex:0 0 auto!important;
    margin:0!important;
  }
  body:not(.public) main.workspace.workspace--nutrition .nutritionHeroApproved.moduleStandardHero .nutritionUpdatedApproved.moduleHeroUpdated{
    align-self:flex-end!important;
    flex:0 0 auto!important;
    margin:0!important;
  }

  /* Il wizard resta il riferimento esplicito: nessun margine aggiuntivo. */
  body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardHeroSide{
    justify-content:space-between!important;
    gap:0!important;
  }
  body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardHeroSide .productWizardLogo,
  body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardHeroSide .productWizardUpdated.moduleHeroUpdated{
    margin:0!important;
    flex:0 0 auto!important;
  }
}

/* =========================================================
   YMYSY v3.20 — FIX SPAZIO SOPRA WIZARD PRODOTTI
   Il banner globale Prodotti è soppresso nelle viste new/edit.
   v3.19 applicava la geometria dei banner anche a quell'header
   nascosto, reintroducendo min-height/padding e creando vuoto.
   Questo override finale mantiene solo il menu mobile flottante.
   ========================================================= */
body:not(.public) main.workspace.workspace--products > .workspaceHeader.productWizardGlobalHeader.moduleWorkspaceHeader.moduleStandardHero{
  min-height:0!important;
  height:0!important;
  max-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:transparent!important;
  overflow:visible!important;
}
body:not(.public) main.workspace.workspace--products > .workspaceHeader.productWizardGlobalHeader.moduleWorkspaceHeader.moduleStandardHero .moduleWorkspaceCopy,
body:not(.public) main.workspace.workspace--products > .workspaceHeader.productWizardGlobalHeader.moduleWorkspaceHeader.moduleStandardHero .moduleWorkspaceVisual{
  display:none!important;
}
@media (min-width:901px){
  body:not(.public) main.workspace.workspace--products > .workspaceHeader.productWizardGlobalHeader > .mobileMenuToggle{
    display:none!important;
  }
}

/* =========================================================
   YMYSY v3.21 — PRODUCT CARD FOOTER SURGICAL FIX
   Scope esclusivo: archivio Prodotti > footer delle card.
   Nessuna regola banner/hero/wizard/menu viene modificata.
   Obiettivo: evitare che "Prodotto singolo" / "N varianti"
   collassi verticalmente mantenendo 5 azioni sulla stessa riga.
   ========================================================= */
body:not(.public) main.workspace.workspace--products .productArchive .catalogProductCard footer{
  display:grid!important;
  grid-template-columns:minmax(104px,1fr) max-content!important;
  align-items:center!important;
  gap:10px!important;
  width:100%!important;
  min-width:0!important;
}
body:not(.public) main.workspace.workspace--products .productArchive .catalogProductCard footer>span{
  display:block!important;
  min-width:104px!important;
  width:auto!important;
  max-width:100%!important;
  white-space:nowrap!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  line-height:1.25!important;
}
body:not(.public) main.workspace.workspace--products .productArchive .catalogProductCardActions{
  justify-self:end!important;
  width:max-content!important;
  min-width:max-content!important;
  max-width:max-content!important;
  flex-wrap:nowrap!important;
  flex-shrink:0!important;
}

/* Tablet/mobile: se lo spazio della card diventa realmente insufficiente,
   il testo resta leggibile e le azioni rimangono comunque su una sola riga. */
@media (max-width:760px){
  body:not(.public) main.workspace.workspace--products .productArchive .catalogProductCard footer{
    grid-template-columns:minmax(90px,1fr) max-content!important;
    gap:8px!important;
  }
  body:not(.public) main.workspace.workspace--products .productArchive .catalogProductCard footer>span{
    min-width:90px!important;
    font-size:10px!important;
  }
}

/* =========================================================
   YMYSY v3.22 — PRODUCT CARD FOOTER TWO-ROW SURGICAL FIX
   Scope ESCLUSIVO: Prodotti > Archivio > footer card prodotto.
   Motivo: 5 azioni + etichetta laterale non possono convivere
   stabilmente sulla stessa riga nelle card strette.
   Soluzione: etichetta su riga 1, 5 azioni su riga 2, sempre
   orizzontali e interamente contenute nella card.
   Nessun banner / wizard / KPI / menu / routing coinvolto.
   ========================================================= */
body:not(.public) main.workspace.workspace--products.moduleInternalUI .productArchive .catalogProductCard footer,
body:not(.public) main.workspace.workspace--products .productArchive .catalogProductCard footer{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-areas:
    "card-meta"
    "card-actions"!important;
  align-items:center!important;
  justify-items:stretch!important;
  gap:10px!important;
  width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  padding-top:12px!important;
}

body:not(.public) main.workspace.workspace--products.moduleInternalUI .productArchive .catalogProductCard footer>span,
body:not(.public) main.workspace.workspace--products .productArchive .catalogProductCard footer>span{
  grid-area:card-meta!important;
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
  white-space:nowrap!important;
  overflow:visible!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  line-height:1.25!important;
  text-align:left!important;
}

body:not(.public) main.workspace.workspace--products.moduleInternalUI .productArchive .catalogProductCardActions,
body:not(.public) main.workspace.workspace--products .productArchive .catalogProductCardActions{
  grid-area:card-actions!important;
  display:flex!important;
  flex-flow:row nowrap!important;
  align-items:center!important;
  justify-content:flex-end!important;
  justify-self:end!important;
  gap:6px!important;
  width:max-content!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
}

body:not(.public) main.workspace.workspace--products.moduleInternalUI .productArchive .catalogProductCardActions>form,
body:not(.public) main.workspace.workspace--products .productArchive .catalogProductCardActions>form{
  flex:0 0 36px!important;
  width:36px!important;
  min-width:36px!important;
  max-width:36px!important;
  height:36px!important;
  margin:0!important;
  padding:0!important;
}

body:not(.public) main.workspace.workspace--products.moduleInternalUI .productArchive .catalogProductCardActions :is(a,button),
body:not(.public) main.workspace.workspace--products .productArchive .catalogProductCardActions :is(a,button){
  flex:0 0 36px!important;
  width:36px!important;
  min-width:36px!important;
  max-width:36px!important;
  height:36px!important;
  min-height:36px!important;
  max-height:36px!important;
}

/* Su schermi stretti restano comunque una sola riga di azioni. */
@media (max-width:760px){
  body:not(.public) main.workspace.workspace--products .productArchive .catalogProductCard footer{
    gap:8px!important;
  }
}

/* =========================================================
   YMYSY v3.24 — PDF SOLO SCHEDA PRODOTTO + TOOLBAR SCREEN FIX
   BASE: v3.22
   SCOPO CHIRURGICO:
   1) In stampa/PDF mostra esclusivamente .catalogReadView.
   2) Ripristina i pulsanti Stampa/Chiudi come rettangolari SOLO nella toolbar print-mode a schermo.
   Nessun impatto su card archivio, KPI, wizard, banner normali o altri moduli.
========================================================= */

/* Toolbar della pagina ?print=1: pulsanti leggibili e NON circolari. */
body.catalog-print-mode .catalogPrintToolbar .button,
body.catalog-print-mode .catalogPrintToolbar button.button,
body.catalog-print-mode .catalogPrintToolbar a.button{
  width:auto!important;
  min-width:0!important;
  height:auto!important;
  min-height:42px!important;
  padding:10px 16px!important;
  border-radius:10px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  white-space:nowrap!important;
  line-height:1.2!important;
  font-size:14px!important;
}

@media print {
  @page{
    size:A4;
    margin:10mm;
  }

  /* Nasconde la shell applicativa. */
  html body.catalog-print-mode .appSidebar,
  html body.catalog-print-mode .sidebar,
  html body.catalog-print-mode .mobileMenuOverlay{
    display:none!important;
  }

  /* Regola robusta: nel workspace Prodotti si stampa SOLO la scheda. */
  html body.catalog-print-mode main.workspace.workspace--products > *:not(.catalogReadView){
    display:none!important;
  }

  /* Elementi interni alla scheda utili a schermo ma non nel PDF. */
  html body.catalog-print-mode .catalogReadView .catalogPrintToolbar,
  html body.catalog-print-mode .catalogReadView .catalogPrintMasthead,
  html body.catalog-print-mode .catalogReadView .catalogReadActions,
  html body.catalog-print-mode .catalogReadView [data-read-toggle],
  html body.catalog-print-mode .catalogReadView .catalogImageZoom,
  html body.catalog-print-mode .catalogReadView dialog{
    display:none!important;
  }

  html body.catalog-print-mode,
  html body.catalog-print-mode main.workspace.workspace--products,
  html body.catalog-print-mode .catalogReadView{
    margin:0!important;
    padding:0!important;
    width:100%!important;
    max-width:none!important;
    background:#fff!important;
  }

  html body.catalog-print-mode .catalogReadView{
    display:block!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
  }

  html body.catalog-print-mode .catalogReadHeader{
    margin-top:0!important;
    padding-top:0!important;
  }

  html body.catalog-print-mode *{
    -webkit-print-color-adjust:exact;
    print-color-adjust:exact;
  }
}

/* =========================================================
   YMYSY v3.25 — PRINT TOOLBAR ROUND ICONS (SURGICAL)
   Scope ESCLUSIVO: pagina Prodotti ?print=1, toolbar a schermo.
   Non modifica gli altri pulsanti dell'app.
   ========================================================= */
body.catalog-print-mode .catalogPrintToolbar .catalogPrintToolbarActions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  flex-wrap:nowrap!important;
}
body.catalog-print-mode .catalogPrintToolbar .catalogPrintIconAction{
  box-sizing:border-box!important;
  flex:0 0 46px!important;
  width:46px!important;
  min-width:46px!important;
  max-width:46px!important;
  height:46px!important;
  min-height:46px!important;
  max-height:46px!important;
  padding:0!important;
  margin:0!important;
  border-radius:999px!important;
  border:2px solid #8b63d9!important;
  background:#fff!important;
  color:#8b63d9!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1!important;
  font-size:0!important;
  overflow:visible!important;
  cursor:pointer!important;
  transition:background .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease!important;
}
body.catalog-print-mode .catalogPrintToolbar .catalogPrintIconAction svg{
  width:21px!important;
  height:21px!important;
  display:block!important;
  flex:none!important;
}
body.catalog-print-mode .catalogPrintToolbar .catalogPrintIconAction--primary{
  background:#8b63d9!important;
  color:#fff!important;
}
body.catalog-print-mode .catalogPrintToolbar .catalogPrintIconAction:hover{
  background:#8b63d9!important;
  color:#fff!important;
  transform:translateY(-1px)!important;
  box-shadow:0 8px 18px rgba(139,99,217,.18)!important;
}
body.catalog-print-mode .catalogPrintToolbar .catalogPrintIconAction:focus-visible{
  outline:3px solid rgba(139,99,217,.24)!important;
  outline-offset:3px!important;
}
@media (max-width:760px){
  body.catalog-print-mode .catalogPrintToolbar .catalogPrintIconAction{
    flex-basis:42px!important;
    width:42px!important;
    min-width:42px!important;
    max-width:42px!important;
    height:42px!important;
    min-height:42px!important;
    max-height:42px!important;
  }
  body.catalog-print-mode .catalogPrintToolbar .catalogPrintIconAction svg{
    width:19px!important;
    height:19px!important;
  }
}

/* =========================================================
   YMYSY v3.26 — CONFIGURAZIONE CAMPI PRODOTTO / UI APPROVATA
   Scope chirurgico: solo .fieldSettingsPage
   ========================================================= */
.fieldSettingsPage{
  --field-accent:#8156df;
  --field-accent-strong:#6840c9;
  --field-accent-soft:#f1ebff;
  --field-accent-line:#dfd1ff;
  --field-ink:#22183e;
  --field-muted:#6f7b8d;
  --field-line:#e7e2ef;
  --field-soft:#fbfaff;
  max-width:1380px;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.fieldSettingsPage .fieldSettingsHero{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) 300px;
  gap:28px;
  align-items:center;
  min-height:225px;
  margin:0 0 22px!important;
  padding:38px 42px!important;
  overflow:hidden;
  border:1px solid var(--field-accent-line);
  border-radius:28px;
  background:
    radial-gradient(circle at 68% 18%,rgba(255,255,255,.84) 0 19%,transparent 42%),
    linear-gradient(120deg,#fff 0%,#fbf8ff 50%,#f4efff 100%);
}
.fieldSettingsPage .fieldSettingsHero::after{
  content:"";
  position:absolute;
  width:620px;
  height:260px;
  right:-120px;
  top:-78px;
  border:1px solid rgba(129,86,223,.08);
  border-radius:50%;
  transform:rotate(8deg);
  pointer-events:none;
}
.fieldSettingsPage .fieldSettingsHeroCopy{position:relative;z-index:1;min-width:0}
.fieldSettingsPage .fieldSettingsHero .eyebrow{
  margin:0 0 12px;
  color:var(--field-accent-strong);
  font-size:13px;
  font-weight:900;
  letter-spacing:.08em;
}
.fieldSettingsPage .fieldSettingsHero h2{
  margin:0;
  color:var(--field-ink);
  font-size:clamp(34px,3.1vw,48px);
  line-height:1.02;
  letter-spacing:-.035em;
}
.fieldSettingsPage .fieldSettingsHeroCopy>p:last-child{
  max-width:780px;
  margin:18px 0 0;
  color:var(--field-muted);
  font-size:18px;
  line-height:1.45;
}
.fieldSettingsPage .fieldSettingsHeroSide{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  justify-content:center;
  gap:24px;
}
.fieldSettingsPage .fieldSettingsHeroLogo{
  width:150px!important;
  height:72px!important;
  padding:10px 14px;
  object-fit:contain;
  background:#fff;
  box-sizing:border-box;
}
.fieldSettingsPage .fieldSettingsHeroUpdated{
  color:var(--field-accent)!important;
}
.fieldSettingsPage .fieldSettingsHeroUpdated::before{
  content:"";
  width:1px;
  height:44px;
  margin-right:14px;
  background:var(--field-accent-line);
}
.fieldSettingsPage .fieldSettingsHeroUpdated .moduleHeroUpdatedIcon{
  border-color:var(--field-accent)!important;
  color:var(--field-accent)!important;
}
.fieldSettingsPage .fieldSettingsHeroUpdated .moduleHeroUpdatedCopy span{color:var(--field-muted)!important}
.fieldSettingsPage .fieldSettingsHeroUpdated .moduleHeroUpdatedCopy strong{color:var(--field-ink)!important}

.fieldSettingsPage form{
  margin-top:8px!important;
  padding:26px 28px 28px;
  border:1px solid var(--field-accent-line);
  border-radius:26px;
  background:#fff;
  box-shadow:0 18px 48px rgba(49,36,82,.04);
}
.fieldSettingsPage .fieldStepTabs{
  display:flex;
  gap:12px;
  margin:0 0 22px;
  padding:0 0 2px;
  overflow-x:auto;
  scrollbar-width:thin;
}
.fieldSettingsPage .fieldStepTabs button{
  position:relative;
  flex:0 0 auto;
  width:auto;
  min-height:50px;
  padding:12px 18px 12px 48px!important;
  border:1.5px solid #44515f!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#33424f!important;
  font-size:14px!important;
  font-weight:800!important;
  box-shadow:0 1px 0 rgba(20,26,38,.03)!important;
}
.fieldSettingsPage .fieldStepTabs button::before{
  position:absolute;
  left:17px;
  top:50%;
  transform:translateY(-50%);
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  font-size:18px;
  line-height:1;
  color:currentColor;
}
.fieldSettingsPage .fieldStepTabs button:nth-child(1)::before{content:"☷"}
.fieldSettingsPage .fieldStepTabs button:nth-child(2)::before{content:"⌁"}
.fieldSettingsPage .fieldStepTabs button:nth-child(3)::before{content:"▤"}
.fieldSettingsPage .fieldStepTabs button.active::before{color:var(--field-accent)!important}
.fieldSettingsPage .fieldStepTabs button:hover{
  background:#faf7ff!important;
  border-color:#596775!important;
}
.fieldSettingsPage .fieldStepTabs button.active{
  border-color:#2f3d4a!important;
  background:linear-gradient(180deg,#ffffff,#faf7ff)!important;
  color:#243241!important;
  box-shadow:0 6px 16px rgba(44,34,83,.06)!important;
}
.fieldSettingsPage .fieldSettingsGroup{margin-top:0}
.fieldSettingsPage .fieldSettingsTable{
  width:100%;
  table-layout:fixed;
  border:1px solid var(--field-line)!important;
  border-collapse:separate;
  border-spacing:0;
  border-radius:18px!important;
  overflow:hidden;
  background:#fff;
}
.fieldSettingsPage .fieldSettingsTable th{
  padding:15px 13px!important;
  border-bottom:1px solid var(--field-line)!important;
  background:linear-gradient(180deg,#fcfbff,#faf9fd)!important;
  color:#4d4565!important;
  font-size:11px!important;
  font-weight:900!important;
  letter-spacing:.04em;
  text-transform:none!important;
}
.fieldSettingsPage .fieldSettingsTable th:nth-child(1){width:20%}
.fieldSettingsPage .fieldSettingsTable th:nth-child(2),
.fieldSettingsPage .fieldSettingsTable th:nth-child(3){width:8%;text-align:center}
.fieldSettingsPage .fieldSettingsTable th:nth-child(4){width:24%}
.fieldSettingsPage .fieldSettingsTable th:nth-child(5){width:32%}
.fieldSettingsPage .fieldSettingsTable th:nth-child(6){width:8%;text-align:center}
.fieldSettingsPage .fieldSettingsTable td{
  padding:14px 13px!important;
  border-bottom:1px solid var(--field-line)!important;
  vertical-align:middle;
  background:#fff;
}
.fieldSettingsPage .fieldSettingsTable tbody tr:last-child td{border-bottom:0!important}
.fieldSettingsPage .fieldSettingsTable tbody tr:nth-child(even) td{background:#fff!important}
.fieldSettingsPage .fieldSettingsTable tbody tr:hover td{background:#fcfaff!important}
.fieldSettingsPage .fieldIdentity{
  position:relative;
  display:grid!important;
  grid-template-columns:22px minmax(0,1fr);
  align-items:center;
  gap:10px;
}
.fieldSettingsPage .fieldIdentity::before{
  content:"⋮⋮";
  position:absolute;
  left:-8px;
  top:50%;
  transform:translateY(-50%) rotate(90deg);
  color:#9d91bb;
  font-size:13px;
  letter-spacing:-3px;
  opacity:.9;
}
.fieldSettingsPage .fieldIdentityIcon{
  width:22px;
  height:22px;
  border-radius:6px;
  display:grid;
  place-items:center;
  background:var(--field-accent-soft);
  color:var(--field-accent);
  font-size:12px;
  font-weight:900;
}
.fieldSettingsPage .fieldIdentityIcon::before{content:"◇"}
.fieldSettingsPage tr[data-field-key*="image"] .fieldIdentityIcon::before{content:"▧"}
.fieldSettingsPage tr[data-field-key*="sku"] .fieldIdentityIcon::before{content:"SKU";font-size:8px}
.fieldSettingsPage tr[data-field-key*="article"] .fieldIdentityIcon::before{content:"▥"}
.fieldSettingsPage tr[data-field-key*="brand"] .fieldIdentityIcon::before{content:"◇"}
.fieldSettingsPage .fieldIdentityCopy{min-width:0}
.fieldSettingsPage .fieldIdentity strong,
.fieldSettingsPage .fieldIdentity small{display:block}
.fieldSettingsPage .fieldIdentity strong{
  color:var(--field-ink);
  font-size:14px;
  line-height:1.25;
}
.fieldSettingsPage .fieldIdentity small{
  margin-top:4px;
  color:#8b84a0;
  font-size:10px;
  line-height:1.3;
  overflow-wrap:anywhere;
}
.fieldSettingsPage .fieldSettingsTable input:not([type="checkbox"]),
.fieldSettingsPage .fieldSettingsTable textarea{
  width:100%;
  max-width:100%;
  margin:0;
  border:1px solid #ded9e7!important;
  border-radius:11px!important;
  background:#fff!important;
  color:var(--field-ink)!important;
  box-shadow:none!important;
}
.fieldSettingsPage .fieldSettingsTable input:not([type="checkbox"]):focus,
.fieldSettingsPage .fieldSettingsTable textarea:focus{
  border-color:var(--field-accent)!important;
  outline:3px solid rgba(129,86,223,.11)!important;
  outline-offset:0!important;
}
.fieldSettingsPage .fieldSettingsTable textarea{
  min-height:64px!important;
  height:64px!important;
  padding:10px 11px!important;
  resize:vertical;
  line-height:1.35;
}
.fieldSettingsPage .fieldSettingsTable .fieldBoolean{text-align:center}
.fieldSettingsPage .fieldSwitch{
  position:relative;
  display:inline-block!important;
  width:44px!important;
  height:25px!important;
  margin:0;
  cursor:pointer;
}
.fieldSettingsPage .fieldSwitch span{
  display:block;
  width:44px!important;
  height:25px!important;
  border-radius:999px!important;
  background:#e3e0eb!important;
  box-shadow:inset 0 0 0 1px #d7d1e2!important;
}
.fieldSettingsPage .fieldSwitch span::after{
  content:"";
  display:block;
  width:19px!important;
  height:19px!important;
  margin:3px!important;
  border-radius:50%;
  background:#fff;
  box-shadow:0 2px 5px rgba(41,30,70,.18);
  transition:transform .18s ease;
}
.fieldSettingsPage .fieldSwitch input:checked+span{
  background:linear-gradient(135deg,var(--field-accent-strong),var(--field-accent))!important;
  box-shadow:none!important;
}
.fieldSettingsPage .fieldSwitch input:checked+span::after{transform:translateX(19px)!important}
.fieldSettingsPage .fieldSwitch input:focus-visible+span{
  outline:3px solid rgba(129,86,223,.18)!important;
  outline-offset:2px;
}
.fieldSettingsPage .fieldSettingsTable .fieldOrder input{
  width:62px!important;
  height:46px;
  margin:auto!important;
  text-align:center;
  font-weight:800;
}
.fieldSettingsPage .fieldSettingsActions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin-top:18px;
}
.fieldSettingsPage .fieldSettingsActions button{
  min-width:180px;
  min-height:44px;
  border-radius:11px!important;
}
.fieldSettingsPage .fieldSettingsActions button[type="submit"]{
  border-color:var(--field-accent)!important;
  background:linear-gradient(135deg,var(--field-accent-strong),var(--field-accent))!important;
  color:#fff!important;
}
.fieldSettingsPage .fieldSettingsActions .fieldResetButton{
  border:1px solid var(--field-accent-line)!important;
  background:#fff!important;
  color:var(--field-accent-strong)!important;
}

@media (max-width:980px){
  .fieldSettingsPage .fieldSettingsHero{
    grid-template-columns:1fr;
    min-height:0;
    padding:30px!important;
  }
  .fieldSettingsPage .fieldSettingsHeroSide{
    display:grid;
    grid-template-columns:auto 1fr;
    align-items:center;
    justify-items:start;
    gap:18px;
  }
  .fieldSettingsPage .fieldSettingsHeroLogo{width:142px!important;height:64px!important}
  .fieldSettingsPage form{padding:20px}
}
@media (max-width:760px){
  .fieldSettingsPage .fieldSettingsHero{
    margin-bottom:16px!important;
    padding:24px 20px!important;
    border-radius:24px;
  }
  .fieldSettingsPage .fieldSettingsHero h2{font-size:34px}
  .fieldSettingsPage .fieldSettingsHeroCopy>p:last-child{font-size:16px}
  .fieldSettingsPage .fieldSettingsHeroSide{
    grid-template-columns:1fr;
    gap:14px;
  }
  .fieldSettingsPage .fieldSettingsHeroLogo{width:136px!important;height:56px!important}
  .fieldSettingsPage .fieldSettingsHeroUpdated::before{display:none}
  .fieldSettingsPage form{
    padding:16px;
    border-radius:22px;
  }
  .fieldSettingsPage .fieldStepTabs{gap:8px;margin-bottom:16px}
  .fieldSettingsPage .fieldStepTabs button{min-height:44px;padding:10px 14px 10px 42px!important;font-size:12px!important}
  .fieldSettingsPage .fieldStepTabs button::before{left:14px}
  .fieldSettingsPage .fieldSettingsTable,
  .fieldSettingsPage .fieldSettingsTable tbody,
  .fieldSettingsPage .fieldSettingsTable tr,
  .fieldSettingsPage .fieldSettingsTable td{display:block;width:100%}
  .fieldSettingsPage .fieldSettingsTable{border:0!important;border-radius:0!important;background:transparent}
  .fieldSettingsPage .fieldSettingsTable thead{display:none}
  .fieldSettingsPage .fieldSettingsTable tbody{display:grid;gap:12px}
  .fieldSettingsPage .fieldSettingsTable tbody tr{
    padding:14px;
    border:1px solid var(--field-line);
    border-radius:16px;
    background:#fff!important;
  }
  .fieldSettingsPage .fieldSettingsTable td{
    display:grid!important;
    grid-template-columns:minmax(105px,34%) minmax(0,1fr);
    align-items:center;
    gap:10px;
    padding:8px 0!important;
    border:0!important;
    background:#fff!important;
  }
  .fieldSettingsPage .fieldSettingsTable td::before{
    content:attr(data-label);
    color:#8b84a0;
    font-size:10px;
    font-weight:900;
    letter-spacing:.04em;
    text-transform:uppercase;
  }
  .fieldSettingsPage .fieldSettingsTable .fieldIdentity{
    display:grid!important;
    grid-template-columns:22px minmax(0,1fr)!important;
    padding-bottom:12px!important;
    margin-bottom:4px;
    border-bottom:1px solid var(--field-line)!important;
  }
  .fieldSettingsPage .fieldSettingsTable .fieldIdentity::before{display:none}
  .fieldSettingsPage .fieldSettingsTable .fieldIdentity::after{display:none}
  .fieldSettingsPage .fieldSettingsTable .fieldBoolean{text-align:left}
  .fieldSettingsPage .fieldBoolean label{justify-self:start}
  .fieldSettingsPage .fieldSettingsTable .fieldOrder input{width:86px!important;margin:0!important}
  .fieldSettingsPage .fieldSettingsActions{display:grid;gap:8px;position:sticky;bottom:0;padding:12px 0;background:linear-gradient(transparent,#fff 24%)}
  .fieldSettingsPage .fieldSettingsActions button{width:100%;min-width:0}
}

/* =========================================================
   YMYSY v3.28 — CONFIGURAZIONE CAMPI PRODOTTO / PACCHETTO UNICO
   1) Step coerenti con il resto del modulo
   2) Geometria tabella corretta
   3) Icone rimosse per coerenza visiva
   Scope: solo .fieldSettingsPage
   ========================================================= */

/* 1. STEP: linguaggio visivo sobrio e coerente con l'altra sezione */
.fieldSettingsPage .fieldStepTabs{
  align-items:center!important;
  gap:12px!important;
}
.fieldSettingsPage .fieldStepTabs button{
  min-height:50px!important;
  padding:12px 18px!important;
  border:1.5px solid #42515f!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#2f3c49!important;
  box-shadow:none!important;
}
.fieldSettingsPage .fieldStepTabs button::before{
  display:none!important;
  content:none!important;
}
.fieldSettingsPage .fieldStepTabs button:hover{
  border-color:#6f56b8!important;
  background:#faf8ff!important;
  color:#3e2e6b!important;
}
.fieldSettingsPage .fieldStepTabs button.active{
  border-color:#6f56b8!important;
  background:#f6f1ff!important;
  color:#4d338f!important;
  box-shadow:0 0 0 1px rgba(111,86,184,.05)!important;
}

/* 2. TABELLA: il TD della prima colonna resta una vera table-cell.
      Evita blocchi bianchi, righe spezzate e disallineamenti. */
.fieldSettingsPage .fieldSettingsTable{
  border-collapse:separate!important;
  border-spacing:0!important;
}
.fieldSettingsPage .fieldSettingsTable tbody tr{
  background:#fff!important;
}
.fieldSettingsPage .fieldSettingsTable td{
  display:table-cell!important;
  background:#fff!important;
  vertical-align:middle!important;
}
.fieldSettingsPage .fieldSettingsTable tbody tr:nth-child(even) td,
.fieldSettingsPage .fieldSettingsTable tbody tr:hover td{
  background:#fff!important;
}
.fieldSettingsPage .fieldSettingsTable td.fieldIdentity{
  display:table-cell!important;
  position:relative!important;
  padding:14px 16px!important;
  vertical-align:middle!important;
}
.fieldSettingsPage .fieldIdentityCopy{
  display:block!important;
  min-width:0!important;
}
.fieldSettingsPage .fieldIdentity strong{
  display:block!important;
  margin:0!important;
  color:var(--field-ink)!important;
  font-size:14px!important;
  line-height:1.25!important;
}
.fieldSettingsPage .fieldIdentity small{
  display:block!important;
  margin-top:5px!important;
  color:#8b84a0!important;
  font-size:10px!important;
  line-height:1.3!important;
}

/* 3. ICONE: nessun simbolo generico o incoerente tra i diversi campi. */
.fieldSettingsPage .fieldIdentityIcon,
.fieldSettingsPage .fieldIdentity::before{
  display:none!important;
  content:none!important;
}

/* Mantiene le linee orizzontali continue su tutta la tabella */
.fieldSettingsPage .fieldSettingsTable tbody tr:not(:last-child) td{
  border-bottom:1px solid var(--field-line)!important;
}
.fieldSettingsPage .fieldSettingsTable tbody tr:last-child td{
  border-bottom:0!important;
}

/* Mobile: stessa logica, senza colonna icona fantasma */
@media (max-width:760px){
  .fieldSettingsPage .fieldStepTabs button{
    padding:10px 14px!important;
  }
  .fieldSettingsPage .fieldSettingsTable,
  .fieldSettingsPage .fieldSettingsTable tbody,
  .fieldSettingsPage .fieldSettingsTable tr,
  .fieldSettingsPage .fieldSettingsTable td{
    display:block!important;
    width:100%!important;
  }
  .fieldSettingsPage .fieldSettingsTable td.fieldIdentity{
    display:block!important;
    padding:10px 0 12px!important;
  }
  .fieldSettingsPage .fieldSettingsTable .fieldIdentity{
    grid-template-columns:1fr!important;
  }
  .fieldSettingsPage .fieldIdentityIcon,
  .fieldSettingsPage .fieldIdentity::before{
    display:none!important;
  }
}


/* =========================================================
   YMYSY v3.29 — CONFIGURAZIONE CAMPI PRODOTTO
   Come la Scheda prodotto guidata: il banner globale "Prodotti"
   viene soppresso in questa vista, lasciando come unica hero
   il banner dedicato "Configurazione campi prodotto".
   Nessuna modifica a logica, salvataggio o database.
   ========================================================= */
body:not(.public) main.workspace.workspace--products > .workspaceHeader.fieldSettingsGlobalHeader.moduleWorkspaceHeader.moduleStandardHero{
  min-height:0!important;
  height:0!important;
  max-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:transparent!important;
  overflow:visible!important;
}
body:not(.public) main.workspace.workspace--products > .workspaceHeader.fieldSettingsGlobalHeader.moduleWorkspaceHeader.moduleStandardHero .moduleWorkspaceCopy,
body:not(.public) main.workspace.workspace--products > .workspaceHeader.fieldSettingsGlobalHeader.moduleWorkspaceHeader.moduleStandardHero .moduleWorkspaceVisual{
  display:none!important;
}
@media (min-width:901px){
  body:not(.public) main.workspace.workspace--products > .workspaceHeader.fieldSettingsGlobalHeader > .mobileMenuToggle{
    display:none!important;
  }
}


/* =========================================================
   YMYSY v3.30 — CONFIG CAMPI HERO SCOLLEGATA
   La hero "Configurazione campi prodotto" deve risultare
   scollegata e autonoma come nella Scheda prodotto guidata.
   - il vecchio header globale viene nascosto davvero su desktop
   - la pagina guadagna un leggero inset laterale
   - hero e card contenuto restano separati visivamente
   ========================================================= */
body:not(.public) main.workspace.workspace--products .fieldSettingsPage{
  margin-top:18px!important;
  padding:0 12px!important;
}
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldSettingsHero{
  margin:0 0 26px!important;
}
body:not(.public) main.workspace.workspace--products .fieldSettingsPage form{
  margin-top:0!important;
}
@media (min-width:901px){
  body:not(.public) main.workspace.workspace--products > .workspaceHeader.fieldSettingsGlobalHeader.moduleWorkspaceHeader.moduleStandardHero{
    display:none!important;
  }
}
@media (max-width:760px){
  body:not(.public) main.workspace.workspace--products .fieldSettingsPage{
    padding:0 6px!important;
    margin-top:12px!important;
  }
}


/* =========================================================
   YMYSY v3.31 — FIX REALE HERO CONFIG CAMPI SCOLLEGATA
   Il bordo esterno che vedi nello screenshot non deve esistere.
   La section .panel.catalogPage.fieldSettingsPage viene resa
   completamente neutra, così restano visibili SOLO le due card
   interne: hero + box configurazione.
   ========================================================= */
body:not(.public) main.workspace.workspace--products section.panel.catalogPage.fieldSettingsPage{
  width:100%!important;
  max-width:1480px!important;
  margin:18px auto 22px!important;
  padding:0 12px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
body:not(.public) main.workspace.workspace--products section.panel.catalogPage.fieldSettingsPage::before,
body:not(.public) main.workspace.workspace--products section.panel.catalogPage.fieldSettingsPage::after{
  display:none!important;
  content:none!important;
}
body:not(.public) main.workspace.workspace--products section.panel.catalogPage.fieldSettingsPage > .pageHead.fieldSettingsHero{
  margin:0 0 26px!important;
}
body:not(.public) main.workspace.workspace--products section.panel.catalogPage.fieldSettingsPage > form{
  margin:0!important;
}
@media (max-width:760px){
  body:not(.public) main.workspace.workspace--products section.panel.catalogPage.fieldSettingsPage{
    padding:0 6px!important;
    margin-top:12px!important;
  }
  body:not(.public) main.workspace.workspace--products section.panel.catalogPage.fieldSettingsPage > .pageHead.fieldSettingsHero{
    margin-bottom:18px!important;
  }
}


/* =========================================================
   YMYSY v3.32 — FIX DOPPIO SEPARATORE ULTIMO AGGIORNAMENTO
   Mantiene solo il border-left standard e rimuove il ::before
   aggiuntivo della hero Configurazione campi prodotto.
   ========================================================= */
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldSettingsHeroUpdated{
  border-left:1px solid var(--field-accent-line)!important;
}
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldSettingsHeroUpdated::before{
  display:none!important;
  content:none!important;
}

/* =========================================================
   YMYSY v3.33 — STEP CONFIGURAZIONE CAMPI / MOCKUP APPROVATO
   Tre card coerenti con il linguaggio UI lavanda del modulo.
   Icone semantiche dedicate: Identificazione / Dati tecnici /
   Informazioni e contenuti. Nessun simbolo Unicode generico.
   ========================================================= */
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabs{
  display:grid!important;
  grid-template-columns:minmax(250px,1fr) minmax(250px,1fr) minmax(330px,1.45fr)!important;
  gap:18px!important;
  width:100%!important;
  margin:0 0 28px!important;
  padding:0!important;
  overflow:visible!important;
}
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabs button{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:16px!important;
  width:100%!important;
  min-width:0!important;
  min-height:78px!important;
  padding:14px 22px!important;
  border:1px solid #e4dff0!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,#fff 0%,#fdfcff 100%)!important;
  color:#52466e!important;
  box-shadow:0 7px 20px rgba(69,48,112,.035)!important;
  font-size:16px!important;
  font-weight:750!important;
  line-height:1.25!important;
  text-align:left!important;
  transition:border-color .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease!important;
}
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabs button::before,
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabs button::after{
  display:none!important;
  content:none!important;
}
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabIcon{
  display:grid!important;
  place-items:center!important;
  flex:0 0 48px!important;
  width:48px!important;
  height:48px!important;
  border:1px solid #ece6f8!important;
  border-radius:50%!important;
  background:#f7f3fd!important;
  color:#69538f!important;
}
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabIcon svg{
  display:block!important;
  width:25px!important;
  height:25px!important;
}
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabLabel{
  display:block!important;
  min-width:0!important;
  white-space:normal!important;
}
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabs button:hover{
  border-color:#cdbcf0!important;
  background:#fbf8ff!important;
  color:#493a68!important;
  transform:translateY(-1px)!important;
  box-shadow:0 10px 24px rgba(96,66,154,.07)!important;
}
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabs button.active{
  border-color:#c8aef8!important;
  background:linear-gradient(135deg,#fbf7ff 0%,#f4ecff 100%)!important;
  color:#7549dd!important;
  box-shadow:0 10px 26px rgba(119,75,218,.10)!important;
}
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabs button.active .fieldStepTabIcon{
  border-color:#d8c5ff!important;
  background:linear-gradient(145deg,#f1e8ff,#e8dcff)!important;
  color:#7b4ce3!important;
}
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabs button:focus-visible{
  outline:3px solid rgba(123,76,227,.18)!important;
  outline-offset:3px!important;
}
@media (max-width:1100px){
  body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabs{
    grid-template-columns:1fr 1fr!important;
  }
  body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabs button:nth-child(3){
    grid-column:1/-1!important;
  }
}
@media (max-width:760px){
  body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabs{
    display:flex!important;
    gap:10px!important;
    margin-bottom:18px!important;
    overflow-x:auto!important;
    scrollbar-width:none!important;
    scroll-snap-type:x proximity;
  }
  body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabs::-webkit-scrollbar{display:none!important}
  body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabs button,
  body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabs button:nth-child(3){
    flex:0 0 auto!important;
    width:auto!important;
    min-width:235px!important;
    min-height:66px!important;
    padding:11px 16px!important;
    gap:12px!important;
    border-radius:16px!important;
    scroll-snap-align:start;
  }
  body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabIcon{
    flex-basis:42px!important;
    width:42px!important;
    height:42px!important;
  }
  body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabIcon svg{
    width:22px!important;
    height:22px!important;
  }
  body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabs button{
    font-size:14px!important;
  }
}


/* =========================================================
   YMYSY v3.34 — STEP CONFIG CAMPI PIÙ COMPATTI + HOVER VIOLA
   Riduce dimensione delle card step e blocca ogni hover verde.
   ========================================================= */
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabs{
  grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) minmax(280px,1.2fr)!important;
  gap:14px!important;
  margin:0 0 22px!important;
}
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabs button{
  gap:14px!important;
  min-height:64px!important;
  padding:11px 18px!important;
  border:1px solid #d8ccef!important;
  border-radius:15px!important;
  background:#fff!important;
  color:#56467b!important;
  box-shadow:0 4px 14px rgba(88,64,145,.035)!important;
  font-size:14px!important;
  font-weight:740!important;
}
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabIcon{
  flex:0 0 40px!important;
  width:40px!important;
  height:40px!important;
  border:1px solid #e5dbf6!important;
  background:#f6f1fd!important;
  color:#7851d8!important;
}
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabIcon svg{
  width:21px!important;
  height:21px!important;
}
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabs button .fieldStepTabLabel{
  color:inherit!important;
}
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabs button:hover,
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabs button[aria-selected="false"]:hover{
  border-color:#ccb7f3!important;
  background:#fcf9ff!important;
  color:#6942d2!important;
  box-shadow:0 8px 20px rgba(113,77,203,.08)!important;
  transform:translateY(-1px)!important;
}
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabs button:hover .fieldStepTabIcon,
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabs button[aria-selected="false"]:hover .fieldStepTabIcon{
  border-color:#dac9fb!important;
  background:#f2eaff!important;
  color:#7549dd!important;
}
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabs button.active,
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabs button[aria-selected="true"]{
  border-color:#c8aef8!important;
  background:linear-gradient(135deg,#fbf7ff 0%,#f4ecff 100%)!important;
  color:#7549dd!important;
  box-shadow:0 8px 22px rgba(119,75,218,.10)!important;
}
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabs button.active .fieldStepTabIcon,
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabs button[aria-selected="true"] .fieldStepTabIcon{
  border-color:#d8c5ff!important;
  background:linear-gradient(145deg,#f1e8ff,#e8dcff)!important;
  color:#7b4ce3!important;
}
@media (max-width:760px){
  body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabs{
    gap:8px!important;
    margin-bottom:16px!important;
  }
  body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabs button,
  body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabs button:nth-child(3){
    min-width:210px!important;
    min-height:58px!important;
    padding:10px 14px!important;
    gap:10px!important;
    border-radius:14px!important;
    font-size:13px!important;
  }
  body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabIcon{
    flex-basis:36px!important;
    width:36px!important;
    height:36px!important;
  }
  body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabIcon svg{
    width:19px!important;
    height:19px!important;
  }
}


/* =========================================================
   YMYSY v3.35 — STEP CONFIG CAMPI PIÙ STRETTI / SINISTRA / VIOLA
   - step meno larghi e allineati a sinistra
   - palette coerente con i pulsanti viola del riferimento
   - hover invertito: fondo viola, icona/testo bianchi
   ========================================================= */
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabs{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:flex-start!important;
  align-items:stretch!important;
  gap:12px!important;
  width:auto!important;
  margin:0 0 18px!important;
  padding:0!important;
  overflow:visible!important;
}
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabs button,
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabs button:nth-child(3){
  flex:0 0 auto!important;
  width:auto!important;
  min-width:0!important;
  min-height:56px!important;
  padding:9px 18px!important;
  gap:12px!important;
  border:2px solid #8a63d9!important;
  border-radius:14px!important;
  background:#fff!important;
  color:#8a63d9!important;
  box-shadow:none!important;
  font-size:13px!important;
  font-weight:760!important;
  line-height:1.2!important;
  text-align:left!important;
  transform:none!important;
}
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabs button .fieldStepTabLabel{
  color:inherit!important;
  white-space:nowrap!important;
}
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabIcon{
  display:grid!important;
  place-items:center!important;
  flex:0 0 32px!important;
  width:32px!important;
  height:32px!important;
  border:2px solid currentColor!important;
  border-radius:50%!important;
  background:#fff!important;
  color:inherit!important;
}
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabIcon svg{
  width:16px!important;
  height:16px!important;
}
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabs button:hover,
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabs button:focus-visible{
  border-color:#8a63d9!important;
  background:#8a63d9!important;
  color:#fff!important;
  box-shadow:none!important;
  transform:none!important;
  outline:none!important;
}
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabs button:hover .fieldStepTabIcon,
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabs button:focus-visible .fieldStepTabIcon{
  background:transparent!important;
  border-color:#fff!important;
  color:#fff!important;
}
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabs button.active,
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabs button[aria-selected="true"]{
  border-color:#8a63d9!important;
  background:#8a63d9!important;
  color:#fff!important;
  box-shadow:none!important;
}
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabs button.active .fieldStepTabIcon,
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabs button[aria-selected="true"] .fieldStepTabIcon{
  background:transparent!important;
  border-color:#fff!important;
  color:#fff!important;
}
@media (max-width:760px){
  body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabs{
    gap:8px!important;
    margin-bottom:14px!important;
    overflow-x:auto!important;
    scrollbar-width:none!important;
  }
  body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabs::-webkit-scrollbar{display:none!important}
  body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabs button,
  body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabs button:nth-child(3){
    min-height:52px!important;
    padding:8px 14px!important;
    gap:10px!important;
    border-radius:13px!important;
    font-size:12px!important;
  }
  body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabIcon{
    flex-basis:30px!important;
    width:30px!important;
    height:30px!important;
  }
  body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabIcon svg{
    width:15px!important;
    height:15px!important;
  }
}


/* =========================================================
   YMYSY v3.37 — STEP CONFIG CAMPI ISOLATI / DEFINITIVI
   Classi nuove: nessun conflitto con i vecchi fieldStepTabs.
   Default bianco/viola, hover invertito viola/bianco.
   ========================================================= */
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabsCompact{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  width:100%!important;
  margin:0 0 18px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  overflow:visible!important;
}
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabsCompact>[data-field-step]{
  all:unset!important;
  box-sizing:border-box!important;
  display:inline-flex!important;
  flex:0 0 auto!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:9px!important;
  width:auto!important;
  min-width:0!important;
  height:46px!important;
  min-height:46px!important;
  padding:0 13px!important;
  border:1.5px solid #8B63D9!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#8B63D9!important;
  font-family:var(--backend-body-font),Arial,sans-serif!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:1!important;
  white-space:nowrap!important;
  cursor:pointer!important;
  transition:background-color .16s ease,color .16s ease,border-color .16s ease!important;
}
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabsCompact .fieldStepIconCompact{
  box-sizing:border-box!important;
  display:grid!important;
  place-items:center!important;
  flex:0 0 28px!important;
  width:28px!important;
  height:28px!important;
  min-width:28px!important;
  min-height:28px!important;
  border:1.5px solid #8B63D9!important;
  border-radius:50%!important;
  background:#fff!important;
  color:#8B63D9!important;
}
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabsCompact .fieldStepIconCompact svg{
  display:block!important;
  width:14px!important;
  height:14px!important;
  fill:none!important;
  stroke:currentColor!important;
  color:inherit!important;
}
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabsCompact .fieldStepLabelCompact{
  display:block!important;
  min-width:0!important;
  color:inherit!important;
  font:inherit!important;
  white-space:nowrap!important;
}
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabsCompact>[data-field-step].is-current,
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabsCompact>[data-field-step][aria-selected="true"]{
  background:#F7F2FF!important;
  border-color:#8B63D9!important;
  color:#7448CF!important;
}
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabsCompact>[data-field-step].is-current .fieldStepIconCompact,
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabsCompact>[data-field-step][aria-selected="true"] .fieldStepIconCompact{
  background:#F7F2FF!important;
  border-color:#8B63D9!important;
  color:#7448CF!important;
}
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabsCompact>[data-field-step]:hover,
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabsCompact>[data-field-step]:focus-visible{
  background:#8B63D9!important;
  border-color:#8B63D9!important;
  color:#fff!important;
  outline:none!important;
}
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabsCompact>[data-field-step]:hover .fieldStepIconCompact,
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabsCompact>[data-field-step]:focus-visible .fieldStepIconCompact{
  background:transparent!important;
  border-color:#fff!important;
  color:#fff!important;
}
@media(max-width:760px){
  body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabsCompact{
    flex-wrap:nowrap!important;
    gap:8px!important;
    margin-bottom:14px!important;
    overflow-x:auto!important;
    scrollbar-width:none!important;
  }
  body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabsCompact::-webkit-scrollbar{display:none!important}
  body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabsCompact>[data-field-step]{
    height:43px!important;
    min-height:43px!important;
    padding:0 11px!important;
    gap:8px!important;
    border-radius:11px!important;
    font-size:12px!important;
  }
  body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabsCompact .fieldStepIconCompact{
    flex-basis:26px!important;
    width:26px!important;
    height:26px!important;
    min-width:26px!important;
    min-height:26px!important;
  }
  body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabsCompact .fieldStepIconCompact svg{
    width:13px!important;
    height:13px!important;
  }
}


/* =========================================================
   YMYSY v3.38 — STEP CONFIG CAMPI / STATO ICONA COME RIFERIMENTO
   Foto 2 = non cliccato: icona cerchio bianco con bordo viola.
   Foto 3 = cliccato: icona cerchio pieno viola con icona bianca.
   Il pill non si colora di verde/blu e non si riempie scuro.
   ========================================================= */
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabsCompact{
  gap:12px!important;
  margin:0 0 18px!important;
  width:auto!important;
}
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabsCompact>[data-field-step]{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:14px!important;
  width:auto!important;
  min-width:0!important;
  height:58px!important;
  min-height:58px!important;
  padding:0 26px!important;
  border:1.5px solid #415361!important;
  border-radius:18px!important;
  background:#fff!important;
  color:#314654!important;
  box-shadow:none!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:1!important;
  white-space:nowrap!important;
}
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabsCompact .fieldStepIconCompact{
  flex:0 0 44px!important;
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  min-height:44px!important;
  border:2px solid #8B63D9!important;
  border-radius:50%!important;
  background:#fff!important;
  color:#8B63D9!important;
  box-shadow:none!important;
}
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabsCompact .fieldStepIconCompact svg{
  width:20px!important;
  height:20px!important;
}
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabsCompact .fieldStepLabelCompact{
  color:#314654!important;
}
/* non cliccato = foto 2 */
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabsCompact>[data-field-step]:not(.is-current):not([aria-selected="true"]){
  background:#fff!important;
  color:#314654!important;
}
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabsCompact>[data-field-step]:not(.is-current):not([aria-selected="true"]) .fieldStepIconCompact{
  background:#fff!important;
  border-color:#8B63D9!important;
  color:#8B63D9!important;
}
/* cliccato = foto 3 */
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabsCompact>[data-field-step].is-current,
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabsCompact>[data-field-step][aria-selected="true"]{
  background:#fff!important;
  border-color:#415361!important;
  color:#314654!important;
}
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabsCompact>[data-field-step].is-current .fieldStepIconCompact,
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabsCompact>[data-field-step][aria-selected="true"] .fieldStepIconCompact{
  background:#8B63D9!important;
  border-color:#8B63D9!important;
  color:#fff!important;
}
/* hover: stessa inversione del cliccato ma solo sull'icona */
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabsCompact>[data-field-step]:hover,
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabsCompact>[data-field-step]:focus-visible{
  background:#fff!important;
  border-color:#8B63D9!important;
  color:#314654!important;
  outline:none!important;
}
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabsCompact>[data-field-step]:hover .fieldStepIconCompact,
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabsCompact>[data-field-step]:focus-visible .fieldStepIconCompact{
  background:#8B63D9!important;
  border-color:#8B63D9!important;
  color:#fff!important;
}
@media(max-width:760px){
  body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabsCompact{
    gap:8px!important;
    overflow-x:auto!important;
    scrollbar-width:none!important;
  }
  body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabsCompact::-webkit-scrollbar{display:none!important}
  body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabsCompact>[data-field-step]{
    height:52px!important;
    min-height:52px!important;
    padding:0 18px!important;
    gap:10px!important;
    border-radius:16px!important;
    font-size:12px!important;
  }
  body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabsCompact .fieldStepIconCompact{
    flex-basis:40px!important;
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    min-height:40px!important;
  }
  body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepTabsCompact .fieldStepIconCompact svg{
    width:18px!important;
    height:18px!important;
  }
}


/* =========================================================
   YMYSY v3.39 — STEP CONFIG CAMPI CORREZIONE REALE
   Hai ragione: il pill esterno NON deve mai diventare scuro.
   Regola corretta:
   - pill esterno sempre bianco con bordo/testo slate
   - icona non attiva = cerchio bianco bordo viola, icona viola
   - icona attiva/hover = cerchio viola pieno, icona bianca
   ========================================================= */
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepPillsRef{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:flex-start!important;
  align-items:center!important;
  gap:14px!important;
  width:auto!important;
  margin:0 0 18px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  overflow:visible!important;
}
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepPillsRef .fieldStepPill{
  all:unset!important;
  box-sizing:border-box!important;
  display:inline-flex!important;
  flex:0 0 auto!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:14px!important;
  width:auto!important;
  min-width:0!important;
  height:58px!important;
  min-height:58px!important;
  padding:0 24px!important;
  border:1.5px solid #8B63D9!important;
  border-radius:18px!important;
  background:#fff!important;
  color:#344b59!important;
  box-shadow:none!important;
  font-family:var(--backend-body-font),Arial,sans-serif!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:1!important;
  text-align:left!important;
  white-space:nowrap!important;
  cursor:pointer!important;
  transition:none!important;
}
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepPillsRef .fieldStepPill:hover,
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepPillsRef .fieldStepPill:focus-visible,
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepPillsRef .fieldStepPill.is-current,
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepPillsRef .fieldStepPill[aria-selected="true"]{
  background:#fff!important;
  border-color:#8B63D9!important;
  color:#344b59!important;
  box-shadow:none!important;
  outline:none!important;
}
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepPillsRef .fieldStepPillIcon{
  box-sizing:border-box!important;
  display:grid!important;
  place-items:center!important;
  flex:0 0 44px!important;
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  min-height:44px!important;
  border:2px solid #8B63D9!important;
  border-radius:50%!important;
  background:#fff!important;
  color:#8B63D9!important;
  box-shadow:none!important;
}
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepPillsRef .fieldStepPillIcon svg{
  display:block!important;
  width:20px!important;
  height:20px!important;
  fill:none!important;
  stroke:currentColor!important;
  color:inherit!important;
}
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepPillsRef .fieldStepPillLabel{
  display:block!important;
  min-width:0!important;
  color:inherit!important;
  font:inherit!important;
  white-space:nowrap!important;
}
/* stato non attivo: come foto 2 */
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepPillsRef .fieldStepPill:not(.is-current):not([aria-selected="true"]) .fieldStepPillIcon{
  background:#fff!important;
  border-color:#8B63D9!important;
  color:#8B63D9!important;
}
/* stato attivo / hover: come foto 3 ma SOLO sull'icona */
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepPillsRef .fieldStepPill.is-current .fieldStepPillIcon,
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepPillsRef .fieldStepPill[aria-selected="true"] .fieldStepPillIcon,
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepPillsRef .fieldStepPill:hover .fieldStepPillIcon,
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepPillsRef .fieldStepPill:focus-visible .fieldStepPillIcon{
  background:#8B63D9!important;
  border-color:#8B63D9!important;
  color:#fff!important;
}
@media(max-width:760px){
  body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepPillsRef{
    flex-wrap:nowrap!important;
    gap:8px!important;
    margin-bottom:14px!important;
    overflow-x:auto!important;
    scrollbar-width:none!important;
  }
  body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepPillsRef::-webkit-scrollbar{display:none!important}
  body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepPillsRef .fieldStepPill{
    height:52px!important;
    min-height:52px!important;
    padding:0 18px!important;
    gap:10px!important;
    border-radius:16px!important;
    font-size:12px!important;
  }
  body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepPillsRef .fieldStepPillIcon{
    flex-basis:40px!important;
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    min-height:40px!important;
  }
  body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepPillsRef .fieldStepPillIcon svg{
    width:18px!important;
    height:18px!important;
  }
}

/* =========================================================
   YMYSY v3.42 — GUARD FINALE STEPPER CONFIG CAMPI
   Markup isolato fieldStepPillsRef/fieldStepPill.
   Rettangolo SEMPRE bianco + bordo viola.
   Cambia SOLO il cerchio icona.
   ========================================================= */
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepPillsRef .fieldStepPill,
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepPillsRef .fieldStepPill:hover,
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepPillsRef .fieldStepPill:focus-visible,
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepPillsRef .fieldStepPill.is-current,
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepPillsRef .fieldStepPill[aria-selected="true"]{
  background:#fff!important;
  background-image:none!important;
  border:1.5px solid #8B63D9!important;
  color:#344B59!important;
  box-shadow:none!important;
  filter:none!important;
}
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepPillsRef .fieldStepPill .fieldStepPillLabel{
  color:#344B59!important;
}
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepPillsRef .fieldStepPill .fieldStepPillIcon{
  background:#fff!important;
  border-color:#8B63D9!important;
  color:#8B63D9!important;
}
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepPillsRef .fieldStepPill:is(.is-current,[aria-selected="true"],:hover,:focus-visible) .fieldStepPillIcon{
  background:#8B63D9!important;
  border-color:#8B63D9!important;
  color:#fff!important;
}


/* =========================================================
   YMYSY v3.43 — STEPPER CONFIG CAMPI ISOLATO DAI BUTTON GLOBALI
   Correzione strutturale verificata:
   gli Step sono <a role="tab">, non più <button>.
   Quindi theme-buttons-outline / :active / :focus dei pulsanti
   NON possono più colorare il rettangolo di verde/blu/scuro.
   ========================================================= */
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepNavV43{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:12px!important;
  width:auto!important;
  margin:0 0 18px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  overflow:visible!important;
}
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepNavV43 .fieldStepNavItemV43,
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepNavV43 .fieldStepNavItemV43:link,
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepNavV43 .fieldStepNavItemV43:visited,
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepNavV43 .fieldStepNavItemV43:hover,
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepNavV43 .fieldStepNavItemV43:focus,
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepNavV43 .fieldStepNavItemV43:focus-visible,
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepNavV43 .fieldStepNavItemV43:active,
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepNavV43 .fieldStepNavItemV43.is-current,
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepNavV43 .fieldStepNavItemV43[aria-selected="true"]{
  box-sizing:border-box!important;
  display:inline-flex!important;
  flex:0 0 auto!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  width:auto!important;
  min-width:0!important;
  min-height:48px!important;
  margin:0!important;
  padding:7px 14px!important;
  border:1.5px solid #8B63D9!important;
  border-radius:13px!important;
  background:#FFFFFF!important;
  background-image:none!important;
  color:#344B59!important;
  text-decoration:none!important;
  box-shadow:none!important;
  filter:none!important;
  outline:none!important;
  font-family:var(--backend-body-font),Arial,sans-serif!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:1.15!important;
  white-space:nowrap!important;
  cursor:pointer!important;
  transform:none!important;
  -webkit-tap-highlight-color:transparent!important;
}
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepNavV43 .fieldStepNavIconV43{
  box-sizing:border-box!important;
  display:grid!important;
  place-items:center!important;
  flex:0 0 32px!important;
  width:32px!important;
  height:32px!important;
  min-width:32px!important;
  min-height:32px!important;
  border:2px solid #8B63D9!important;
  border-radius:50%!important;
  background:#FFFFFF!important;
  background-image:none!important;
  color:#8B63D9!important;
  box-shadow:none!important;
}
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepNavV43 .fieldStepNavIconV43 svg{
  display:block!important;
  width:16px!important;
  height:16px!important;
  fill:none!important;
  stroke:currentColor!important;
  color:inherit!important;
}
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepNavV43 .fieldStepNavLabelV43{
  display:block!important;
  min-width:0!important;
  color:#344B59!important;
  font:inherit!important;
  white-space:nowrap!important;
}
/* Non cliccato: cerchio bianco, bordo viola, icona viola. */
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepNavV43 .fieldStepNavItemV43:not(.is-current):not([aria-selected="true"]) .fieldStepNavIconV43{
  background:#FFFFFF!important;
  border-color:#8B63D9!important;
  color:#8B63D9!important;
}
/* Cliccato / hover / focus: cambia SOLO il cerchio. */
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepNavV43 .fieldStepNavItemV43.is-current .fieldStepNavIconV43,
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepNavV43 .fieldStepNavItemV43[aria-selected="true"] .fieldStepNavIconV43,
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepNavV43 .fieldStepNavItemV43:hover .fieldStepNavIconV43,
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepNavV43 .fieldStepNavItemV43:focus-visible .fieldStepNavIconV43,
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepNavV43 .fieldStepNavItemV43:active .fieldStepNavIconV43{
  background:#8B63D9!important;
  border-color:#8B63D9!important;
  color:#FFFFFF!important;
}
/* Focus accessibile senza cambiare fondo del rettangolo. */
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepNavV43 .fieldStepNavItemV43:focus-visible{
  box-shadow:0 0 0 3px rgba(139,99,217,.14)!important;
}
@media(max-width:760px){
  body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepNavV43{
    flex-wrap:nowrap!important;
    gap:8px!important;
    margin-bottom:14px!important;
    overflow-x:auto!important;
    scrollbar-width:none!important;
  }
  body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepNavV43::-webkit-scrollbar{display:none!important}
  body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepNavV43 .fieldStepNavItemV43{
    min-height:44px!important;
    padding:6px 12px!important;
    gap:8px!important;
    border-radius:12px!important;
    font-size:12px!important;
  }
  body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepNavV43 .fieldStepNavIconV43{
    flex-basis:28px!important;
    width:28px!important;
    height:28px!important;
    min-width:28px!important;
    min-height:28px!important;
  }
  body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepNavV43 .fieldStepNavIconV43 svg{
    width:14px!important;
    height:14px!important;
  }
}


/* =========================================================
   YMYSY v3.44 — HOVER STEPPER GARANTITO
   L'hover viene marcato anche via JS con .is-hover, così il
   cerchio dell'icona si riempie sempre di viola al passaggio.
   Il rettangolo resta bianco e il bordo resta viola.
   ========================================================= */
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepNavV43 .fieldStepNavItemV43.is-hover{
  background:#FFFFFF!important;
  border-color:#8B63D9!important;
  color:#344B59!important;
}
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepNavV43 .fieldStepNavItemV43.is-hover .fieldStepNavIconV43{
  background:#8B63D9!important;
  border-color:#8B63D9!important;
  color:#FFFFFF!important;
}
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepNavV43 .fieldStepNavItemV43.is-hover .fieldStepNavLabelV43{
  color:#344B59!important;
}

/* =========================================================
   YMYSY v3.45 — HOVER STEP COME RICHIESTO
   Hover / pointer sopra:
   - rettangolo viola pieno
   - testo bianco
   - cerchio bianco
   - icona viola
   Uscita mouse: ritorno automatico allo stato normale/attivo.
   ========================================================= */
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepNavV43 .fieldStepNavItemV43:hover,
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepNavV43 .fieldStepNavItemV43.is-hover,
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepNavV43 .fieldStepNavItemV43:focus-visible{
  background:#8B63D9!important;
  background-image:none!important;
  border-color:#8B63D9!important;
  color:#FFFFFF!important;
  box-shadow:none!important;
}
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepNavV43 .fieldStepNavItemV43:hover .fieldStepNavLabelV43,
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepNavV43 .fieldStepNavItemV43.is-hover .fieldStepNavLabelV43,
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepNavV43 .fieldStepNavItemV43:focus-visible .fieldStepNavLabelV43{
  color:#FFFFFF!important;
}
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepNavV43 .fieldStepNavItemV43:hover .fieldStepNavIconV43,
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepNavV43 .fieldStepNavItemV43.is-hover .fieldStepNavIconV43,
body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldStepNavV43 .fieldStepNavItemV43:focus-visible .fieldStepNavIconV43{
  background:#FFFFFF!important;
  background-image:none!important;
  border-color:#FFFFFF!important;
  color:#8B63D9!important;
}

/* =========================================================
   YMYSY v3.47 — PRODOTTI / AUDIT PULSANTI VERDI CORRETTO
   Regola fondamentale: NON toccare pulsanti già viola o neutri.
   Nessun selettore generico su button[type=submit], .button o wizardContinue.
   Si interviene solo sui controlli legacy che avevano ancora verde.
   ========================================================= */
body:not(.public) main.workspace.workspace--products{
  --products-action:#8B63D9;
  --products-action-dark:#7048C5;
  --products-action-soft:#F4F0FC;
  --products-action-ring:rgba(139,99,217,.22);
}

/* Archivio: piccolo pulsante "Mostra varianti" legacy verde. */
body:not(.public) main.workspace.workspace--products .productArchive .catalogListVariantToggle{
  background:#fff!important;
  color:var(--products-action)!important;
  border:1.5px solid var(--products-action)!important;
}
body:not(.public) main.workspace.workspace--products .productArchive .catalogListVariantToggle:is(:hover,:focus-visible){
  background:var(--products-action)!important;
  color:#fff!important;
  border-color:var(--products-action)!important;
  outline:none!important;
}

/* Archivio: filtro aperto / restore legacy. */
body:not(.public) main.workspace.workspace--products .productArchive .catalogFilterToggle[aria-expanded="true"]{
  border-color:var(--products-action)!important;
  background:var(--products-action)!important;
  color:#fff!important;
}
body:not(.public) main.workspace.workspace--products .catalogTrashPage .catalogRestoreAction{
  border-color:var(--products-action)!important;
  background:#fff!important;
  color:var(--products-action)!important;
}
body:not(.public) main.workspace.workspace--products .catalogTrashPage .catalogRestoreAction:is(:hover,:focus-visible){
  border-color:var(--products-action)!important;
  background:var(--products-action)!important;
  color:#fff!important;
  outline:none!important;
}

/* Wizard Step 3: tab attivo legacy verde -> viola, senza alterare gli altri pulsanti. */
body:not(.public) main.workspace.workspace--products .productWizardApproved .step3TabList button[aria-selected="true"]{
  background:var(--products-action)!important;
  color:#fff!important;
  border-color:var(--products-action)!important;
}
body:not(.public) main.workspace.workspace--products .productWizardApproved .step3TabList button:focus-visible{
  outline:3px solid var(--products-action-ring)!important;
  outline-offset:2px!important;
}

/* Riepilogo: "Leggi tutto" legacy verde. */
body:not(.public) main.workspace.workspace--products .productWizardApproved .summaryTextToggle{
  background:#fff!important;
  color:var(--products-action)!important;
  border:1.5px solid var(--products-action)!important;
}
body:not(.public) main.workspace.workspace--products .productWizardApproved .summaryTextToggle:is(:hover,:focus-visible){
  background:var(--products-action)!important;
  color:#fff!important;
  border-color:var(--products-action)!important;
  outline:none!important;
}

/* Varianti: sole azioni legacy con verde esplicito. */
body:not(.public) main.workspace.workspace--products .productWizardApproved .variantChipAdd{
  background:#fff!important;
  color:var(--products-action)!important;
  border-color:var(--products-action)!important;
}
body:not(.public) main.workspace.workspace--products .productWizardApproved .variantChipAdd:is(:hover,:focus-visible){
  background:var(--products-action)!important;
  color:#fff!important;
  border-color:var(--products-action)!important;
  outline:none!important;
}
body:not(.public) main.workspace.workspace--products .productWizardApproved .variantAddAttribute button{
  background:#fff!important;
  color:var(--products-action)!important;
  border-color:var(--products-action)!important;
}
body:not(.public) main.workspace.workspace--products .productWizardApproved .variantAddAttribute button:is(:hover,:focus-visible){
  background:var(--products-action)!important;
  color:#fff!important;
  border-color:var(--products-action)!important;
  outline:none!important;
}

/* IMPORTANTE: azioni wizard già approvate restano ESATTAMENTE nella loro gerarchia. */
body:not(.public) main.workspace.workspace--products .productWizardApproved .wizardActionsApproved .wizardCancel,
body:not(.public) main.workspace.workspace--products .productWizardApproved .wizardActionsApproved .button.subtle{
  background:#fff!important;
}
body:not(.public) main.workspace.workspace--products .productWizardApproved .wizardActionsApproved .draftButton{
  border:1.5px solid #aa8ade!important;
  background:#fff!important;
  color:#6841c7!important;
}
body:not(.public) main.workspace.workspace--products .productWizardApproved .wizardActionsApproved .wizardContinue{
  min-width:150px!important;
  border:1px solid #7048c5!important;
  background:linear-gradient(135deg,#8B63D9,#6432C9)!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(110,60,202,.18)!important;
}
body:not(.public) main.workspace.workspace--products .productWizardApproved .wizardActionsApproved .wizardContinue:is(:hover,:focus-visible){
  filter:brightness(.97)!important;
  color:#fff!important;
}
/* =========================================================
   YMYSY v3.48 — PRODOTTI / PALETTE PULSANTI DEFINITIVA
   Solo modulo Prodotti. Converte i residui verde/navy del tema
   nella palette viola del modulo senza toccare danger/status.
   ========================================================= */
body:not(.public) main.workspace.workspace--products{
  --p348:#8B63D9;
  --p348-dark:#7048C5;
  --p348-soft:#F4F0FC;
}

/* SECONDARI che prima ereditavano il verde/navy del backend. */
body:not(.public) main.workspace.workspace--products :is(
  .button.subtle,
  .fieldResetButton,
  .draftButton,
  .summaryTextToggle,
  .catalogListVariantToggle,
  .variantChipAdd,
  .variantAddAttribute button,
  .variantBulkMenu .button.subtle
):not(.danger):not(.dangerIcon){
  background:#fff!important;
  background-image:none!important;
  border-color:var(--p348)!important;
  color:var(--p348)!important;
  box-shadow:none!important;
}
body:not(.public) main.workspace.workspace--products :is(
  .button.subtle,
  .fieldResetButton,
  .draftButton,
  .summaryTextToggle,
  .catalogListVariantToggle,
  .variantChipAdd,
  .variantAddAttribute button,
  .variantBulkMenu .button.subtle
):not(.danger):not(.dangerIcon):is(:hover,:focus-visible){
  background:var(--p348)!important;
  background-image:none!important;
  border-color:var(--p348)!important;
  color:#fff!important;
  outline:none!important;
  box-shadow:0 7px 16px rgba(139,99,217,.16)!important;
}

/* PRIMARI: solo azioni che nel modulo erano verdi/navy pieni. */
body:not(.public) main.workspace.workspace--products :is(
  .fieldSettingsActions button[type="submit"],
  .catalogTrashBulk form[data-trash-restore-selected] button[type="submit"],
  .productArchive .catalogFilterActions button[type="submit"],
  .catalogImportActions .button:not(.subtle):not(.danger),
  .catalogExportActions .button:not(.subtle):not(.danger),
  .catalogDuplicateActions .button:not(.subtle):not(.danger),
  .productWizardApproved [data-generate-combinations],
  .productWizardApproved .wizardContinue,
  .productWizardApproved .wizardSummary form[action="/catalog-product/finalize"] button[type="submit"]
){
  background:var(--p348)!important;
  background-image:none!important;
  border:1.5px solid var(--p348)!important;
  color:#fff!important;
  box-shadow:none!important;
}
body:not(.public) main.workspace.workspace--products :is(
  .fieldSettingsActions button[type="submit"],
  .catalogTrashBulk form[data-trash-restore-selected] button[type="submit"],
  .productArchive .catalogFilterActions button[type="submit"],
  .catalogImportActions .button:not(.subtle):not(.danger),
  .catalogExportActions .button:not(.subtle):not(.danger),
  .catalogDuplicateActions .button:not(.subtle):not(.danger),
  .productWizardApproved [data-generate-combinations],
  .productWizardApproved .wizardContinue,
  .productWizardApproved .wizardSummary form[action="/catalog-product/finalize"] button[type="submit"]
):is(:hover,:focus-visible){
  background:var(--p348-dark)!important;
  background-image:none!important;
  border-color:var(--p348-dark)!important;
  color:#fff!important;
  outline:none!important;
  box-shadow:0 8px 18px rgba(112,72,197,.18)!important;
}

/* Wizard: gerarchia esplicita e non più dipendente dal tema globale. */
body:not(.public) main.workspace.workspace--products .productWizardApproved .wizardActionsApproved .button.subtle,
body:not(.public) main.workspace.workspace--products .productWizardApproved .wizardActionsApproved .draftButton,
body:not(.public) main.workspace.workspace--products .productWizardApproved .wizardSummary .wizardActions :is(.button.subtle,.draftButton){
  background:#fff!important;
  background-image:none!important;
  border:1.5px solid var(--p348)!important;
  color:var(--p348)!important;
  box-shadow:none!important;
}
body:not(.public) main.workspace.workspace--products .productWizardApproved .wizardActionsApproved .button.subtle:is(:hover,:focus-visible),
body:not(.public) main.workspace.workspace--products .productWizardApproved .wizardActionsApproved .draftButton:is(:hover,:focus-visible),
body:not(.public) main.workspace.workspace--products .productWizardApproved .wizardSummary .wizardActions :is(.button.subtle,.draftButton):is(:hover,:focus-visible){
  background:var(--p348)!important;
  color:#fff!important;
  border-color:var(--p348)!important;
}
body:not(.public) main.workspace.workspace--products .productWizardApproved .wizardActionsApproved .wizardContinue,
body:not(.public) main.workspace.workspace--products .productWizardApproved .wizardSummary .wizardActions button[type="submit"]{
  background:var(--p348)!important;
  background-image:none!important;
  border:1.5px solid var(--p348)!important;
  color:#fff!important;
  box-shadow:none!important;
}
body:not(.public) main.workspace.workspace--products .productWizardApproved .wizardActionsApproved .wizardContinue:is(:hover,:focus-visible),
body:not(.public) main.workspace.workspace--products .productWizardApproved .wizardSummary .wizardActions button[type="submit"]:is(:hover,:focus-visible){
  background:var(--p348-dark)!important;
  border-color:var(--p348-dark)!important;
  color:#fff!important;
}

/* Tab Step 3 e controlli filtro attivi: nessun verde residuo. */
body:not(.public) main.workspace.workspace--products .productWizardApproved .step3TabList button[aria-selected="true"],
body:not(.public) main.workspace.workspace--products .productArchive .catalogFilterToggle[aria-expanded="true"],
body:not(.public) main.workspace.workspace--products .productArchive .catalog-view-button:is(.is-active,[aria-pressed="true"]){
  background:var(--p348)!important;
  background-image:none!important;
  border-color:var(--p348)!important;
  color:#fff!important;
}

/* Danger/status restano semanticamente separati. */
body:not(.public) main.workspace.workspace--products :is(.danger,.catalog-delete-action,.catalogPurgeAction)[disabled],
body:not(.public) main.workspace.workspace--products button[disabled]{
  cursor:not-allowed;
}

/* YMYSY v3.49 — marker: palette azioni Prodotti garantita da script finale in index.php. */


/* =========================================================
   YMYSY v3.50 — PRODOTTI / MOBILE CHECKUP COMPLETO
   Verifica target: 360 / 390 / 430 px.
   Solo responsive; nessuna modifica a logica, DB o permessi.
   ========================================================= */
@media (max-width:760px){
  /* Safety generale: nessuna superficie Prodotti deve eccedere il viewport. */
  body:not(.public) main.workspace.workspace--products,
  body:not(.public) main.workspace.workspace--products :is(
    .moduleStandardHero,.moduleStandardStats,.productArchive,.catalogPage,
    .fieldSettingsPage,.productWizardApproved,.wizardForm,.wizardSummary,
    .catalogTrashPage,.catalogReadView,.catalogImportModal,.catalogExportModal
  ){
    box-sizing:border-box!important;
    max-width:100%!important;
  }
  body:not(.public) main.workspace.workspace--products :is(img,video,canvas){max-width:100%!important}

  /* ARCHIVIO — riga mobile stabile: sort + filtro + switch vista. */
  body:not(.public) main.workspace.workspace--products .productArchive form.catalogArchiveFilters.catalogArchiveFilters{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 44px 96px!important;
    column-gap:8px!important;
    row-gap:10px!important;
    width:100%!important;
    max-width:100%!important;
  }
  body:not(.public) main.workspace.workspace--products .productArchive form.catalogArchiveFilters.catalogArchiveFilters .catalogArchiveSearch{
    grid-column:1/-1!important;
    width:100%!important;
    max-width:100%!important;
  }
  body:not(.public) main.workspace.workspace--products .productArchive form.catalogArchiveFilters.catalogArchiveFilters .catalogArchiveSearch>input[type="search"]{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }
  body:not(.public) main.workspace.workspace--products .productArchive form.catalogArchiveFilters.catalogArchiveFilters .catalogArchiveSort{
    grid-column:1!important;
    min-width:0!important;
  }
  body:not(.public) main.workspace.workspace--products .productArchive form.catalogArchiveFilters.catalogArchiveFilters .catalogArchiveSort select{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }
  body:not(.public) main.workspace.workspace--products .productArchive form.catalogArchiveFilters.catalogArchiveFilters>button.catalogFilterToggle.catalogFilterToggle{
    grid-column:2!important;
    justify-self:end!important;
    width:44px!important;
    min-width:44px!important;
    max-width:44px!important;
    height:44px!important;
    min-height:44px!important;
    max-height:44px!important;
  }
  body:not(.public) main.workspace.workspace--products .productArchive form.catalogArchiveFilters.catalogArchiveFilters .catalogArchiveViewControls{
    grid-column:3!important;
    justify-self:end!important;
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:8px!important;
    width:96px!important;
    min-width:96px!important;
    max-width:96px!important;
  }

  /* Il pannello filtri deve SEMPRE occupare tutta la riga mobile. */
  body:not(.public) main.workspace.workspace--products .productArchive form.catalogArchiveFilters.catalogArchiveFilters>.catalogFilterPanel,
  body:not(.public) main.workspace.workspace--products .productArchive form.catalogArchiveFilters.catalogArchiveFilters>.catalogFilterPanel.is-open{
    grid-column:1/-1!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:12px!important;
    padding:14px!important;
  }
  body:not(.public) main.workspace.workspace--products .productArchive .catalogFilterPanel .catalogFilterActions{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    width:100%!important;
  }
  body:not(.public) main.workspace.workspace--products .productArchive .catalogFilterPanel .catalogFilterActions :is(.button,button){
    width:100%!important;
    min-width:0!important;
    white-space:normal!important;
  }
  body:not(.public) main.workspace.workspace--products .productArchive .catalogArchiveCounts{
    flex-wrap:wrap!important;
    align-items:flex-start!important;
  }

  /* Card archivio: azioni touch 44px ma ancora tutte visibili. */
  body:not(.public) main.workspace.workspace--products .productArchive .catalogProductCardActions.catalogProductCardActions{
    flex-wrap:wrap!important;
    gap:6px!important;
  }
  body:not(.public) main.workspace.workspace--products .productArchive .catalogProductCardActions.catalogProductCardActions>form{
    flex-basis:44px!important;
    width:44px!important;
  }
  body:not(.public) main.workspace.workspace--products .productArchive .catalogProductCardActions.catalogProductCardActions :is(a,button){
    width:44px!important;
    min-width:44px!important;
    max-width:44px!important;
    height:44px!important;
    min-height:44px!important;
    max-height:44px!important;
  }

  /* CESTINO — etichetta Azioni sempre visibile + pulsanti a destra. */
  body:not(.public) main.workspace.workspace--products .catalogTrashPage .catalogTrashTable td.catalogTrashAction{
    display:flex!important;
    flex-flow:row wrap!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:8px!important;
    width:100%!important;
    min-width:0!important;
    padding:10px 0 0!important;
    border-bottom:0!important;
  }
  body:not(.public) main.workspace.workspace--products .catalogTrashPage .catalogTrashTable td.catalogTrashAction::before{
    content:attr(data-label)!important;
    display:block!important;
    flex:1 1 100px!important;
    margin:0 auto 0 0!important;
    color:var(--muted)!important;
    font-size:10px!important;
    font-weight:800!important;
    letter-spacing:.04em!important;
    text-transform:uppercase!important;
  }
  body:not(.public) main.workspace.workspace--products .catalogTrashPage .catalogTrashTable td.catalogTrashAction>form{
    display:inline-flex!important;
    flex:0 0 44px!important;
    width:44px!important;
    min-width:44px!important;
    margin:0!important;
  }
  body:not(.public) main.workspace.workspace--products .catalogTrashPage .catalogTrashTable td.catalogTrashAction :is(.catalogRestoreAction,.catalogPurgeAction){
    width:44px!important;
    min-width:44px!important;
    max-width:44px!important;
    height:44px!important;
    min-height:44px!important;
    max-height:44px!important;
  }

  /* TESTI/CODICI — nessun dato lungo viene tagliato nelle schede mobili. */
  body:not(.public) main.workspace.workspace--products :is(
    .catalogReadView dd,.catalogReadView dt,.catalogReadView code,
    .catalogReadView time,.catalogTrashTable td,.catalog-list-table td,
    .catalogProductCard h3,.catalogProductCard p,.catalogProductCard small
  ){
    min-width:0!important;
    overflow-wrap:anywhere!important;
    word-break:break-word!important;
  }

  /* Step e tab: scroll locale, mai scroll dell'intera pagina. */
  body:not(.public) main.workspace.workspace--products :is(
    .wizardProgressApproved,.step3TabList,.fieldStepNavV43
  ){
    max-width:100%!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    overscroll-behavior-inline:contain!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
  }
  body:not(.public) main.workspace.workspace--products :is(
    .wizardProgressApproved,.step3TabList,.fieldStepNavV43
  )::-webkit-scrollbar{display:none!important}

  /* Modali Import/Export: sempre dentro il viewport e pulsanti full-width. */
  body:not(.public) main.workspace.workspace--products :is(.catalogImportModal,.catalogExportModal){
    max-width:calc(100vw - 14px)!important;
    max-height:calc(100dvh - 14px)!important;
  }
  body:not(.public) main.workspace.workspace--products .catalogImportModal form{max-height:calc(100dvh - 14px)!important}
}

@media (max-width:360px){
  body:not(.public) main.workspace.workspace--products .productArchive form.catalogArchiveFilters.catalogArchiveFilters{
    grid-template-columns:minmax(0,1fr) 44px 92px!important;
    column-gap:6px!important;
  }
  body:not(.public) main.workspace.workspace--products .productArchive form.catalogArchiveFilters.catalogArchiveFilters .catalogArchiveViewControls{
    width:92px!important;
    min-width:92px!important;
    max-width:92px!important;
    gap:4px!important;
  }
  body:not(.public) main.workspace.workspace--products .productArchive .catalogFilterPanel .catalogFilterActions{
    grid-template-columns:1fr!important;
  }
}

/* v3.50b — rifinitura touch target mobile dopo audit renderizzato */
@media (max-width:760px){
  body:not(.public) main.workspace.workspace--products .productWizardApproved :is(
    .variantAddAttribute button,
    .variantValueComposer button,
    .variantChipAdd,
    .variantAttributeCompact button
  ){
    min-height:40px!important;
  }
  body:not(.public) main.workspace.workspace--products .productWizardApproved .variantChipAdd,
  body:not(.public) main.workspace.workspace--products .productWizardApproved .variantAttributeCompact button{
    width:40px!important;
    min-width:40px!important;
    height:40px!important;
    max-height:40px!important;
  }
  body:not(.public) main.workspace.workspace--products .productWizardApproved .variantChip button{
    min-height:40px!important;
    padding-top:7px!important;
    padding-bottom:7px!important;
  }
  body:not(.public) main.workspace.workspace--products .catalogReadView .summaryTextToggle{
    min-height:44px!important;
    padding:10px 14px!important;
  }
  body:not(.public) main.workspace.workspace--products :is(.catalogImportClose,.catalogDuplicateClose){
    width:44px!important;
    min-width:44px!important;
    max-width:44px!important;
    height:44px!important;
    min-height:44px!important;
    max-height:44px!important;
    padding:0!important;
  }
}
@media (max-width:760px){
  body:not(.public) main.workspace.workspace--products .productWizardApproved .variantChip button+button{
    min-width:36px!important;
    padding-left:8px!important;
    padding-right:8px!important;
  }
}

/* v3.50 final — Cestino: azioni sempre visibili su mobile */
@media(max-width:760px){
  body:not(.public) main.workspace.workspace--products .catalogTrashPage td.catalogTrashAction{
    display:grid!important;
    grid-template-columns:44px 44px!important;
    grid-auto-rows:auto!important;
    justify-content:start!important;
    align-items:center!important;
    gap:8px!important;
    width:100%!important;
    max-width:100%!important;
    padding:10px 0 2px!important;
    overflow:visible!important;
  }
  body:not(.public) main.workspace.workspace--products .catalogTrashPage td.catalogTrashAction::before{
    grid-column:1/-1!important;
    display:block!important;
    width:auto!important;
    margin:0 0 2px!important;
    color:#8b84a0!important;
    font-size:10px!important;
    font-weight:900!important;
    letter-spacing:.04em!important;
    text-transform:uppercase!important;
  }
  body:not(.public) main.workspace.workspace--products .catalogTrashPage td.catalogTrashAction>form{
    display:block!important;
    width:44px!important;
    height:44px!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
  }
  body:not(.public) main.workspace.workspace--products .catalogTrashPage td.catalogTrashAction>form .actionIconButton{
    width:44px!important;
    min-width:44px!important;
    height:44px!important;
    min-height:44px!important;
    margin:0!important;
  }
}

/* v3.50 final.1 — override specifico definitivo Cestino mobile */
@media(max-width:760px){
  body:not(.public) main.workspace.workspace--products .catalogTrashPage .catalogTrashTable td.catalogTrashAction{
    display:grid!important;
    grid-template-columns:44px 44px!important;
    grid-auto-rows:auto!important;
    justify-content:start!important;
    align-items:center!important;
    gap:8px!important;
    width:100%!important;
    max-width:100%!important;
    min-height:108px!important;
    padding:10px 0 4px!important;
    overflow:visible!important;
    border-bottom:0!important;
  }
  body:not(.public) main.workspace.workspace--products .catalogTrashPage .catalogTrashTable td.catalogTrashAction::before{
    grid-column:1/-1!important;
    grid-row:1!important;
    display:block!important;
    width:auto!important;
    margin:0 0 2px!important;
  }
  body:not(.public) main.workspace.workspace--products .catalogTrashPage .catalogTrashTable td.catalogTrashAction>form{
    display:block!important;
    flex:none!important;
    width:44px!important;
    min-width:44px!important;
    height:44px!important;
    min-height:44px!important;
    margin:0!important;
    padding:0!important;
  }
  body:not(.public) main.workspace.workspace--products .catalogTrashPage .catalogTrashTable td.catalogTrashAction>form :is(.catalogRestoreAction,.catalogPurgeAction,.actionIconButton){
    width:44px!important;
    min-width:44px!important;
    max-width:44px!important;
    height:44px!important;
    min-height:44px!important;
    max-height:44px!important;
    margin:0!important;
  }
}

/* =========================================================
   YMYSY v3.51 — PRODOTTI / READ MORE + APRI TRACCIABILITÀ
   Uniformazione desktop + mobile alla palette viola approvata.
   ========================================================= */
body:not(.public) main.workspace.workspace--products .catalogReadExcerpt > button[data-read-toggle],
body:not(.public) main.workspace.workspace--products .catalogReadExcerpt > button.summaryTextToggle{
  min-height:36px!important;
  padding:7px 12px!important;
  border:1.5px solid #8B63D9!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#8B63D9!important;
  box-shadow:none!important;
  font-weight:800!important;
  transition:background-color .16s ease,color .16s ease,border-color .16s ease!important;
}
body:not(.public) main.workspace.workspace--products .catalogReadExcerpt > button[data-read-toggle]:hover,
body:not(.public) main.workspace.workspace--products .catalogReadExcerpt > button[data-read-toggle]:focus-visible,
body:not(.public) main.workspace.workspace--products .catalogReadExcerpt > button.summaryTextToggle:hover,
body:not(.public) main.workspace.workspace--products .catalogReadExcerpt > button.summaryTextToggle:focus-visible{
  border-color:#8B63D9!important;
  background:#8B63D9!important;
  color:#fff!important;
  outline:none!important;
}
body:not(.public) main.workspace.workspace--products .catalogLinkedLotsHead > a.button.subtle{
  min-height:44px!important;
  padding:10px 18px!important;
  border:1.5px solid #8B63D9!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#8B63D9!important;
  box-shadow:none!important;
  font-weight:800!important;
  transition:background-color .16s ease,color .16s ease,border-color .16s ease!important;
}
body:not(.public) main.workspace.workspace--products .catalogLinkedLotsHead > a.button.subtle:hover,
body:not(.public) main.workspace.workspace--products .catalogLinkedLotsHead > a.button.subtle:focus-visible{
  border-color:#8B63D9!important;
  background:#8B63D9!important;
  color:#fff!important;
  outline:none!important;
}
@media(max-width:760px){
  body:not(.public) main.workspace.workspace--products .catalogReadExcerpt > button[data-read-toggle],
  body:not(.public) main.workspace.workspace--products .catalogReadExcerpt > button.summaryTextToggle{
    min-height:38px!important;
    padding:8px 13px!important;
    font-size:12px!important;
  }
  body:not(.public) main.workspace.workspace--products .catalogLinkedLotsHead > a.button.subtle{
    min-height:44px!important;
    padding:10px 16px!important;
    font-size:13px!important;
  }
}

/* =========================================================
   YMYSY v3.52 — CONFIGURAZIONE CAMPI PRODOTTO / MOBILE HERO APPROVATA
   Mobile:
   - logo in alto a sinistra
   - freccia indietro in alto a destra
   - cubo in linea con CONFIGURAZIONE
   - ultimo aggiornamento in basso a sinistra
   - tipografia e toggle delle card riequilibrati
   Desktop invariato.
   ========================================================= */
.fieldSettingsHeroMobileTop{display:none}
.fieldSettingsHeroKickerIcon{display:none}

@media(max-width:760px){
  body:not(.public) main.workspace.workspace--products section.panel.catalogPage.fieldSettingsPage > .pageHead.fieldSettingsHero{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:0!important;
    min-height:0!important;
    padding:18px 18px 20px!important;
    border-radius:24px!important;
    overflow:hidden!important;
  }

  body:not(.public) main.workspace.workspace--products .fieldSettingsHero .fieldSettingsHeroMobileTop{
    position:relative!important;
    z-index:2!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
    gap:16px!important;
    width:100%!important;
    margin:0 0 18px!important;
  }
  body:not(.public) main.workspace.workspace--products .fieldSettingsHeroMobileLogo{
    display:block!important;
    width:126px!important;
    height:54px!important;
    max-width:44vw!important;
    padding:7px 10px!important;
    border:0!important;
    border-radius:8px!important;
    background:#fff!important;
    object-fit:contain!important;
    box-sizing:border-box!important;
  }
  body:not(.public) main.workspace.workspace--products .fieldSettingsHeroBack{
    display:grid!important;
    place-items:center!important;
    flex:0 0 46px!important;
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    min-height:46px!important;
    padding:0!important;
    border:1.5px solid #d7c7f5!important;
    border-radius:50%!important;
    background:#fff!important;
    color:#7c50df!important;
    box-shadow:0 4px 12px rgba(86,54,150,.06)!important;
    text-decoration:none!important;
  }
  body:not(.public) main.workspace.workspace--products .fieldSettingsHeroBack svg{
    width:21px!important;
    height:21px!important;
  }

  body:not(.public) main.workspace.workspace--products .fieldSettingsHeroCopy{
    width:100%!important;
    min-width:0!important;
  }
  body:not(.public) main.workspace.workspace--products .fieldSettingsHero .fieldSettingsHeroCopy .eyebrow{
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    margin:0 0 14px!important;
    color:#6840c9!important;
    font-size:12px!important;
    font-weight:900!important;
    line-height:1!important;
    letter-spacing:.065em!important;
  }
  body:not(.public) main.workspace.workspace--products .fieldSettingsHeroKickerIcon{
    display:grid!important;
    place-items:center!important;
    flex:0 0 28px!important;
    width:28px!important;
    height:28px!important;
    border:1px solid #e3d6fb!important;
    border-radius:50%!important;
    background:#f1e9ff!important;
    color:#8156df!important;
  }
  body:not(.public) main.workspace.workspace--products .fieldSettingsHeroKickerIcon svg{
    width:17px!important;
    height:17px!important;
  }
  body:not(.public) main.workspace.workspace--products .fieldSettingsHero .fieldSettingsHeroCopy h2{
    max-width:300px!important;
    margin:0!important;
    font-size:34px!important;
    line-height:1.04!important;
    letter-spacing:-.035em!important;
  }
  body:not(.public) main.workspace.workspace--products .fieldSettingsHero .fieldSettingsHeroCopy>p:last-child{
    max-width:310px!important;
    margin:16px 0 0!important;
    font-size:15px!important;
    line-height:1.5!important;
  }

  body:not(.public) main.workspace.workspace--products .fieldSettingsHero .fieldSettingsHeroSide{
    display:block!important;
    width:100%!important;
    margin:22px 0 0!important;
    padding:0!important;
  }
  body:not(.public) main.workspace.workspace--products .fieldSettingsHero .fieldSettingsHeroSide>.fieldSettingsHeroLogo{
    display:none!important;
  }
  body:not(.public) main.workspace.workspace--products .fieldSettingsHero .fieldSettingsHeroUpdated{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:10px!important;
    width:auto!important;
    margin:0!important;
    padding:0!important;
    border-left:0!important;
    white-space:normal!important;
  }
  body:not(.public) main.workspace.workspace--products .fieldSettingsHero .fieldSettingsHeroUpdated .moduleHeroUpdatedIcon{
    flex:0 0 38px!important;
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    min-height:38px!important;
  }
  body:not(.public) main.workspace.workspace--products .fieldSettingsHero .fieldSettingsHeroUpdated .moduleHeroUpdatedIcon svg{
    width:25px!important;
    height:25px!important;
  }
  body:not(.public) main.workspace.workspace--products .fieldSettingsHero .fieldSettingsHeroUpdated .moduleHeroUpdatedCopy{
    display:grid!important;
    gap:2px!important;
    min-width:0!important;
  }
  body:not(.public) main.workspace.workspace--products .fieldSettingsHero .fieldSettingsHeroUpdated .moduleHeroUpdatedCopy>span{
    font-size:11px!important;
    line-height:1.15!important;
  }
  body:not(.public) main.workspace.workspace--products .fieldSettingsHero .fieldSettingsHeroUpdated .moduleHeroUpdatedCopy>strong{
    font-size:12px!important;
    line-height:1.2!important;
    white-space:nowrap!important;
  }

  /* Card configurazione: gerarchia più compatta e leggibile. */
  body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldSettingsTable tbody tr{
    padding:14px 14px 12px!important;
  }
  body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldSettingsTable .fieldIdentity{
    padding-bottom:10px!important;
    margin-bottom:2px!important;
  }
  body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldIdentity strong{
    font-size:16px!important;
    line-height:1.25!important;
  }
  body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldIdentity small{
    margin-top:4px!important;
    font-size:10px!important;
  }
  body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldSettingsTable td{
    grid-template-columns:112px minmax(0,1fr)!important;
    gap:10px!important;
    padding:7px 0!important;
  }
  body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldSettingsTable td::before{
    font-size:9.5px!important;
    line-height:1.2!important;
  }
  body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldSwitch{
    width:40px!important;
    height:22px!important;
  }
  body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldSwitch span{
    width:40px!important;
    height:22px!important;
  }
  body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldSwitch span::after{
    width:16px!important;
    height:16px!important;
    margin:3px!important;
  }
  body:not(.public) main.workspace.workspace--products .fieldSettingsPage .fieldSwitch input:checked+span::after{
    transform:translateX(18px)!important;
  }
}

@media(max-width:360px){
  body:not(.public) main.workspace.workspace--products .fieldSettingsHeroMobileLogo{
    width:116px!important;
    height:50px!important;
  }
  body:not(.public) main.workspace.workspace--products .fieldSettingsHero .fieldSettingsHeroCopy h2{
    font-size:31px!important;
  }
  body:not(.public) main.workspace.workspace--products .fieldSettingsHero .fieldSettingsHeroCopy>p:last-child{
    font-size:14px!important;
  }
}

/* =========================================================
   YMYSY v3.53 — STANDARD HERO MOBILE PRODOTTI ESTESO
   Stesso schema approvato della Configurazione campi prodotto
   applicato a:
   1) Scheda prodotto guidata
   2) Dashboard Prodotti
   Desktop invariato.
   ========================================================= */
.productWizardMobileTop,
.productDashboardMobileTop,
.productWizardKickerIcon{display:none}

@media(max-width:760px){
  /* ---------------------------------------------------------
     A) SCHEDA PRODOTTO GUIDATA
     logo alto sx · back alto dx · cubo in linea con eyebrow
     update in basso sx
     --------------------------------------------------------- */
  body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardHero{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:auto auto auto!important;
    gap:0!important;
    min-height:0!important;
    padding:18px 18px 20px!important;
    border-radius:24px!important;
    overflow:hidden!important;
  }
  body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardMobileTop{
    position:relative!important;
    z-index:3!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
    gap:16px!important;
    width:100%!important;
    margin:0 0 18px!important;
  }
  body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardMobileLogo{
    display:block!important;
    width:126px!important;
    height:54px!important;
    max-width:44vw!important;
    padding:7px 10px!important;
    border:0!important;
    border-radius:8px!important;
    background:#fff!important;
    object-fit:contain!important;
    box-sizing:border-box!important;
  }
  body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardMobileBack{
    display:grid!important;
    place-items:center!important;
    flex:0 0 46px!important;
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    min-height:46px!important;
    padding:0!important;
    border:1.5px solid #d7c7f5!important;
    border-radius:50%!important;
    background:#fff!important;
    color:#7c50df!important;
    box-shadow:0 4px 12px rgba(86,54,150,.06)!important;
    text-decoration:none!important;
  }
  body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardMobileBack svg{
    width:21px!important;
    height:21px!important;
  }
  /* nasconde le versioni desktop duplicate */
  body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardBackIcon,
  body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardHeroIcon,
  body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardHeroSide>.productWizardLogo{
    display:none!important;
  }
  body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardHeroCopy{
    grid-column:1!important;
    grid-row:2!important;
    width:100%!important;
    min-width:0!important;
    padding:0!important;
    align-self:start!important;
  }
  body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardHeroCopy .eyebrow{
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    margin:0 0 14px!important;
    color:#6840c9!important;
    font-size:12px!important;
    font-weight:900!important;
    line-height:1!important;
    letter-spacing:.065em!important;
  }
  body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardKickerIcon{
    display:grid!important;
    place-items:center!important;
    flex:0 0 28px!important;
    width:28px!important;
    height:28px!important;
    border:1px solid #e3d6fb!important;
    border-radius:50%!important;
    background:#f1e9ff!important;
    color:#8156df!important;
  }
  body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardKickerIcon svg{
    width:17px!important;
    height:17px!important;
  }
  body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardHeroCopy h2{
    max-width:310px!important;
    margin:0!important;
    font-size:34px!important;
    line-height:1.04!important;
    letter-spacing:-.035em!important;
  }
  body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardHeroCopy>p:last-child{
    max-width:315px!important;
    margin:16px 0 0!important;
    font-size:15px!important;
    line-height:1.5!important;
  }
  body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardHeroSide{
    position:static!important;
    grid-column:1!important;
    grid-row:3!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    margin:22px 0 0!important;
    padding:0!important;
  }
  body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardHeroSide .productWizardUpdated{
    position:static!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:10px!important;
    width:auto!important;
    margin:0!important;
    padding:0!important;
    border-left:0!important;
    white-space:normal!important;
  }
  body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardUpdated .moduleHeroUpdatedIcon{
    flex:0 0 38px!important;
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    min-height:38px!important;
  }
  body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardUpdated .moduleHeroUpdatedIcon svg{
    width:25px!important;
    height:25px!important;
  }
  body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardUpdated .moduleHeroUpdatedCopy>span{
    font-size:11px!important;
    line-height:1.15!important;
  }
  body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardUpdated .moduleHeroUpdatedCopy>strong{
    font-size:12px!important;
    line-height:1.2!important;
    white-space:nowrap!important;
  }

  /* ---------------------------------------------------------
     B) DASHBOARD PRODOTTI
     stesso schema mobile della Configurazione campi
     --------------------------------------------------------- */
  body:not(.public) main.workspace.workspace--products > .workspaceHeader.moduleWorkspaceHeader.moduleStandardHero:not(.productWizardGlobalHeader):not(.fieldSettingsGlobalHeader){
    position:relative!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    min-height:0!important;
    margin-top:0!important;
    padding:18px 18px 20px!important;
    border-radius:24px!important;
    overflow:hidden!important;
  }
  body:not(.public) main.workspace.workspace--products > .workspaceHeader.moduleWorkspaceHeader.moduleStandardHero:not(.productWizardGlobalHeader):not(.fieldSettingsGlobalHeader) > .mobileMenuToggle{
    display:none!important;
  }
  body:not(.public) main.workspace.workspace--products .productDashboardMobileTop{
    position:relative!important;
    z-index:3!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
    gap:16px!important;
    width:100%!important;
    margin:0 0 18px!important;
  }
  body:not(.public) main.workspace.workspace--products .productDashboardMobileLogo{
    display:block!important;
    width:126px!important;
    height:54px!important;
    max-width:44vw!important;
    padding:7px 10px!important;
    border:0!important;
    border-radius:8px!important;
    background:#fff!important;
    object-fit:contain!important;
    box-sizing:border-box!important;
  }
  body:not(.public) main.workspace.workspace--products .productDashboardMobileBack{
    display:grid!important;
    place-items:center!important;
    flex:0 0 46px!important;
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    min-height:46px!important;
    padding:0!important;
    border:1.5px solid #d7c7f5!important;
    border-radius:50%!important;
    background:#fff!important;
    color:#7c50df!important;
    box-shadow:0 4px 12px rgba(86,54,150,.06)!important;
    text-decoration:none!important;
  }
  body:not(.public) main.workspace.workspace--products .productDashboardMobileBack svg{
    width:21px!important;
    height:21px!important;
  }
  body:not(.public) main.workspace.workspace--products > .workspaceHeader.moduleWorkspaceHeader.moduleStandardHero:not(.productWizardGlobalHeader):not(.fieldSettingsGlobalHeader) .moduleWorkspaceCopy{
    width:100%!important;
    min-width:0!important;
  }
  body:not(.public) main.workspace.workspace--products > .workspaceHeader.moduleWorkspaceHeader.moduleStandardHero:not(.productWizardGlobalHeader):not(.fieldSettingsGlobalHeader) .moduleHeaderEyebrow{
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    margin:0 0 14px!important;
    color:#6840c9!important;
    font-size:12px!important;
    font-weight:900!important;
    line-height:1!important;
    letter-spacing:.065em!important;
  }
  body:not(.public) main.workspace.workspace--products > .workspaceHeader.moduleWorkspaceHeader.moduleStandardHero:not(.productWizardGlobalHeader):not(.fieldSettingsGlobalHeader) .moduleHeaderEyebrow svg,
  body:not(.public) main.workspace.workspace--products > .workspaceHeader.moduleWorkspaceHeader.moduleStandardHero:not(.productWizardGlobalHeader):not(.fieldSettingsGlobalHeader) .moduleHeaderEyebrow img{
    box-sizing:border-box!important;
    width:28px!important;
    height:28px!important;
    padding:5px!important;
    border:1px solid #e3d6fb!important;
    border-radius:50%!important;
    background:#f1e9ff!important;
    color:#8156df!important;
  }
  body:not(.public) main.workspace.workspace--products > .workspaceHeader.moduleWorkspaceHeader.moduleStandardHero:not(.productWizardGlobalHeader):not(.fieldSettingsGlobalHeader) .moduleWorkspaceCopy h1{
    max-width:300px!important;
    margin:0!important;
    font-size:34px!important;
    line-height:1.04!important;
    letter-spacing:-.035em!important;
  }
  body:not(.public) main.workspace.workspace--products > .workspaceHeader.moduleWorkspaceHeader.moduleStandardHero:not(.productWizardGlobalHeader):not(.fieldSettingsGlobalHeader) .moduleWorkspaceCopy>p:last-child{
    max-width:310px!important;
    margin:16px 0 0!important;
    font-size:15px!important;
    line-height:1.5!important;
  }
  body:not(.public) main.workspace.workspace--products > .workspaceHeader.moduleWorkspaceHeader.moduleStandardHero:not(.productWizardGlobalHeader):not(.fieldSettingsGlobalHeader) .moduleWorkspaceVisual{
    position:static!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    margin:22px 0 0!important;
    padding:0!important;
  }
  body:not(.public) main.workspace.workspace--products > .workspaceHeader.moduleWorkspaceHeader.moduleStandardHero:not(.productWizardGlobalHeader):not(.fieldSettingsGlobalHeader) .moduleWorkspaceVisual>.moduleWorkspaceLogo{
    display:none!important;
  }
  body:not(.public) main.workspace.workspace--products > .workspaceHeader.moduleWorkspaceHeader.moduleStandardHero:not(.productWizardGlobalHeader):not(.fieldSettingsGlobalHeader) .moduleStandardUpdated{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:10px!important;
    width:auto!important;
    margin:0!important;
    padding:0!important;
    border-left:0!important;
    white-space:normal!important;
  }
  body:not(.public) main.workspace.workspace--products > .workspaceHeader.moduleWorkspaceHeader.moduleStandardHero:not(.productWizardGlobalHeader):not(.fieldSettingsGlobalHeader) .moduleStandardUpdated .moduleHeroUpdatedIcon{
    flex:0 0 38px!important;
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    min-height:38px!important;
  }
  body:not(.public) main.workspace.workspace--products > .workspaceHeader.moduleWorkspaceHeader.moduleStandardHero:not(.productWizardGlobalHeader):not(.fieldSettingsGlobalHeader) .moduleStandardUpdated .moduleHeroUpdatedIcon svg{
    width:25px!important;
    height:25px!important;
  }
  body:not(.public) main.workspace.workspace--products > .workspaceHeader.moduleWorkspaceHeader.moduleStandardHero:not(.productWizardGlobalHeader):not(.fieldSettingsGlobalHeader) .moduleStandardUpdated .moduleHeroUpdatedCopy>span{
    font-size:11px!important;
    line-height:1.15!important;
  }
  body:not(.public) main.workspace.workspace--products > .workspaceHeader.moduleWorkspaceHeader.moduleStandardHero:not(.productWizardGlobalHeader):not(.fieldSettingsGlobalHeader) .moduleStandardUpdated .moduleHeroUpdatedCopy>strong{
    font-size:12px!important;
    line-height:1.2!important;
    white-space:nowrap!important;
  }
}

@media(max-width:360px){
  body:not(.public) main.workspace.workspace--products .productWizardMobileLogo,
  body:not(.public) main.workspace.workspace--products .productDashboardMobileLogo{
    width:116px!important;
    height:50px!important;
  }
  body:not(.public) main.workspace.workspace--products .productWizardApproved .productWizardHeroCopy h2,
  body:not(.public) main.workspace.workspace--products > .workspaceHeader.moduleWorkspaceHeader.moduleStandardHero:not(.productWizardGlobalHeader):not(.fieldSettingsGlobalHeader) .moduleWorkspaceCopy h1{
    font-size:31px!important;
  }
}

/* =========================================================
   YMYSY v3.54 — STANDARD COMPLETO MODULO TRACCIABILITÀ
   Estende lo standard approvato di Prodotti a Tracciabilità,
   mantenendo SEMPRE la palette assegnata al modulo:
   accent #20AFAA / dark #117F7B / soft #EAF8F7.
   Nessuna modifica a DB, routing, permessi o logica.
   ========================================================= */
body:not(.public) main.workspace.workspace--traceability{
  --trace-accent:#20AFAA;
  --trace-accent-dark:#117F7B;
  --trace-accent-soft:#EAF8F7;
  --trace-accent-line:#BFE8E5;
  --trace-ink:#173B3A;
  --trace-muted:#687B79;
}

/* ---------- Desktop: gerarchia azioni testuali ---------- */
body:not(.public) main.workspace.workspace--traceability :is(
  .traceCreateEmpty .primary,
  #batchForm>button:not(.subtle):not(.danger),
  .templateCreate>button,
  .templatePanel form>button:not(.subtle):not(.danger):not(.templateModelIconAction),
  .batchSetupGrid>form>button:not(.subtle):not(.danger),
  .coverEditor>button:not(.subtle):not(.danger),
  .eventEditForm>button:not(.subtle):not(.danger),
  .publishPanel form>button:not(.subtle):not(.danger),
  .traceCreateFormWrap form>button:not(.subtle):not(.danger):not(.removeInlineField)
){
  border:1.5px solid var(--trace-accent)!important;
  background:var(--trace-accent)!important;
  color:#fff!important;
  box-shadow:none!important;
}
body:not(.public) main.workspace.workspace--traceability :is(
  .traceCreateEmpty .primary,
  #batchForm>button:not(.subtle):not(.danger),
  .templateCreate>button,
  .templatePanel form>button:not(.subtle):not(.danger):not(.templateModelIconAction),
  .batchSetupGrid>form>button:not(.subtle):not(.danger),
  .coverEditor>button:not(.subtle):not(.danger),
  .eventEditForm>button:not(.subtle):not(.danger),
  .publishPanel form>button:not(.subtle):not(.danger),
  .traceCreateFormWrap form>button:not(.subtle):not(.danger):not(.removeInlineField)
):is(:hover,:focus-visible){
  border-color:var(--trace-accent-dark)!important;
  background:var(--trace-accent-dark)!important;
  color:#fff!important;
}

/* Secondari: stessa logica outline -> riempimento in hover. */
body:not(.public) main.workspace.workspace--traceability :is(
  .button.subtle,
  .templateOpenButton,
  .passportBackModels,
  .lotProductAddRow .button,
  .lotProductAddRow button,
  .traceCreateFormWrap .button.subtle
):not(.danger){
  border:1.5px solid var(--trace-accent)!important;
  background:#fff!important;
  color:var(--trace-accent-dark)!important;
  box-shadow:none!important;
}
body:not(.public) main.workspace.workspace--traceability :is(
  .button.subtle,
  .templateOpenButton,
  .passportBackModels,
  .lotProductAddRow .button,
  .lotProductAddRow button,
  .traceCreateFormWrap .button.subtle
):not(.danger):is(:hover,:focus-visible){
  border-color:var(--trace-accent)!important;
  background:var(--trace-accent)!important;
  color:#fff!important;
}

/* Tab / segmented controls del Passaporto digitale. */
body:not(.public) main.workspace.workspace--traceability :is(.passportTabs,.editorTabs){
  border-color:var(--trace-accent-line)!important;
  background:#F8FCFB!important;
}
body:not(.public) main.workspace.workspace--traceability .passportTabs a,
body:not(.public) main.workspace.workspace--traceability .editorTabs button{
  border:1.5px solid var(--trace-accent-line)!important;
  background:#fff!important;
  color:var(--trace-accent-dark)!important;
}
body:not(.public) main.workspace.workspace--traceability .passportTabs a:is(:hover,:focus-visible),
body:not(.public) main.workspace.workspace--traceability .editorTabs button:is(:hover,:focus-visible),
body:not(.public) main.workspace.workspace--traceability .passportTabs a.active,
body:not(.public) main.workspace.workspace--traceability .editorTabs button.active{
  border-color:var(--trace-accent)!important;
  background:var(--trace-accent)!important;
  color:#fff!important;
}

/* Palette del costruttore codice: mai verde legacy. */
body:not(.public) main.workspace.workspace--traceability .paletteItem{
  border-color:var(--trace-accent-line)!important;
  background:#fff!important;
  color:var(--trace-accent-dark)!important;
}
body:not(.public) main.workspace.workspace--traceability .paletteItem:is(:hover,:focus-visible){
  border-color:var(--trace-accent)!important;
  background:var(--trace-accent-soft)!important;
  color:var(--trace-accent-dark)!important;
}
body:not(.public) main.workspace.workspace--traceability .lotSourceChoice:has(input:checked){
  border-color:var(--trace-accent)!important;
  background:var(--trace-accent-soft)!important;
  box-shadow:0 0 0 1px rgba(32,175,170,.10)!important;
}
body:not(.public) main.workspace.workspace--traceability :is(input[type="checkbox"],input[type="radio"]){accent-color:var(--trace-accent)!important}

/* Icon actions: bianco/teal -> teal/bianco in hover, come standard moduli. */
body:not(.public) main.workspace.workspace--traceability :is(
  .actionIconButton,
  .templateModelIconAction,
  .templateCardToggle,
  .eventCardToggle,
  .traceCreateClose
):not(.dangerIcon):not(.danger){
  border-color:var(--trace-accent)!important;
  background:#fff!important;
  color:var(--trace-accent)!important;
}
body:not(.public) main.workspace.workspace--traceability :is(
  .actionIconButton,
  .templateModelIconAction,
  .templateCardToggle,
  .eventCardToggle,
  .traceCreateClose
):not(.dangerIcon):not(.danger):is(:hover,:focus-visible){
  border-color:var(--trace-accent)!important;
  background:var(--trace-accent)!important;
  color:#fff!important;
}
/* Le azioni distruttive restano semanticamente rosse. */
body:not(.public) main.workspace.workspace--traceability :is(.danger,.dangerIcon,.templateHeaderDelete,.eventHeaderDelete):is(:hover,:focus-visible){
  border-color:#B42318!important;
  background:#B42318!important;
  color:#fff!important;
}

/* ---------- Mobile hero: stesso schema approvato di Prodotti ---------- */
.traceDashboardMobileTop{display:none}
@media(max-width:760px){
  body:not(.public) main.workspace.workspace--traceability{
    padding:10px!important;
    overflow-x:hidden!important;
  }
  body:not(.public) main.workspace.workspace--traceability > .workspaceHeader.traceabilityGlobalHeader.moduleWorkspaceHeader.moduleStandardHero{
    position:relative!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    min-height:0!important;
    margin:0 0 18px!important;
    padding:18px 18px 20px!important;
    border:1px solid var(--trace-accent-line)!important;
    border-radius:24px!important;
    background:radial-gradient(circle at 76% 32%,rgba(32,175,170,.10),transparent 34%),linear-gradient(120deg,#fff 0%,#f8fdfc 52%,#eaf8f6 100%)!important;
    box-shadow:0 12px 30px rgba(23,90,87,.045)!important;
    overflow:hidden!important;
  }
  body:not(.public) main.workspace.workspace--traceability > .workspaceHeader.traceabilityGlobalHeader.moduleWorkspaceHeader.moduleStandardHero>.mobileMenuToggle{
    display:none!important;
  }
  body:not(.public) main.workspace.workspace--traceability .traceDashboardMobileTop{
    position:relative!important;
    z-index:3!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
    gap:16px!important;
    width:100%!important;
    margin:0 0 18px!important;
  }
  body:not(.public) main.workspace.workspace--traceability .traceDashboardMobileLogo{
    display:block!important;
    width:126px!important;
    height:54px!important;
    max-width:44vw!important;
    padding:7px 10px!important;
    border:0!important;
    border-radius:8px!important;
    background:#fff!important;
    object-fit:contain!important;
    box-sizing:border-box!important;
  }
  body:not(.public) main.workspace.workspace--traceability .traceDashboardMobileBack{
    display:grid!important;
    place-items:center!important;
    flex:0 0 46px!important;
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    min-height:46px!important;
    padding:0!important;
    border:1.5px solid var(--trace-accent-line)!important;
    border-radius:50%!important;
    background:#fff!important;
    color:var(--trace-accent-dark)!important;
    box-shadow:0 4px 12px rgba(17,127,123,.06)!important;
    text-decoration:none!important;
  }
  body:not(.public) main.workspace.workspace--traceability .traceDashboardMobileBack:is(:hover,:focus-visible){
    border-color:var(--trace-accent)!important;
    background:var(--trace-accent)!important;
    color:#fff!important;
  }
  body:not(.public) main.workspace.workspace--traceability .traceDashboardMobileBack svg{width:21px!important;height:21px!important}

  body:not(.public) main.workspace.workspace--traceability > .workspaceHeader.traceabilityGlobalHeader .moduleWorkspaceCopy{
    width:100%!important;
    min-width:0!important;
  }
  body:not(.public) main.workspace.workspace--traceability > .workspaceHeader.traceabilityGlobalHeader .moduleHeaderEyebrow{
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    margin:0 0 14px!important;
    color:var(--trace-accent-dark)!important;
    font-size:12px!important;
    font-weight:900!important;
    line-height:1!important;
    letter-spacing:.065em!important;
  }
  body:not(.public) main.workspace.workspace--traceability > .workspaceHeader.traceabilityGlobalHeader .moduleHeaderEyebrow svg,
  body:not(.public) main.workspace.workspace--traceability > .workspaceHeader.traceabilityGlobalHeader .moduleHeaderEyebrow img{
    box-sizing:border-box!important;
    width:28px!important;
    height:28px!important;
    padding:5px!important;
    border:1px solid var(--trace-accent-line)!important;
    border-radius:50%!important;
    background:var(--trace-accent-soft)!important;
    color:var(--trace-accent)!important;
  }
  body:not(.public) main.workspace.workspace--traceability > .workspaceHeader.traceabilityGlobalHeader .moduleWorkspaceCopy h1{
    max-width:310px!important;
    margin:0!important;
    font-size:34px!important;
    line-height:1.04!important;
    letter-spacing:-.035em!important;
  }
  body:not(.public) main.workspace.workspace--traceability > .workspaceHeader.traceabilityGlobalHeader .moduleWorkspaceCopy>p:last-child{
    max-width:315px!important;
    margin:16px 0 0!important;
    font-size:15px!important;
    line-height:1.5!important;
  }
  body:not(.public) main.workspace.workspace--traceability > .workspaceHeader.traceabilityGlobalHeader .moduleWorkspaceVisual{
    position:static!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    margin:22px 0 0!important;
    padding:0!important;
  }
  body:not(.public) main.workspace.workspace--traceability > .workspaceHeader.traceabilityGlobalHeader .moduleWorkspaceVisual>.moduleWorkspaceLogo{
    display:none!important;
  }
  body:not(.public) main.workspace.workspace--traceability > .workspaceHeader.traceabilityGlobalHeader .moduleStandardUpdated{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:10px!important;
    width:auto!important;
    margin:0!important;
    padding:0!important;
    border-left:0!important;
    white-space:normal!important;
  }
  body:not(.public) main.workspace.workspace--traceability > .workspaceHeader.traceabilityGlobalHeader .moduleStandardUpdated .moduleHeroUpdatedIcon{
    flex:0 0 38px!important;
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    min-height:38px!important;
    border-color:var(--trace-accent)!important;
    color:var(--trace-accent)!important;
  }
  body:not(.public) main.workspace.workspace--traceability > .workspaceHeader.traceabilityGlobalHeader .moduleStandardUpdated .moduleHeroUpdatedIcon svg{width:25px!important;height:25px!important}
  body:not(.public) main.workspace.workspace--traceability > .workspaceHeader.traceabilityGlobalHeader .moduleStandardUpdated .moduleHeroUpdatedCopy>span{
    font-size:11px!important;
    line-height:1.15!important;
  }
  body:not(.public) main.workspace.workspace--traceability > .workspaceHeader.traceabilityGlobalHeader .moduleStandardUpdated .moduleHeroUpdatedCopy>strong{
    font-size:12px!important;
    line-height:1.2!important;
    white-space:nowrap!important;
  }

  /* ---------- Mobile contenuti: visibilità e proporzioni ---------- */
  body:not(.public) main.workspace.workspace--traceability :is(.stats,.traceCreateGrid,.detailGrid,.batchSetupGrid,.templateCreate,.lotSourceChoices,.lotCatalogFields,.lotManualFields){
    grid-template-columns:1fr!important;
  }
  body:not(.public) main.workspace.workspace--traceability :is(.traceCreatePanel,.traceLotsPanel,.templateLibrary,.batchSetupChoice,.batchDetail,.traceabilityStandardDirectory){
    width:100%!important;
    max-width:100%!important;
    padding:16px!important;
    border-radius:18px!important;
    overflow:visible!important;
  }
  body:not(.public) main.workspace.workspace--traceability .traceCreatePanelHead{
    align-items:flex-start!important;
    gap:12px!important;
  }
  body:not(.public) main.workspace.workspace--traceability .traceCreatePanelHead :is(h2,p){overflow-wrap:anywhere!important}
  body:not(.public) main.workspace.workspace--traceability .traceCreateFormWrap :is(input,select,textarea){
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  body:not(.public) main.workspace.workspace--traceability .lotProductAddRow{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  body:not(.public) main.workspace.workspace--traceability .lotProductAddRow :is(.button,button){width:100%!important;min-width:0!important}
  body:not(.public) main.workspace.workspace--traceability .traceCreateFormWrap .codeBuilder{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    grid-template-columns:1fr!important;
  }
  body:not(.public) main.workspace.workspace--traceability .traceCreateFormWrap .codePalette{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    padding:12px!important;
  }
  body:not(.public) main.workspace.workspace--traceability .traceCreateFormWrap .codePalette>strong,
  body:not(.public) main.workspace.workspace--traceability .traceCreateFormWrap .codePalette>small:first-of-type{grid-column:1/-1!important}
  body:not(.public) main.workspace.workspace--traceability .inlineCodeField,
  body:not(.public) main.workspace.workspace--traceability .inlineFieldOptions{
    min-width:0!important;
    max-width:100%!important;
  }
  body:not(.public) main.workspace.workspace--traceability .inlineFieldOptions{grid-template-columns:1fr!important}
  body:not(.public) main.workspace.workspace--traceability .templateCreate>button{width:100%!important}
  body:not(.public) main.workspace.workspace--traceability .templateGrid{grid-template-columns:1fr!important}
  body:not(.public) main.workspace.workspace--traceability .passportTabsRow{width:100%!important;min-width:0!important}
  body:not(.public) main.workspace.workspace--traceability .passportTabs{
    display:flex!important;
    flex-wrap:nowrap!important;
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
  }
  body:not(.public) main.workspace.workspace--traceability .passportTabs::-webkit-scrollbar{display:none!important}
  body:not(.public) main.workspace.workspace--traceability .passportTabs a{flex:0 0 auto!important;white-space:nowrap!important}
  body:not(.public) main.workspace.workspace--traceability :is(button,.button,a.button){min-height:44px}
}

@media(max-width:380px){
  body:not(.public) main.workspace.workspace--traceability .traceDashboardMobileLogo{width:116px!important;height:50px!important}
  body:not(.public) main.workspace.workspace--traceability > .workspaceHeader.traceabilityGlobalHeader .moduleWorkspaceCopy h1{font-size:31px!important}
  body:not(.public) main.workspace.workspace--traceability .traceCreateFormWrap .codePalette{grid-template-columns:1fr!important}
}

/* v3.54 semantic safeguard: le azioni distruttive non vengono colorate teal. */
body:not(.public) main.workspace.workspace--traceability :is(.dangerIcon,.templateHeaderDelete,.eventHeaderDelete){
  border-color:#E4B9B5!important;
  background:#fff!important;
  color:#B42318!important;
}
body:not(.public) main.workspace.workspace--traceability .button.danger,
body:not(.public) main.workspace.workspace--traceability button.danger{
  border-color:#B42318!important;
  background:#B42318!important;
  color:#fff!important;
}


/* =========================================================
   YMYSY v3.55 — KPI TRACCIABILITÀ / ICONE SEMANTICHE APPROVATE
   Cambia solo il pittogramma interno. Dimensioni card, cerchio,
   spaziature e tipografia restano quelle già approvate.
   ========================================================= */
body:not(.public) main.workspace.workspace--traceability .moduleStandardStats--traceability .moduleStandardStatIcon svg{
  width:31px!important;
  height:31px!important;
  display:block!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
@media(max-width:760px){
  body:not(.public) main.workspace.workspace--traceability .moduleStandardStats--traceability .moduleStandardStatIcon svg{
    width:25px!important;
    height:25px!important;
  }
}


/* =========================================================
   YMYSY v3.56 — DASHBOARD DINAMICA / MOCKUP APPROVATO
   Scope esclusivo: Dashboard. Palette fedele al mockup.
   ========================================================= */
body:has(main.workspace--dashboard){background:#f7fafb!important}
body:has(main.workspace--dashboard) .dashboardShowcaseSidebar{
  background:linear-gradient(180deg,#004651 0%,#003943 52%,#00333c 100%)!important;
  border-right:0!important;color:#fff!important;box-shadow:8px 0 30px rgba(0,48,57,.08)!important;
}
body:has(main.workspace--dashboard) .dashboardShowcaseSidebar .brand,
body:has(main.workspace--dashboard) .dashboardShowcaseSidebar .platformSidebarName{color:#fff!important}
body:has(main.workspace--dashboard) .dashboardShowcaseSidebar nav{gap:7px!important}
body:has(main.workspace--dashboard) .dashboardShowcaseSidebar nav>a,
body:has(main.workspace--dashboard) .dashboardShowcaseSidebar .sidebarGroupToggle{
  min-height:48px!important;border:0!important;border-radius:11px!important;background:transparent!important;color:#f5fbfb!important;font-weight:700!important;
}
body:has(main.workspace--dashboard) .dashboardShowcaseSidebar nav>a:hover,
body:has(main.workspace--dashboard) .dashboardShowcaseSidebar .sidebarGroupToggle:hover{background:rgba(255,255,255,.07)!important}
body:has(main.workspace--dashboard) .dashboardShowcaseSidebar nav>a.active{
  background:linear-gradient(90deg,#079aa2 0%,#087c87 100%)!important;color:#fff!important;box-shadow:0 8px 22px rgba(0,0,0,.10)!important;
}
body:has(main.workspace--dashboard) .dashboardShowcaseSidebar .sidebarChevron{opacity:.8}
body:has(main.workspace--dashboard) .dashboardShowcaseSidebar .sidebarSubmenu{background:rgba(255,255,255,.035)!important}
body:has(main.workspace--dashboard) .dashboardShowcaseSidebar .account{
  border:1px solid rgba(255,255,255,.16)!important;border-radius:14px!important;padding:16px!important;background:rgba(255,255,255,.035)!important;color:#fff!important;
}
body:has(main.workspace--dashboard) .dashboardShowcaseSidebar .account small,
body:has(main.workspace--dashboard) .dashboardShowcaseSidebar .account a{color:#d7ecee!important}

.workspace--dashboard{max-width:none!important;padding:26px 34px 34px!important;background:#fbfdfd!important}
.workspace--dashboard>.dashboardLegacyHeader{display:none!important}
.dashV356{--dash-teal:#078e93;--dash-teal-dark:#006f76;--dash-teal-deep:#004853;--dash-soft:#eaf8f7;--dash-soft-2:#f3fbfa;--dash-line:#dbe8e7;--dash-ink:#102634;--dash-muted:#60717f;display:grid;gap:18px;color:var(--dash-ink);font-family:var(--backend-body-font),Arial,sans-serif}
.dashV356 *{box-sizing:border-box}
.dashV356 svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.dashV356Topbar{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:20px!important;margin:0!important;padding:0 4px 4px!important}
.dashV356Menu{display:none!important}
.dashV356Welcome h1{margin:0!important;font-family:var(--backend-heading-font),Arial,sans-serif!important;font-size:25px!important;line-height:1.12!important;letter-spacing:-.025em!important;color:#0d2230!important}
.dashV356Welcome p{margin:5px 0 0!important;color:#617482!important;font-size:13px!important}
.dashV356TopActions{display:flex;align-items:center;gap:16px;color:#173441;font-size:13px;font-weight:700}
.dashV356Help{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.dashV356Help b{display:grid;place-items:center;width:20px;height:20px;border:1.5px solid #294653;border-radius:50%;font-size:12px}
.dashV356Bell{position:relative;font-size:23px;line-height:1}.dashV356Bell b{position:absolute;right:-7px;top:-8px;display:grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:#07969b;color:#fff;font-size:10px}
.dashV356Avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#075965;color:#fff;font-size:12px;font-weight:850}

.dashV356Hero{display:grid;grid-template-columns:minmax(350px,1.35fr) minmax(280px,.92fr) 180px minmax(170px,.55fr);align-items:center;gap:24px;min-height:136px;padding:20px 24px;border:1px solid #cfe6e4;border-radius:14px;background:linear-gradient(112deg,#f7fcfc 0%,#edf9f8 48%,#f9fcfc 100%);box-shadow:0 7px 24px rgba(12,72,77,.035);overflow:hidden}
.dashV356HeroLead{display:grid;grid-template-columns:58px 1fr;gap:17px;align-items:center}.dashV356HeroIcon{display:grid;place-items:center;width:58px;height:58px;padding:16px;border-radius:50%;background:#dff3f2;color:#123b46}
.dashV356Hero h2{margin:0 0 6px!important;font-family:var(--backend-heading-font),Arial,sans-serif!important;font-size:20px!important;letter-spacing:-.02em!important;color:#102735!important}.dashV356Hero p{margin:0!important;max-width:460px;color:#4f6472;font-size:13px;line-height:1.45}
.dashV356HeroModules{padding-left:24px;border-left:1px solid #cde1df}.dashV356HeroModules>strong{display:block;margin-bottom:10px;font-size:18px;color:#102735}.dashV356HeroModules>div{display:flex;flex-wrap:wrap;gap:8px}
.dashV356ModuleBadge{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:0 14px;border-radius:18px;background:linear-gradient(180deg,#07999b,#007b82);color:#fff!important;text-decoration:none!important;font-size:12px;font-weight:800;box-shadow:0 6px 13px rgba(0,123,130,.13)}.dashV356ModuleBadge span{width:17px;height:17px}
.dashV356HeroVisual{color:#0b8190}.dashV356HeroVisual svg{width:180px;height:112px;stroke-width:1.5}.dashV356HeroDiscover{display:grid;gap:9px;justify-items:start;color:#27434f;font-size:12px;line-height:1.35}.dashV356HeroDiscover a{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 18px;border:1px solid #2d5961;border-radius:8px;background:#fff;color:#163b44!important;text-decoration:none!important;font-weight:800}

.dashV356Overview{padding:12px 0 0}.dashV356OverviewHead{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.78fr);gap:22px;align-items:end;margin-bottom:13px;padding:0 10px}.dashV356OverviewHead small{display:block;margin-bottom:8px;color:#4d626e;font-size:12px;font-weight:800}.dashV356OverviewHead nav{display:flex;flex-wrap:wrap;gap:10px}
.dashV356ModuleTab{display:inline-flex;align-items:center;gap:9px;min-height:42px;padding:0 18px;border:1.5px solid #1a9ca0;border-radius:9px;background:#fff;color:#087a80!important;text-decoration:none!important;font-size:13px;font-weight:850}.dashV356ModuleTab span{width:19px;height:19px}
.dashV356Adaptive{display:flex;align-items:center;gap:12px;min-height:58px;padding:11px 18px;border:1px dashed #d7e5e4;border-radius:10px;background:#fff}.dashV356Adaptive>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#e8f6f1;color:#0d9784;font-weight:900}.dashV356Adaptive strong,.dashV356Adaptive small{display:block}.dashV356Adaptive strong{font-size:13px}.dashV356Adaptive small{margin-top:2px;color:#607482;font-size:11px}
.dashV356Kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:14px;padding:0 8px}.dashV356Kpis article{position:relative;display:grid;grid-template-columns:48px 1fr;gap:13px;align-items:center;min-height:124px;padding:18px 16px 34px;border:1px solid var(--dash-line);border-radius:11px;background:#fff;box-shadow:0 8px 24px rgba(23,56,65,.035)}.dashV356KpiIcon{display:grid;place-items:center;width:48px;height:48px;padding:12px;border-radius:11px;background:#e9f6f5;color:#078d92}.dashV356Kpis small,.dashV356Kpis strong,.dashV356Kpis em{display:block}.dashV356Kpis small{font-size:12px;font-weight:800;color:#1e3541}.dashV356Kpis strong{margin-top:3px;font-size:26px;line-height:1;color:#0e2631}.dashV356Kpis em{margin-top:5px;color:#637985;font-size:11px;font-style:normal}.dashV356Kpis article>a{position:absolute;right:14px;bottom:12px;color:#087c82!important;text-decoration:none!important;font-size:10px;font-weight:850}

.dashV356ModulePanels{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(520px,100%),1fr));gap:18px}
.dashV356ModulePanel{overflow:hidden;border:1px solid var(--dash-line);border-top:2px solid #07979a;border-radius:12px;background:#fff;box-shadow:0 9px 26px rgba(24,55,62,.035)}.dashV356ModulePanel>header{display:flex;align-items:center;min-height:48px;margin:0!important;padding:0 16px;border-bottom:1px solid #edf2f2}.dashV356ModulePanel>header h2{display:flex;align-items:center;gap:9px;margin:0!important;font-family:var(--backend-heading-font),Arial,sans-serif!important;font-size:17px!important;color:#142c36!important}.dashV356ModulePanel>header h2>span{width:20px;height:20px;color:#07898f}
.dashV356ModuleBody{display:grid;gap:12px;padding:12px}.dashV356TraceGrid,.dashV356ProductGrid,.dashV356NutritionGrid{grid-template-columns:1fr 1fr}.dashV356InnerCard{position:relative;min-width:0;min-height:292px;padding:14px 14px 38px;border:1px solid #e3ebea;border-radius:10px;background:#fff}.dashV356CardHead{display:flex;align-items:start;justify-content:space-between;gap:10px;margin-bottom:10px}.dashV356CardHead h3{margin:0!important;font-family:var(--backend-heading-font),Arial,sans-serif!important;font-size:13px!important;color:#172e39!important}.dashV356CardHead p{margin:3px 0 0;color:#667985;font-size:10px;line-height:1.35}.dashV356CardLink{position:absolute;right:14px;bottom:12px;color:#087d83!important;text-decoration:none!important;font-size:10px;font-weight:850}
.dashV356ActivityList>div,.dashV356ProductList>div,.dashV356PlanList>div{display:grid;grid-template-columns:32px 1fr auto;gap:9px;align-items:center;padding:9px 0;border-bottom:1px solid #edf2f1}.dashV356ActivityList>div>span,.dashV356PlanList>div>span:first-child{display:grid;place-items:center;width:31px;height:31px;padding:8px;border-radius:9px;background:#ebf6f5;color:#157d83}.dashV356ActivityList p,.dashV356ProductList p,.dashV356PlanList p{margin:0!important;min-width:0}.dashV356ActivityList strong,.dashV356ActivityList small,.dashV356ProductList strong,.dashV356ProductList small,.dashV356PlanList strong,.dashV356PlanList small{display:block}.dashV356ActivityList strong,.dashV356ProductList strong,.dashV356PlanList strong{font-size:10px;color:#18313c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashV356ActivityList small,.dashV356ProductList small,.dashV356PlanList small{margin-top:2px;color:#647985;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashV356ActivityList time{font-size:9px;color:#71838c;white-space:nowrap}
.dashV356DonutWrap{display:grid;grid-template-columns:125px 1fr;gap:14px;align-items:center;padding-top:18px}.dashV356Donut{display:grid;place-items:center;width:120px;height:120px;border-radius:50%;background:conic-gradient(#078b8d 0 var(--done),#b7d4d5 var(--done) 100%);position:relative}.dashV356Donut::after{content:"";position:absolute;inset:23px;border-radius:50%;background:#fff}.dashV356Donut>span{position:relative;z-index:1;text-align:center}.dashV356Donut strong,.dashV356Donut small{display:block}.dashV356Donut strong{font-size:25px}.dashV356Donut small{font-size:9px;color:#657986}.dashV356DonutLegend{display:grid;gap:10px}.dashV356DonutLegend p{display:grid;grid-template-columns:8px 1fr auto;gap:7px;align-items:center;margin:0!important;font-size:9px}.dashV356DonutLegend i{width:7px;height:7px;border-radius:50%;background:#9abbbc}.dashV356DonutLegend i.is-done{background:#078b8d}.dashV356DonutLegend b{font-size:9px}
.dashV356ProductList>div{grid-template-columns:38px 1fr auto}.dashV356ProductList img,.dashV356ProductPlaceholder{width:35px;height:35px;border-radius:7px;object-fit:cover}.dashV356ProductPlaceholder{display:grid;place-items:center;padding:8px;background:#eef6f5;color:#13868a}.dashV356Status{display:inline-flex!important;align-items:center;justify-content:center;min-height:22px;padding:0 9px;border-radius:12px;font-size:9px!important;font-weight:800!important;white-space:nowrap}.dashV356Status.is-active{background:#dcf3e7;color:#157850}.dashV356Status.is-draft{background:#fff0d7;color:#af6800}
.dashV356ProgressList{display:grid}.dashV356ProgressList>a{display:grid;gap:7px;padding:12px 0;border-bottom:1px solid #edf2f1;color:#172e39!important;text-decoration:none!important}.dashV356ProgressList>a>span{display:flex;justify-content:space-between;gap:10px;align-items:center}.dashV356ProgressList strong{font-size:10px}.dashV356ProgressList em{font-size:9px;font-style:normal;color:#536d78;white-space:nowrap}.dashV356ProgressList i{display:block;height:3px;border-radius:2px;background:#e4ecec;overflow:hidden}.dashV356ProgressList i b{display:block;height:100%;border-radius:inherit;background:#078e93}
.dashV356NutritionList{display:grid}.dashV356NutritionList>a{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid #edf2f1;color:#172e39!important;text-decoration:none!important}.dashV356DateTile{display:grid;place-items:center;width:40px;height:45px;border-radius:8px;background:#edf7f6;color:#087f84}.dashV356DateTile b{font-size:15px;line-height:1}.dashV356DateTile small{margin-top:2px;font-size:8px;font-weight:850}.dashV356NutritionList p{margin:0!important}.dashV356NutritionList strong,.dashV356NutritionList small{display:block}.dashV356NutritionList strong{font-size:10px}.dashV356NutritionList small{margin-top:2px;color:#667985;font-size:9px}
.dashV356Empty{margin:18px 0!important;color:#73858e;font-size:11px!important}

.dashV356Focus{display:grid;grid-template-columns:48px 1fr auto;gap:16px;align-items:center;min-height:84px;padding:14px 20px;border:1px solid #cfe5e4;border-radius:12px;background:linear-gradient(100deg,#f9fdfd,#f3fbfa);box-shadow:0 7px 21px rgba(22,61,68,.025)}.dashV356FocusIcon{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#e9f5f4;color:#14333e;font-size:27px}.dashV356Focus strong{font-size:13px}.dashV356Focus p{margin:4px 0 0!important;color:#607580;font-size:11px}.dashV356Focus>a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 20px;border:1.5px solid #168f94;border-radius:8px;background:#fff;color:#087b81!important;text-decoration:none!important;font-size:11px;font-weight:850}.dashV356Focus>a:hover{background:#078e93!important;color:#fff!important}

@media(max-width:1250px){
  .dashV356Hero{grid-template-columns:minmax(320px,1.2fr) minmax(250px,.9fr) 150px}.dashV356HeroDiscover{display:none}.dashV356HeroVisual svg{width:150px}
  .dashV356OverviewHead{grid-template-columns:1fr}.dashV356Adaptive{max-width:620px}
}
@media(max-width:980px){
  .workspace--dashboard{padding:22px!important}.dashV356Hero{grid-template-columns:1fr 1fr}.dashV356HeroVisual{display:none}.dashV356HeroModules{border-left:0;padding-left:0}.dashV356TraceGrid,.dashV356ProductGrid,.dashV356NutritionGrid{grid-template-columns:1fr}.dashV356InnerCard{min-height:250px}
}
@media(max-width:760px){
  body:has(main.workspace--dashboard){background:#f7fafb!important}.workspace--dashboard{margin-left:0!important;padding:15px 14px 90px!important;max-width:100%!important;overflow-x:hidden!important}
  .dashV356{gap:14px}.dashV356Topbar{min-height:48px!important;padding:0 2px!important}.dashV356Menu{display:grid!important;place-items:center!important;width:38px!important;height:38px!important;min-width:38px!important;padding:0!important;border:1px solid #d7e5e4!important;border-radius:10px!important;background:#fff!important;color:#173d47!important;font-size:20px!important}.dashV356Welcome{flex:1}.dashV356Welcome h1{font-size:18px!important}.dashV356Welcome p{font-size:10px!important}.dashV356TopActions{gap:8px}.dashV356Help{display:none}.dashV356Avatar{width:34px;height:34px}
  .dashV356Hero{display:grid;grid-template-columns:1fr!important;gap:14px!important;min-height:0;padding:17px!important;border-radius:14px}.dashV356HeroLead{grid-template-columns:48px 1fr;gap:12px}.dashV356HeroIcon{width:48px;height:48px;padding:13px}.dashV356Hero h2{font-size:17px!important}.dashV356Hero p{font-size:11px!important}.dashV356HeroModules{padding:12px 0 0!important;border-top:1px solid #dcebea}.dashV356HeroModules>strong{font-size:14px}.dashV356ModuleBadge{min-height:32px;padding:0 12px;font-size:10px}.dashV356HeroVisual,.dashV356HeroDiscover{display:none!important}
  .dashV356Overview{padding-top:0}.dashV356OverviewHead{display:block;margin-bottom:10px;padding:0}.dashV356OverviewHead>div:first-child>small,.dashV356OverviewHead nav{display:none}.dashV356Adaptive{min-height:52px;padding:10px 13px}.dashV356Adaptive strong{font-size:11px}.dashV356Adaptive small{font-size:9px}.dashV356Adaptive>span{width:27px;height:27px}
  .dashV356Kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:0}.dashV356Kpis article{grid-template-columns:38px 1fr;gap:8px;min-height:105px;padding:13px 10px 26px}.dashV356KpiIcon{width:38px;height:38px;padding:10px}.dashV356Kpis small{font-size:9px}.dashV356Kpis strong{font-size:22px}.dashV356Kpis em{font-size:8px}.dashV356Kpis article>a{right:10px;bottom:8px;font-size:8px}
  .dashV356ModulePanels{grid-template-columns:1fr;gap:13px}.dashV356ModulePanel>header{min-height:45px;padding:0 13px}.dashV356ModulePanel>header h2{font-size:15px!important}.dashV356ModuleBody{padding:9px}.dashV356TraceGrid,.dashV356ProductGrid,.dashV356NutritionGrid{grid-template-columns:1fr}.dashV356InnerCard{min-height:245px;padding:12px 12px 35px}.dashV356DonutWrap{grid-template-columns:112px 1fr}.dashV356Donut{width:108px;height:108px}.dashV356Donut::after{inset:21px}
  .dashV356Focus{grid-template-columns:38px 1fr;gap:10px;padding:13px}.dashV356FocusIcon{width:38px;height:38px;font-size:22px}.dashV356Focus strong{font-size:11px}.dashV356Focus p{font-size:9px}.dashV356Focus>a{grid-column:1/-1;width:100%;min-height:40px}
}
@media(max-width:380px){.dashV356Kpis{grid-template-columns:1fr}.dashV356Kpis article{min-height:94px}.dashV356Welcome p{display:none}.dashV356ActivityList time{display:none}.dashV356DonutWrap{grid-template-columns:100px 1fr}.dashV356Donut{width:96px;height:96px}.dashV356Donut::after{inset:19px}}

/* Dashboard: filtro KPI per modulo (desktop, tablet e mobile) */
.dashV356ModuleTab{-webkit-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:7px;min-height:36px;margin:0;padding:0 14px;border:0;border-radius:18px;background:linear-gradient(180deg,#07999b,#007b82);box-shadow:0 6px 13px rgba(0,123,130,.13);color:#fff!important;font-family:inherit;font-size:12px;font-weight:800;cursor:pointer;transition:background-color .18s ease,box-shadow .18s ease,transform .18s ease}
.dashV356ModuleTab:hover{background:linear-gradient(180deg,#08a5a7,#00868d);transform:translateY(-1px)}
.dashV356ModuleTab:focus-visible{outline:3px solid rgba(7,142,147,.24);outline-offset:2px}
.dashV356ModuleTab.is-active{background:linear-gradient(180deg,#006f76,#005760);color:#fff!important;box-shadow:0 0 0 3px rgba(7,142,147,.17),0 7px 16px rgba(0,93,100,.22)}
.dashV356Kpis article[hidden]{display:none!important}
@media(max-width:680px){
  .dashV356OverviewHead>div:first-child>small{display:block!important;margin:0 0 8px!important}
  .dashV356OverviewHead nav{display:flex!important;flex-wrap:nowrap!important;gap:8px!important;width:100%;padding:1px 1px 7px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .dashV356OverviewHead nav::-webkit-scrollbar{display:none}
  .dashV356ModuleTab{flex:0 0 auto;min-height:34px;padding:0 12px;border-radius:17px;font-size:10px}
  .dashV356ModuleTab span{width:16px;height:16px}
  .dashV356Adaptive{margin-top:5px}
}
@media(max-width:380px){
  .dashV356ModuleTab{min-height:32px;padding:0 11px;border-radius:16px;font-size:9px}
  .dashV356ModuleTab span{width:15px;height:15px}
}

/* Impostazioni Generali — layout approvato */
.generalSettingsFormV3{margin-top:20px}.generalSettingsV3Grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(360px,.95fr);gap:20px;align-items:start}.generalSettingsV3Main{display:grid;gap:16px}.settingsCardV3{padding:24px;border:1px solid #dfe8e5;border-radius:18px;background:#fff}.settingsCardV3>.eyebrow{margin:0 0 9px;color:#5c817b}.settingsCardV3>h3{margin:0 0 6px!important;font-size:24px!important}.settingsCardV3>p:not(.eyebrow){margin:0 0 20px;color:#687883}.settingsCardV3 label{margin:14px 0 0}.settingsCardV3 input,.settingsCardV3 textarea{border-radius:12px}.generalLogoRow{display:grid;grid-template-columns:145px minmax(150px,1fr) auto auto;gap:14px;align-items:center;margin-top:18px;padding-top:18px;border-top:1px solid #e7eeec}.generalLogoThumb{display:grid;place-items:center;width:145px;height:62px;padding:8px;border:1px solid #e0e8e5;border-radius:12px;background:#fff}.generalLogoThumb img{max-width:100%;max-height:100%;object-fit:contain}.generalLogoThumb span{color:#788984;font-weight:800}.generalHiddenControl{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}.generalReplaceLogo{display:inline-flex!important;align-items:center;justify-content:center;min-height:42px;margin:0!important;padding:0 16px!important;border:1.5px solid #078e93!important;border-radius:10px!important;background:#fff!important;color:#087c82!important;white-space:nowrap;cursor:pointer}.generalRemoveLogo{padding:10px 4px!important;background:transparent!important;color:#bd2f2f!important;box-shadow:none!important;white-space:nowrap}.generalRemoveLogo.is-armed{color:#687883!important}.generalDashboardCard{display:grid}.generalToggleRow{display:flex!important;align-items:center;gap:10px;margin:10px 0 0!important;cursor:pointer}.generalToggleRow input{position:absolute;opacity:0;width:1px}.generalToggleRow>span{position:relative;width:38px;height:22px;border-radius:999px;background:#c9d5d2;transition:.18s}.generalToggleRow>span:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #0003;transition:.18s}.generalToggleRow input:checked+span{background:#078e93}.generalToggleRow input:checked+span:after{transform:translateX(16px)}.generalToggleRow b{font-size:13px}.generalSaveV3{display:inline-flex;align-items:center;justify-content:center;gap:9px;justify-self:start;margin-top:18px;min-height:46px;padding:0 20px}.generalSaveV3 svg{width:19px;height:19px}.generalPreviewV3{position:sticky;top:22px}.generalPreviewFrame{overflow:hidden;margin-top:18px;border:1px solid #dfe7e5;border-radius:14px;background:#fff}.generalPreviewFrame>header{display:flex;align-items:center;gap:13px;min-height:66px;margin:0!important;padding:12px 16px!important;border-bottom:1px solid #e6edeb}.generalPreviewFrame>header img{width:72px;height:38px;object-fit:contain}.generalPreviewMenu{font-size:22px;color:#49616a}.generalPreviewLogoFallback{display:grid;place-items:center;width:40px;height:40px;border-radius:9px;background:#eaf5f3;color:#087f84;font-weight:850}.generalPreviewFrame>header strong{font-size:12px}.generalPreviewFrame>div{padding:22px}.generalPreviewFrame h4{margin:0 0 8px;font-size:21px}.generalPreviewFrame p{margin:0;color:#667984;line-height:1.45}.generalUsageList{display:grid;gap:9px;margin-top:14px}.generalUsageList>div{display:flex;align-items:center;gap:13px;min-height:48px;padding:0 14px;border:1px solid #e1e9e7;border-radius:11px}.generalUsageList span{display:grid;place-items:center;width:26px;color:#078e93;font-size:19px}.generalUsageList strong{font-size:12px}.generalAutoNote{margin:16px 0 0!important;color:#70817d!important;font-size:11px}.settingsPage .settingsPageHead p{max-width:none}
@media(max-width:1050px){.generalSettingsV3Grid{grid-template-columns:1fr}.generalPreviewV3{position:static}.generalSettingsV3Main{order:1}.generalPreviewV3{order:2}}
@media(max-width:650px){.settingsCardV3{padding:18px 15px;border-radius:15px}.settingsCardV3>h3{font-size:20px!important}.generalLogoRow{grid-template-columns:100px minmax(0,1fr);gap:12px}.generalLogoThumb{width:100px;height:54px}.generalReplaceLogo{grid-column:1;min-height:40px;padding:0 10px!important;font-size:11px}.generalRemoveLogo{grid-column:2;justify-self:start}.generalSaveV3{width:100%;justify-self:stretch}.generalPreviewFrame>div{padding:18px}.generalPreviewFrame h4{font-size:18px}}

/* =========================================================
   YMYSY v3.57 — SIDEBAR PREMIUM / MOCKUP DASHBOARD APPROVATO
   Struttura globale del backend. Mantiene voci, permessi e routing reali.
   ========================================================= */
body:not(.public) .sidebarV357{
  --sv-bg-top:#004a55;
  --sv-bg-mid:#003c46;
  --sv-bg-bottom:#00343d;
  --sv-active:#079aa2;
  --sv-active-dark:#087c87;
  --sv-text:#f5fbfb;
  --sv-muted:#c4dfe1;
  --sv-line:rgba(207,239,241,.15);
  width:252px!important;
  padding:22px 16px 18px!important;
  background:linear-gradient(180deg,var(--sv-bg-top) 0%,var(--sv-bg-mid) 48%,var(--sv-bg-bottom) 100%)!important;
  border-right:0!important;
  color:var(--sv-text)!important;
  box-shadow:8px 0 28px rgba(0,43,51,.12)!important;
  overflow:hidden!important;
}
body:not(.public) .sidebarV357 .sidebarV357BrandRow{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  min-height:72px!important;
  padding:4px 4px 10px!important;
  border:0!important;
}
body:not(.public) .sidebarV357 .platformSidebarBrand{gap:7px!important}
body:not(.public) .sidebarV357 .platformSidebarBrandMain{align-items:center!important;gap:12px!important}
body:not(.public) .sidebarV357 .platformSidebarLogo{max-width:76px!important;max-height:48px!important}
body:not(.public) .sidebarV357 .platformSidebarLogo img{max-width:76px!important;max-height:48px!important;object-fit:contain!important}
body:not(.public) .sidebarV357 .platformSidebarName{
  color:#fff!important;
  font-size:min(var(--platform-name-size,24px),25px)!important;
  font-weight:850!important;
  letter-spacing:-.02em!important;
}
body:not(.public) .sidebarV357 .superAdminBadge{margin-top:2px!important;background:rgba(119,104,231,.88)!important}
body:not(.public) .sidebarV357 .mobileMenuClose{display:none!important}
body:not(.public) .sidebarV357 .sidebarV357Nav{
  display:flex!important;
  flex:1 1 auto!important;
  flex-direction:column!important;
  gap:4px!important;
  min-height:0!important;
  margin:10px 0 0!important;
  padding:0 2px 8px 0!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
  scrollbar-width:none;
}
body:not(.public) .sidebarV357 .sidebarV357Nav::-webkit-scrollbar{display:none}
body:not(.public) .sidebarV357 .sidebarGroup{display:grid!important;gap:3px!important}
body:not(.public) .sidebarV357 .sidebarGroupToggle,
body:not(.public) .sidebarV357 .sidebarPrimaryLink{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  width:100%!important;
  min-height:50px!important;
  margin:0!important;
  padding:0 13px!important;
  border:0!important;
  border-radius:10px!important;
  background:transparent!important;
  color:var(--sv-text)!important;
  box-shadow:none!important;
  text-decoration:none!important;
  font-family:var(--backend-body-font),Arial,sans-serif!important;
  font-size:14px!important;
  font-weight:730!important;
  line-height:1.15!important;
  transition:background-color .16s ease,box-shadow .16s ease,transform .16s ease!important;
}
body:not(.public) .sidebarV357 .sidebarItemMain{display:flex!important;align-items:center!important;gap:12px!important;min-width:0!important}
body:not(.public) .sidebarV357 .sidebarItemIcon{
  display:grid!important;
  place-items:center!important;
  flex:0 0 24px!important;
  width:24px!important;
  height:24px!important;
  color:#eefafb!important;
}
body:not(.public) .sidebarV357 .sidebarItemIcon svg{display:block!important;width:22px!important;height:22px!important;fill:none!important;stroke:currentColor!important}
body:not(.public) .sidebarV357 .sidebarItemLabel{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
body:not(.public) .sidebarV357 .sidebarChevron{display:grid!important;place-items:center!important;width:24px!important;height:24px!important;color:#d8edef!important;font-size:22px!important;line-height:1!important;transition:transform .16s ease!important}
body:not(.public) .sidebarV357 .sidebarGroup.is-open>.sidebarGroupToggle .sidebarChevron{transform:rotate(90deg)!important}
body:not(.public) .sidebarV357 .sidebarGroupToggle:hover,
body:not(.public) .sidebarV357 .sidebarPrimaryLink:hover,
body:not(.public) .sidebarV357 .sidebarGroupToggle:focus-visible,
body:not(.public) .sidebarV357 .sidebarPrimaryLink:focus-visible{
  background:rgba(255,255,255,.07)!important;
  color:#fff!important;
  outline:none!important;
}
body:not(.public) .sidebarV357 .sidebarGroupToggle.active,
body:not(.public) .sidebarV357 .sidebarGroup.is-open>.sidebarGroupToggle.active,
body:not(.public) .sidebarV357 .sidebarPrimaryLink.active{
  background:linear-gradient(90deg,var(--sv-active) 0%,var(--sv-active-dark) 100%)!important;
  color:#fff!important;
  box-shadow:0 9px 22px rgba(0,0,0,.12),inset 3px 0 0 #20e0df!important;
}
body:not(.public) .sidebarV357 .sidebarGroupToggle.active .sidebarItemIcon,
body:not(.public) .sidebarV357 .sidebarPrimaryLink.active .sidebarItemIcon{color:#fff!important}
body:not(.public) .sidebarV357 .sidebarNavDivider{height:1px!important;margin:12px 10px 9px!important;background:var(--sv-line)!important}
body:not(.public) .sidebarV357 .adminLinks{display:grid!important;gap:4px!important;margin-top:0!important;border:0!important}
body:not(.public) .sidebarV357 .adminLinks .settingsLink{margin-top:0!important;border:0!important;padding-top:0!important}
body:not(.public) .sidebarV357 .adminLinks .settingsLink+.settingsLink{border:0!important;margin-top:0!important;padding-top:0!important}

/* Flyout desktop: chiaro, pulito, coerente con il mockup. */
@media(min-width:901px){
  body:not(.public) .sidebarV357 .sidebarGroup>.sidebarSubmenu{
    left:252px!important;
    width:300px!important;
    padding:82px 18px 24px!important;
    border-left:0!important;
    border-right:1px solid #dce7e7!important;
    background:#fff!important;
    color:#17333b!important;
    box-shadow:18px 0 36px rgba(0,45,54,.10)!important;
  }
  body:not(.public) .sidebarV357 .sidebarGroup>.sidebarSubmenu::before{
    color:#17333b!important;
    font-family:var(--backend-heading-font),Arial,sans-serif!important;
    font-size:22px!important;
    border-bottom-color:#e8efef!important;
  }
  body:not(.public) .sidebarV357 .sidebarSubmenu a{
    min-height:44px!important;
    padding:11px 13px!important;
    border-radius:9px!important;
    color:#526771!important;
    background:transparent!important;
    font-size:14px!important;
    font-weight:700!important;
  }
  body:not(.public) .sidebarV357 .sidebarSubmenu a:hover{background:#eef8f7!important;color:#087e83!important}
  body:not(.public) .sidebarV357 .sidebarSubmenu a.active{background:#e6f6f4!important;color:#077a80!important;font-weight:850!important}
}

body:not(.public) .sidebarV357 .sidebarV357Bottom{display:grid!important;gap:12px!important;margin-top:auto!important;padding-top:14px!important}
body:not(.public) .sidebarV357 .sidebarSupportCard{
  display:grid!important;
  gap:8px!important;
  margin:0!important;
  padding:15px!important;
  border:1px solid rgba(210,240,242,.18)!important;
  border-radius:13px!important;
  background:rgba(0,33,40,.17)!important;
  color:#fff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
}
body:not(.public) .sidebarV357 .sidebarSupportCard strong{font-size:12px!important;font-weight:800!important;color:#fff!important}
body:not(.public) .sidebarV357 .sidebarSupportCard p{margin:0!important;color:#c9e0e2!important;font-size:11px!important;line-height:1.55!important}
body:not(.public) .sidebarV357 .sidebarSupportCard a{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  min-height:38px!important;
  margin-top:3px!important;
  border:1px solid #0bb8bf!important;
  border-radius:9px!important;
  background:transparent!important;
  color:#fff!important;
  text-decoration:none!important;
  font-size:11px!important;
  font-weight:800!important;
}
body:not(.public) .sidebarV357 .sidebarSupportCard a:hover{background:#07959c!important;border-color:#07959c!important}
body:not(.public) .sidebarV357 .sidebarSupportCard a span{width:18px!important;height:18px!important}
body:not(.public) .sidebarV357 .sidebarSupportCard a svg{width:18px!important;height:18px!important}
body:not(.public) .sidebarV357 .sidebarAccountCard{
  display:grid!important;
  grid-template-columns:40px minmax(0,1fr) 34px!important;
  align-items:center!important;
  gap:10px!important;
  margin:0!important;
  padding:12px!important;
  border:1px solid rgba(210,240,242,.17)!important;
  border-radius:13px!important;
  background:rgba(0,34,42,.18)!important;
  color:#fff!important;
}
body:not(.public) .sidebarV357 .sidebarAccountAvatar{display:grid!important;place-items:center!important;width:40px!important;height:40px!important;border-radius:50%!important;background:linear-gradient(145deg,#0d8c99,#075967)!important;color:#fff!important;font-size:12px!important;font-weight:850!important}
body:not(.public) .sidebarV357 .sidebarAccountMeta{display:grid!important;gap:3px!important;min-width:0!important}
body:not(.public) .sidebarV357 .sidebarAccountMeta strong{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;color:#fff!important;font-size:12px!important;font-weight:800!important}
body:not(.public) .sidebarV357 .sidebarAccountMeta small{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;color:#c6dde0!important;font-size:10px!important}
body:not(.public) .sidebarV357 .sidebarLogout{
  display:grid!important;
  place-items:center!important;
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  padding:0!important;
  border:1px solid rgba(255,255,255,.13)!important;
  border-radius:9px!important;
  background:rgba(255,255,255,.04)!important;
  color:#eaf7f8!important;
}
body:not(.public) .sidebarV357 .sidebarLogout:hover{background:rgba(255,255,255,.11)!important;color:#fff!important}
body:not(.public) .sidebarV357 .sidebarLogout span,body:not(.public) .sidebarV357 .sidebarLogout svg{width:18px!important;height:18px!important}

@media(min-width:1024px){
  body:not(.public) .sidebarV357~.workspace{margin-left:252px!important}
}
@media(max-width:1023px){
  body:not(.public) .sidebarV357{
    width:min(88vw,320px)!important;
    max-width:320px!important;
    padding:18px 15px max(18px,env(safe-area-inset-bottom))!important;
    box-shadow:16px 0 38px rgba(0,30,36,.34)!important;
    overflow-y:auto!important;
  }
  body:not(.public) .sidebarV357 .sidebarV357BrandRow{min-height:58px!important;padding:0 2px 8px!important}
  body:not(.public) .sidebarV357 .platformSidebarLogo{max-width:68px!important;max-height:42px!important}
  body:not(.public) .sidebarV357 .platformSidebarLogo img{max-width:68px!important;max-height:42px!important}
  body:not(.public) .sidebarV357 .platformSidebarName{font-size:min(var(--platform-name-size,24px),22px)!important}
  body:not(.public) .sidebarV357 .mobileMenuClose{
    display:grid!important;
    place-items:center!important;
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    padding:0!important;
    border:1px solid rgba(255,255,255,.15)!important;
    border-radius:10px!important;
    background:rgba(255,255,255,.08)!important;
    color:#fff!important;
  }
  body:not(.public) .sidebarV357 .sidebarV357Nav{flex:0 0 auto!important;margin-top:8px!important;overflow:visible!important}
  body:not(.public) .sidebarV357 .sidebarGroupToggle,
  body:not(.public) .sidebarV357 .sidebarPrimaryLink{min-height:48px!important;padding:0 12px!important;font-size:14px!important}
  body:not(.public) .sidebarV357 .sidebarGroup>.sidebarSubmenu{
    position:static!important;
    width:auto!important;
    margin:5px 0 8px 36px!important;
    padding:6px!important;
    border:1px solid rgba(255,255,255,.11)!important;
    border-radius:10px!important;
    background:rgba(255,255,255,.055)!important;
    box-shadow:none!important;
  }
  body:not(.public) .sidebarV357 .sidebarGroup>.sidebarSubmenu::before{display:none!important}
  body:not(.public) .sidebarV357 .sidebarSubmenu a{min-height:40px!important;padding:9px 10px!important;border-radius:8px!important;color:#dff1f2!important;background:transparent!important;font-size:12px!important}
  body:not(.public) .sidebarV357 .sidebarSubmenu a:hover,
  body:not(.public) .sidebarV357 .sidebarSubmenu a.active{background:rgba(255,255,255,.10)!important;color:#fff!important}
  body:not(.public) .sidebarV357 .sidebarV357Bottom{margin-top:18px!important}
}

/* =========================================================
   v3.58 — SIDEBAR ALIGNMENT + COLOR FIX
   Allineamento icone/testi e palette fedele al mockup.
   ========================================================= */
body:not(.public) .sidebarV357{
  --sv-bg-top:#013f49;
  --sv-bg-mid:#003742;
  --sv-bg-bottom:#00303a;
  --sv-active:#0ca8af;
  --sv-active-dark:#078e98;
  --sv-text:#f6fbfc;
  --sv-muted:#d5ecee;
  --sv-line:rgba(215,239,241,.18);
}

/* rimuove l'effetto "attivo" dai gruppi solo aperti */
body:not(.public) .sidebarV357 .sidebarGroup.is-open>.sidebarGroupToggle:not(.active){
  background:transparent!important;
  color:var(--sv-text)!important;
  box-shadow:none!important;
}

/* geometria allineata come nel mockup */
body:not(.public) .sidebarV357 .sidebarGroupToggle,
body:not(.public) .sidebarV357 .sidebarPrimaryLink{
  min-height:58px!important;
  padding:0 18px!important;
  border-radius:18px!important;
  font-size:17px!important;
  font-weight:800!important;
  letter-spacing:-.01em!important;
}
body:not(.public) .sidebarV357 .sidebarGroupToggle{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 26px!important;
  align-items:center!important;
  column-gap:14px!important;
}
body:not(.public) .sidebarV357 .sidebarPrimaryLink{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  align-items:center!important;
}
body:not(.public) .sidebarV357 .sidebarItemMain{
  display:grid!important;
  grid-template-columns:28px minmax(0,1fr)!important;
  align-items:center!important;
  column-gap:18px!important;
  min-width:0!important;
}
body:not(.public) .sidebarV357 .sidebarItemIcon{
  width:28px!important;
  height:28px!important;
  flex:0 0 28px!important;
  align-self:center!important;
  justify-self:center!important;
  color:#f4fbfc!important;
}
body:not(.public) .sidebarV357 .sidebarItemIcon svg{
  width:26px!important;
  height:26px!important;
  stroke-width:1.9!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
body:not(.public) .sidebarV357 .sidebarItemLabel{
  display:block!important;
  line-height:1.15!important;
  transform:translateY(1px)!important;
}
body:not(.public) .sidebarV357 .sidebarChevron{
  width:26px!important;
  height:26px!important;
  font-size:24px!important;
  color:#d9edf0!important;
  justify-self:end!important;
}

/* hover discreto, non grigio pesante */
body:not(.public) .sidebarV357 .sidebarGroupToggle:hover,
body:not(.public) .sidebarV357 .sidebarPrimaryLink:hover,
body:not(.public) .sidebarV357 .sidebarGroupToggle:focus-visible,
body:not(.public) .sidebarV357 .sidebarPrimaryLink:focus-visible{
  background:rgba(255,255,255,.06)!important;
  color:#fff!important;
  box-shadow:none!important;
}

/* attivo fedele al mockup */
body:not(.public) .sidebarV357 .sidebarGroupToggle.active,
body:not(.public) .sidebarV357 .sidebarPrimaryLink.active{
  background:linear-gradient(90deg,#0baab1 0%,#0a959e 100%)!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(2,26,31,.18), inset 4px 0 0 #39e5ea!important;
}
body:not(.public) .sidebarV357 .sidebarGroupToggle.active .sidebarItemIcon,
body:not(.public) .sidebarV357 .sidebarPrimaryLink.active .sidebarItemIcon,
body:not(.public) .sidebarV357 .sidebarGroupToggle.active .sidebarChevron,
body:not(.public) .sidebarV357 .sidebarPrimaryLink.active .sidebarChevron{
  color:#fff!important;
}

/* separatore e submenu in palette */
body:not(.public) .sidebarV357 .sidebarNavDivider{margin:15px 12px 12px!important;background:rgba(215,239,241,.20)!important}
@media(min-width:901px){
  body:not(.public) .sidebarV357 .sidebarSubmenu a:hover{background:#edf8f8!important;color:#087e86!important}
  body:not(.public) .sidebarV357 .sidebarSubmenu a.active{background:#e2f6f5!important;color:#087e86!important}
}

/* mobile: stessa griglia ma leggermente più compatta */
@media(max-width:1023px){
  body:not(.public) .sidebarV357 .sidebarGroupToggle,
  body:not(.public) .sidebarV357 .sidebarPrimaryLink{
    min-height:56px!important;
    padding:0 16px!important;
    border-radius:16px!important;
    font-size:16px!important;
  }
  body:not(.public) .sidebarV357 .sidebarItemMain{
    grid-template-columns:26px minmax(0,1fr)!important;
    column-gap:16px!important;
  }
  body:not(.public) .sidebarV357 .sidebarItemIcon{width:26px!important;height:26px!important;flex-basis:26px!important}
  body:not(.public) .sidebarV357 .sidebarItemIcon svg{width:24px!important;height:24px!important}
  body:not(.public) .sidebarV357 .sidebarChevron{width:24px!important;height:24px!important;font-size:22px!important}
}


/* =========================================================
   YMYSY v3.59 — SIDEBAR MOCKUP FEDELE / ISOLATA
   Nuove classi: nessuna ereditarieta dalle sperimentazioni v3.57/v3.58.
   Dimensioni compatte, nessun testo troncato, active/hover solo teal.
   ========================================================= */
body:not(.public) .appSidebar.sidebarV359{
  --sm-bg-top:#00454e;
  --sm-bg-mid:#003b44;
  --sm-bg-bottom:#00343c;
  --sm-active:#078f98;
  --sm-active-2:#087c86;
  --sm-hover:rgba(9,146,156,.22);
  --sm-text:#f5fbfc;
  --sm-muted:#c9e1e3;
  --sm-line:rgba(215,239,241,.17);
  position:fixed!important;
  inset:0 auto 0 0!important;
  width:252px!important;
  padding:22px 16px 18px!important;
  display:flex!important;
  flex-direction:column!important;
  background:linear-gradient(180deg,var(--sm-bg-top) 0%,var(--sm-bg-mid) 52%,var(--sm-bg-bottom) 100%)!important;
  border-right:0!important;
  color:var(--sm-text)!important;
  box-shadow:8px 0 28px rgba(0,39,47,.12)!important;
  overflow:hidden!important;
}
body:not(.public) .appSidebar.sidebarV359 .sidebarV359BrandRow{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  min-height:68px!important;
  padding:3px 4px 9px!important;
}
body:not(.public) .appSidebar.sidebarV359 .platformSidebarBrandMain{display:flex!important;align-items:center!important;gap:11px!important;min-width:0!important}
body:not(.public) .appSidebar.sidebarV359 .platformSidebarLogo{flex:0 0 auto!important;max-width:72px!important;max-height:46px!important}
body:not(.public) .appSidebar.sidebarV359 .platformSidebarLogo img{display:block!important;max-width:72px!important;max-height:46px!important;object-fit:contain!important}
body:not(.public) .appSidebar.sidebarV359 .platformSidebarName{
  display:block!important;
  max-width:128px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  color:#fff!important;
  font-size:23px!important;
  line-height:1!important;
  font-weight:850!important;
  letter-spacing:-.02em!important;
}
body:not(.public) .appSidebar.sidebarV359 .mobileMenuClose{display:none!important}

body:not(.public) .appSidebar.sidebarV359 .sidebarV359Nav{
  display:flex!important;
  flex:1 1 auto!important;
  flex-direction:column!important;
  gap:5px!important;
  min-height:0!important;
  margin:11px 0 0!important;
  padding:0 2px 8px 0!important;
  overflow-y:auto!important;
  scrollbar-width:none!important;
}
body:not(.public) .appSidebar.sidebarV359 .sidebarV359Nav::-webkit-scrollbar{display:none!important}
body:not(.public) .appSidebar.sidebarV359 .sidebarGroup{display:grid!important;gap:3px!important}

/* reset definitivo dei vecchi background grigi */
body:not(.public) .appSidebar.sidebarV359 .sidebarGroupToggle,
body:not(.public) .appSidebar.sidebarV359 .sidebarPrimaryLink,
body:not(.public) .appSidebar.sidebarV359 .sidebarGroup.is-open>.sidebarGroupToggle,
body:not(.public) .appSidebar.sidebarV359 .adminLinks .settingsLink{
  box-sizing:border-box!important;
  min-height:50px!important;
  margin:0!important;
  padding:0 12px!important;
  border:0!important;
  border-radius:10px!important;
  background:transparent!important;
  color:var(--sm-text)!important;
  box-shadow:none!important;
  text-decoration:none!important;
  font-family:var(--backend-body-font),Helvetica,Arial,sans-serif!important;
  font-size:14px!important;
  font-weight:730!important;
  line-height:1!important;
  letter-spacing:0!important;
}
body:not(.public) .appSidebar.sidebarV359 .sidebarGroupToggle{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 20px!important;
  align-items:center!important;
  column-gap:8px!important;
  width:100%!important;
}
body:not(.public) .appSidebar.sidebarV359 .sidebarPrimaryLink{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  align-items:center!important;
  width:100%!important;
}
body:not(.public) .appSidebar.sidebarV359 .sidebarItemMain{
  display:grid!important;
  grid-template-columns:23px minmax(0,1fr)!important;
  align-items:center!important;
  column-gap:11px!important;
  min-width:0!important;
  width:100%!important;
}
body:not(.public) .appSidebar.sidebarV359 .sidebarItemIcon{
  display:grid!important;
  place-items:center!important;
  width:23px!important;
  height:23px!important;
  min-width:23px!important;
  color:#f2fafb!important;
}
body:not(.public) .appSidebar.sidebarV359 .sidebarItemIcon svg{
  display:block!important;
  width:22px!important;
  height:22px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
body:not(.public) .appSidebar.sidebarV359 .sidebarItemLabel{
  display:block!important;
  min-width:0!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:nowrap!important;
  color:inherit!important;
  line-height:1.1!important;
  transform:none!important;
}
body:not(.public) .appSidebar.sidebarV359 .sidebarChevron{
  display:grid!important;
  place-items:center!important;
  width:20px!important;
  height:20px!important;
  color:#d9eef0!important;
  font-size:20px!important;
  line-height:1!important;
  justify-self:end!important;
  transition:transform .16s ease!important;
}
body:not(.public) .appSidebar.sidebarV359 .sidebarGroup.is-open>.sidebarGroupToggle .sidebarChevron{transform:rotate(90deg)!important}

/* hover teal, mai grigio */
body:not(.public) .appSidebar.sidebarV359 .sidebarGroupToggle:hover,
body:not(.public) .appSidebar.sidebarV359 .sidebarPrimaryLink:hover,
body:not(.public) .appSidebar.sidebarV359 .sidebarGroupToggle:focus-visible,
body:not(.public) .appSidebar.sidebarV359 .sidebarPrimaryLink:focus-visible,
body:not(.public) .appSidebar.sidebarV359 .sidebarGroup.is-open>.sidebarGroupToggle:not(.active){
  background:var(--sm-hover)!important;
  color:#fff!important;
  box-shadow:none!important;
  outline:none!important;
}

/* stato attivo esattamente teal */
body:not(.public) .appSidebar.sidebarV359 .sidebarGroupToggle.active,
body:not(.public) .appSidebar.sidebarV359 .sidebarGroup.is-open>.sidebarGroupToggle.active,
body:not(.public) .appSidebar.sidebarV359 .sidebarPrimaryLink.active,
body:not(.public) .appSidebar.sidebarV359 .adminLinks .settingsLink.active{
  background:linear-gradient(90deg,var(--sm-active) 0%,var(--sm-active-2) 100%)!important;
  color:#fff!important;
  box-shadow:0 8px 20px rgba(0,25,31,.16),inset 3px 0 0 #23d9df!important;
}
body:not(.public) .appSidebar.sidebarV359 .sidebarGroupToggle.active .sidebarItemIcon,
body:not(.public) .appSidebar.sidebarV359 .sidebarGroupToggle.active .sidebarChevron,
body:not(.public) .appSidebar.sidebarV359 .sidebarPrimaryLink.active .sidebarItemIcon{color:#fff!important}

body:not(.public) .appSidebar.sidebarV359 .sidebarNavDivider{
  height:1px!important;
  margin:12px 10px 9px!important;
  background:var(--sm-line)!important;
}
body:not(.public) .appSidebar.sidebarV359 .adminLinks{display:grid!important;gap:5px!important;margin:0!important;border:0!important}
body:not(.public) .appSidebar.sidebarV359 .adminLinks .settingsLink{margin:0!important;padding:0 12px!important;border:0!important}

/* flyout desktop */
@media(min-width:901px){
  body:not(.public) .appSidebar.sidebarV359 .sidebarGroup>.sidebarSubmenu{
    left:252px!important;
    width:300px!important;
    padding:82px 18px 24px!important;
    border:0!important;
    border-right:1px solid #dce7e7!important;
    background:#fff!important;
    color:#17333b!important;
    box-shadow:18px 0 36px rgba(0,45,54,.10)!important;
  }
  body:not(.public) .appSidebar.sidebarV359 .sidebarSubmenu a{
    min-height:44px!important;
    padding:11px 13px!important;
    border-radius:9px!important;
    background:transparent!important;
    color:#526771!important;
    font-size:14px!important;
    font-weight:700!important;
  }
  body:not(.public) .appSidebar.sidebarV359 .sidebarSubmenu a:hover{background:#edf8f8!important;color:#087e86!important}
  body:not(.public) .appSidebar.sidebarV359 .sidebarSubmenu a.active{background:#e2f6f5!important;color:#087e86!important;font-weight:850!important}
}

body:not(.public) .appSidebar.sidebarV359 .sidebarV359Bottom{
  display:grid!important;
  gap:12px!important;
  margin-top:auto!important;
  padding-top:14px!important;
}
body:not(.public) .appSidebar.sidebarV359 .sidebarSupportCard{
  display:grid!important;
  gap:8px!important;
  margin:0!important;
  padding:15px!important;
  border:1px solid rgba(210,240,242,.18)!important;
  border-radius:13px!important;
  background:rgba(0,30,37,.17)!important;
  color:#fff!important;
}
body:not(.public) .appSidebar.sidebarV359 .sidebarSupportCard strong{font-size:12px!important;font-weight:800!important;color:#fff!important}
body:not(.public) .appSidebar.sidebarV359 .sidebarSupportCard p{margin:0!important;color:#c9e0e2!important;font-size:11px!important;line-height:1.55!important}
body:not(.public) .appSidebar.sidebarV359 .sidebarSupportCard a{
  display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;
  min-height:38px!important;margin-top:3px!important;border:1px solid #0bb8bf!important;border-radius:9px!important;
  background:transparent!important;color:#fff!important;text-decoration:none!important;font-size:11px!important;font-weight:800!important;
}
body:not(.public) .appSidebar.sidebarV359 .sidebarSupportCard a:hover{background:#07959c!important;border-color:#07959c!important}
body:not(.public) .appSidebar.sidebarV359 .sidebarSupportCard a span,
body:not(.public) .appSidebar.sidebarV359 .sidebarSupportCard a svg{width:18px!important;height:18px!important}
body:not(.public) .appSidebar.sidebarV359 .sidebarAccountCard{
  display:grid!important;
  grid-template-columns:40px minmax(0,1fr) 34px!important;
  align-items:center!important;
  gap:10px!important;
  margin:0!important;
  padding:12px!important;
  border:1px solid rgba(210,240,242,.17)!important;
  border-radius:13px!important;
  background:rgba(0,31,38,.18)!important;
  color:#fff!important;
}
body:not(.public) .appSidebar.sidebarV359 .sidebarAccountAvatar{
  display:grid!important;place-items:center!important;width:40px!important;height:40px!important;border-radius:50%!important;
  background:linear-gradient(145deg,#0d8c99,#075967)!important;color:#fff!important;font-size:12px!important;font-weight:850!important;
}
body:not(.public) .appSidebar.sidebarV359 .sidebarAccountMeta{display:grid!important;gap:3px!important;min-width:0!important}
body:not(.public) .appSidebar.sidebarV359 .sidebarAccountMeta strong{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;color:#fff!important;font-size:12px!important;font-weight:800!important}
body:not(.public) .appSidebar.sidebarV359 .sidebarAccountMeta small{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;color:#c6dde0!important;font-size:10px!important}
body:not(.public) .appSidebar.sidebarV359 .sidebarLogout{
  display:grid!important;place-items:center!important;width:34px!important;height:34px!important;min-width:34px!important;padding:0!important;
  border:1px solid rgba(255,255,255,.13)!important;border-radius:9px!important;background:rgba(255,255,255,.04)!important;color:#eaf7f8!important;
}
body:not(.public) .appSidebar.sidebarV359 .sidebarLogout:hover{background:rgba(255,255,255,.11)!important;color:#fff!important}
body:not(.public) .appSidebar.sidebarV359 .sidebarLogout span,
body:not(.public) .appSidebar.sidebarV359 .sidebarLogout svg{width:18px!important;height:18px!important}

@media(min-width:1024px){
  body:not(.public) .appSidebar.sidebarV359~.workspace{margin-left:252px!important}
}
@media(max-width:1023px){
  body:not(.public) .appSidebar.sidebarV359{
    width:min(88vw,310px)!important;
    max-width:310px!important;
    padding:18px 15px max(18px,env(safe-area-inset-bottom))!important;
    overflow-y:auto!important;
    box-shadow:16px 0 38px rgba(0,30,36,.34)!important;
  }
  body:not(.public) .appSidebar.sidebarV359 .sidebarV359BrandRow{min-height:58px!important;padding:0 2px 8px!important}
  body:not(.public) .appSidebar.sidebarV359 .platformSidebarLogo,
  body:not(.public) .appSidebar.sidebarV359 .platformSidebarLogo img{max-width:68px!important;max-height:42px!important}
  body:not(.public) .appSidebar.sidebarV359 .platformSidebarName{font-size:21px!important;max-width:150px!important}
  body:not(.public) .appSidebar.sidebarV359 .mobileMenuClose{
    display:grid!important;place-items:center!important;width:40px!important;height:40px!important;min-width:40px!important;padding:0!important;
    border:1px solid rgba(255,255,255,.15)!important;border-radius:10px!important;background:rgba(255,255,255,.08)!important;color:#fff!important;
  }
  body:not(.public) .appSidebar.sidebarV359 .sidebarV359Nav{flex:0 0 auto!important;margin-top:8px!important;overflow:visible!important}
  body:not(.public) .appSidebar.sidebarV359 .sidebarGroupToggle,
  body:not(.public) .appSidebar.sidebarV359 .sidebarPrimaryLink{min-height:48px!important;padding:0 11px!important;font-size:14px!important}
  body:not(.public) .appSidebar.sidebarV359 .sidebarGroup>.sidebarSubmenu{
    position:static!important;width:auto!important;margin:5px 0 8px 34px!important;padding:6px!important;
    border:1px solid rgba(255,255,255,.11)!important;border-radius:10px!important;background:rgba(255,255,255,.055)!important;box-shadow:none!important;
  }
  body:not(.public) .appSidebar.sidebarV359 .sidebarGroup>.sidebarSubmenu::before{display:none!important}
  body:not(.public) .appSidebar.sidebarV359 .sidebarSubmenu a{min-height:40px!important;padding:9px 10px!important;border-radius:8px!important;color:#dff1f2!important;background:transparent!important;font-size:12px!important}
  body:not(.public) .appSidebar.sidebarV359 .sidebarSubmenu a:hover,
  body:not(.public) .appSidebar.sidebarV359 .sidebarSubmenu a.active{background:rgba(8,143,152,.28)!important;color:#fff!important}
  body:not(.public) .appSidebar.sidebarV359 .sidebarV359Bottom{margin-top:18px!important}
}

/* =========================================================
   YMYSY v3.60 — SIDEBAR DEFINITIVA / MOCKUP APPROVATO
   - allineamento matematico icona / testo / freccia
   - hover + active = stesso gradiente del cerchio VA
   - nessun grigio
   - dimensioni compatte e leggibili
   - desktop + mobile/off-canvas
   ========================================================= */
body:not(.public) .appSidebar.sidebarV360{
  --s360-bg-top:#004852;
  --s360-bg-mid:#003c46;
  --s360-bg-bottom:#00343d;
  --s360-va-start:#0D8C99;
  --s360-va-end:#075967;
  --s360-text:#F5FBFC;
  --s360-muted:#C9E0E2;
  --s360-line:rgba(207,236,239,.20);
  position:fixed!important;
  inset:0 auto 0 0!important;
  width:252px!important;
  padding:22px 16px 18px!important;
  display:flex!important;
  flex-direction:column!important;
  background:linear-gradient(180deg,var(--s360-bg-top) 0%,var(--s360-bg-mid) 52%,var(--s360-bg-bottom) 100%)!important;
  border:0!important;
  color:var(--s360-text)!important;
  box-shadow:8px 0 28px rgba(0,36,44,.13)!important;
  overflow:hidden!important;
}

body:not(.public) .appSidebar.sidebarV360 .sidebarV360BrandRow{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  min-height:68px!important;
  padding:3px 4px 9px!important;
}
body:not(.public) .appSidebar.sidebarV360 .platformSidebarBrandMain{
  display:flex!important;
  align-items:center!important;
  gap:11px!important;
  min-width:0!important;
}
body:not(.public) .appSidebar.sidebarV360 .platformSidebarLogo,
body:not(.public) .appSidebar.sidebarV360 .platformSidebarLogo img{
  display:block!important;
  flex:0 0 auto!important;
  max-width:72px!important;
  max-height:46px!important;
  object-fit:contain!important;
}
body:not(.public) .appSidebar.sidebarV360 .platformSidebarName{
  display:block!important;
  max-width:150px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  color:#fff!important;
  font-size:23px!important;
  line-height:1!important;
  font-weight:850!important;
  letter-spacing:-.02em!important;
}
body:not(.public) .appSidebar.sidebarV360 .mobileMenuClose{display:none!important}

body:not(.public) .appSidebar.sidebarV360 .sidebarV360Nav{
  display:flex!important;
  flex:1 1 auto!important;
  flex-direction:column!important;
  gap:5px!important;
  min-height:0!important;
  margin:11px 0 0!important;
  padding:0 2px 8px 0!important;
  overflow-y:auto!important;
  scrollbar-width:none!important;
}
body:not(.public) .appSidebar.sidebarV360 .sidebarV360Nav::-webkit-scrollbar{display:none!important}
body:not(.public) .appSidebar.sidebarV360 .sidebarGroup{display:grid!important;gap:3px!important}

/* Ogni riga usa esattamente le stesse 3 colonne. */
body:not(.public) .appSidebar.sidebarV360 .sidebarGroupToggle,
body:not(.public) .appSidebar.sidebarV360 .sidebarPrimaryLink,
body:not(.public) .appSidebar.sidebarV360 .sidebarGroup.is-open>.sidebarGroupToggle,
body:not(.public) .appSidebar.sidebarV360 .adminLinks .settingsLink{
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 22px!important;
  align-items:center!important;
  column-gap:10px!important;
  width:100%!important;
  min-height:52px!important;
  margin:0!important;
  padding:0 15px!important;
  border:1px solid transparent!important;
  border-radius:14px!important;
  background:transparent!important;
  color:var(--s360-text)!important;
  box-shadow:none!important;
  text-decoration:none!important;
  font-family:var(--backend-body-font),Helvetica,Arial,sans-serif!important;
  font-size:14px!important;
  font-weight:760!important;
  line-height:1!important;
  letter-spacing:0!important;
  cursor:pointer!important;
  transition:background .16s ease,border-color .16s ease,box-shadow .16s ease!important;
}
body:not(.public) .appSidebar.sidebarV360 .sidebarItemMain{
  display:grid!important;
  grid-template-columns:28px minmax(0,1fr)!important;
  align-items:center!important;
  column-gap:16px!important;
  width:100%!important;
  min-width:0!important;
}
body:not(.public) .appSidebar.sidebarV360 .sidebarItemIcon{
  display:grid!important;
  place-items:center!important;
  justify-self:center!important;
  align-self:center!important;
  width:28px!important;
  height:28px!important;
  min-width:28px!important;
  color:#F3FAFB!important;
}
body:not(.public) .appSidebar.sidebarV360 .sidebarItemIcon svg{
  display:block!important;
  width:24px!important;
  height:24px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.85!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
body:not(.public) .appSidebar.sidebarV360 .sidebarItemLabel{
  display:flex!important;
  align-items:center!important;
  min-width:0!important;
  min-height:28px!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:nowrap!important;
  color:inherit!important;
  line-height:1!important;
  transform:none!important;
}
body:not(.public) .appSidebar.sidebarV360 .sidebarChevron{
  display:grid!important;
  place-items:center!important;
  justify-self:end!important;
  align-self:center!important;
  width:22px!important;
  height:28px!important;
  color:#DDEFF1!important;
  font-size:22px!important;
  font-weight:700!important;
  line-height:1!important;
  transition:transform .16s ease!important;
}
body:not(.public) .appSidebar.sidebarV360 .sidebarGroup.is-open>.sidebarGroupToggle .sidebarChevron{transform:rotate(90deg)!important}
body:not(.public) .appSidebar.sidebarV360 .sidebarDirectChevron{transform:none!important}

/* Hover e active: ESATTAMENTE la palette del cerchio VA. */
body:not(.public) .appSidebar.sidebarV360 .sidebarGroupToggle:hover,
body:not(.public) .appSidebar.sidebarV360 .sidebarPrimaryLink:hover,
body:not(.public) .appSidebar.sidebarV360 .sidebarGroupToggle:focus-visible,
body:not(.public) .appSidebar.sidebarV360 .sidebarPrimaryLink:focus-visible,
body:not(.public) .appSidebar.sidebarV360 .sidebarGroup.is-open>.sidebarGroupToggle:not(.active),
body:not(.public) .appSidebar.sidebarV360 [data-menu-highlight="true"]{
  background:linear-gradient(145deg,var(--s360-va-start) 0%,var(--s360-va-end) 100%)!important;
  color:#fff!important;
  border-color:rgba(35,207,216,.30)!important;
  box-shadow:0 9px 22px rgba(0,28,34,.16)!important;
  outline:none!important;
}
body:not(.public) .appSidebar.sidebarV360 .sidebarGroupToggle.active,
body:not(.public) .appSidebar.sidebarV360 .sidebarGroup.is-open>.sidebarGroupToggle.active,
body:not(.public) .appSidebar.sidebarV360 .sidebarPrimaryLink.active,
body:not(.public) .appSidebar.sidebarV360 .adminLinks .settingsLink.active{
  background:linear-gradient(145deg,var(--s360-va-start) 0%,var(--s360-va-end) 100%)!important;
  color:#fff!important;
  border-color:rgba(35,207,216,.34)!important;
  box-shadow:0 9px 22px rgba(0,28,34,.18)!important;
}
body:not(.public) .appSidebar.sidebarV360 .sidebarGroupToggle:hover .sidebarItemIcon,
body:not(.public) .appSidebar.sidebarV360 .sidebarGroupToggle:hover .sidebarChevron,
body:not(.public) .appSidebar.sidebarV360 .sidebarPrimaryLink:hover .sidebarItemIcon,
body:not(.public) .appSidebar.sidebarV360 .sidebarPrimaryLink:hover .sidebarChevron,
body:not(.public) .appSidebar.sidebarV360 .sidebarGroupToggle.active .sidebarItemIcon,
body:not(.public) .appSidebar.sidebarV360 .sidebarGroupToggle.active .sidebarChevron,
body:not(.public) .appSidebar.sidebarV360 .sidebarPrimaryLink.active .sidebarItemIcon,
body:not(.public) .appSidebar.sidebarV360 .sidebarPrimaryLink.active .sidebarChevron{color:#fff!important}

body:not(.public) .appSidebar.sidebarV360 .sidebarNavDivider{
  height:1px!important;
  margin:14px 11px 10px!important;
  background:var(--s360-line)!important;
}
body:not(.public) .appSidebar.sidebarV360 .adminLinks{display:grid!important;gap:5px!important;margin:0!important;border:0!important}
body:not(.public) .appSidebar.sidebarV360 .adminLinks .settingsLink{margin:0!important;padding:0 15px!important;border-width:1px!important}

/* Flyout desktop coerente con la palette. */
@media(min-width:901px){
  body:not(.public) .appSidebar.sidebarV360 .sidebarGroup>.sidebarSubmenu{
    left:252px!important;
    width:300px!important;
    padding:82px 18px 24px!important;
    border:0!important;
    border-right:1px solid #dce7e7!important;
    background:#fff!important;
    color:#17333b!important;
    box-shadow:18px 0 36px rgba(0,45,54,.10)!important;
  }
  body:not(.public) .appSidebar.sidebarV360 .sidebarSubmenu a{
    min-height:44px!important;
    padding:11px 13px!important;
    border-radius:9px!important;
    background:transparent!important;
    color:#526771!important;
    font-size:14px!important;
    font-weight:700!important;
  }
  body:not(.public) .appSidebar.sidebarV360 .sidebarSubmenu a:hover{background:#EAF7F7!important;color:#087E86!important}
  body:not(.public) .appSidebar.sidebarV360 .sidebarSubmenu a.active{background:#DDF3F2!important;color:#087E86!important;font-weight:850!important}
}

/* Bottom cards, come mockup. */
body:not(.public) .appSidebar.sidebarV360 .sidebarV360Bottom{
  display:grid!important;
  gap:12px!important;
  margin-top:auto!important;
  padding-top:14px!important;
}
body:not(.public) .appSidebar.sidebarV360 .sidebarSupportCard{
  display:grid!important;
  grid-template-columns:44px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:12px!important;
  margin:0!important;
  padding:15px!important;
  border:1px solid rgba(210,240,242,.18)!important;
  border-radius:14px!important;
  background:rgba(0,30,37,.17)!important;
  color:#fff!important;
}
body:not(.public) .appSidebar.sidebarV360 .sidebarSupportIcon{
  display:grid!important;
  place-items:center!important;
  width:44px!important;
  height:44px!important;
  border-radius:50%!important;
  background:linear-gradient(145deg,var(--s360-va-start),var(--s360-va-end))!important;
  color:#fff!important;
}
body:not(.public) .appSidebar.sidebarV360 .sidebarSupportIcon svg{width:22px!important;height:22px!important}
body:not(.public) .appSidebar.sidebarV360 .sidebarSupportCopy{display:grid!important;gap:5px!important;min-width:0!important}
body:not(.public) .appSidebar.sidebarV360 .sidebarSupportCopy strong{font-size:12px!important;font-weight:800!important;color:#fff!important}
body:not(.public) .appSidebar.sidebarV360 .sidebarSupportCopy p{margin:0!important;color:var(--s360-muted)!important;font-size:11px!important;line-height:1.5!important}
body:not(.public) .appSidebar.sidebarV360 .sidebarSupportLink{
  display:grid!important;
  place-items:center!important;
  width:30px!important;
  height:30px!important;
  min-height:30px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid rgba(255,255,255,.15)!important;
  border-radius:9px!important;
  background:transparent!important;
  color:#fff!important;
  text-decoration:none!important;
  font-size:20px!important;
}
body:not(.public) .appSidebar.sidebarV360 .sidebarSupportLink:hover{background:linear-gradient(145deg,var(--s360-va-start),var(--s360-va-end))!important}

body:not(.public) .appSidebar.sidebarV360 .sidebarAccountCard{
  display:grid!important;
  grid-template-columns:44px minmax(0,1fr) 34px!important;
  align-items:center!important;
  gap:11px!important;
  margin:0!important;
  padding:12px!important;
  border:1px solid rgba(210,240,242,.17)!important;
  border-radius:14px!important;
  background:rgba(0,31,38,.18)!important;
  color:#fff!important;
}
body:not(.public) .appSidebar.sidebarV360 .sidebarAccountAvatar{
  display:grid!important;
  place-items:center!important;
  width:44px!important;
  height:44px!important;
  border-radius:50%!important;
  background:linear-gradient(145deg,var(--s360-va-start),var(--s360-va-end))!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:850!important;
}
body:not(.public) .appSidebar.sidebarV360 .sidebarAccountMeta{display:grid!important;gap:4px!important;min-width:0!important}
body:not(.public) .appSidebar.sidebarV360 .sidebarAccountMeta strong{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;color:#fff!important;font-size:12px!important;font-weight:800!important}
body:not(.public) .appSidebar.sidebarV360 .sidebarAccountMeta small{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;color:var(--s360-muted)!important;font-size:10px!important}
body:not(.public) .appSidebar.sidebarV360 .sidebarLogout{
  display:grid!important;
  place-items:center!important;
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  padding:0!important;
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:9px!important;
  background:rgba(255,255,255,.04)!important;
  color:#EAF7F8!important;
}
body:not(.public) .appSidebar.sidebarV360 .sidebarLogout:hover{background:linear-gradient(145deg,var(--s360-va-start),var(--s360-va-end))!important;color:#fff!important}
body:not(.public) .appSidebar.sidebarV360 .sidebarLogout span,
body:not(.public) .appSidebar.sidebarV360 .sidebarLogout svg{width:18px!important;height:18px!important}

@media(min-width:1024px){
  body:not(.public) .appSidebar.sidebarV360~.workspace{margin-left:252px!important}
}
@media(max-width:1023px){
  body:not(.public) .appSidebar.sidebarV360{
    width:min(88vw,310px)!important;
    max-width:310px!important;
    padding:18px 15px max(18px,env(safe-area-inset-bottom))!important;
    overflow-y:auto!important;
    box-shadow:16px 0 38px rgba(0,30,36,.34)!important;
  }
  body:not(.public) .appSidebar.sidebarV360 .sidebarV360BrandRow{min-height:58px!important;padding:0 2px 8px!important}
  body:not(.public) .appSidebar.sidebarV360 .platformSidebarLogo,
  body:not(.public) .appSidebar.sidebarV360 .platformSidebarLogo img{max-width:68px!important;max-height:42px!important}
  body:not(.public) .appSidebar.sidebarV360 .platformSidebarName{font-size:21px!important;max-width:150px!important}
  body:not(.public) .appSidebar.sidebarV360 .mobileMenuClose{
    display:grid!important;
    place-items:center!important;
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    padding:0!important;
    border:1px solid rgba(255,255,255,.15)!important;
    border-radius:10px!important;
    background:rgba(255,255,255,.08)!important;
    color:#fff!important;
  }
  body:not(.public) .appSidebar.sidebarV360 .sidebarV360Nav{flex:0 0 auto!important;margin-top:8px!important;overflow:visible!important}
  body:not(.public) .appSidebar.sidebarV360 .sidebarGroupToggle,
  body:not(.public) .appSidebar.sidebarV360 .sidebarPrimaryLink{
    min-height:50px!important;
    padding:0 13px!important;
    border-radius:13px!important;
    font-size:14px!important;
  }
  body:not(.public) .appSidebar.sidebarV360 .sidebarItemMain{grid-template-columns:27px minmax(0,1fr)!important;column-gap:14px!important}
  body:not(.public) .appSidebar.sidebarV360 .sidebarItemIcon{width:27px!important;height:27px!important;min-width:27px!important}
  body:not(.public) .appSidebar.sidebarV360 .sidebarItemIcon svg{width:23px!important;height:23px!important}
  body:not(.public) .appSidebar.sidebarV360 .sidebarGroup>.sidebarSubmenu{
    position:static!important;
    width:auto!important;
    margin:5px 0 8px 34px!important;
    padding:6px!important;
    border:1px solid rgba(255,255,255,.11)!important;
    border-radius:10px!important;
    background:rgba(255,255,255,.055)!important;
    box-shadow:none!important;
  }
  body:not(.public) .appSidebar.sidebarV360 .sidebarGroup>.sidebarSubmenu::before{display:none!important}
  body:not(.public) .appSidebar.sidebarV360 .sidebarSubmenu a{min-height:40px!important;padding:9px 10px!important;border-radius:8px!important;color:#DFF1F2!important;background:transparent!important;font-size:12px!important}
  body:not(.public) .appSidebar.sidebarV360 .sidebarSubmenu a:hover,
  body:not(.public) .appSidebar.sidebarV360 .sidebarSubmenu a.active{background:linear-gradient(145deg,var(--s360-va-start),var(--s360-va-end))!important;color:#fff!important}
  body:not(.public) .appSidebar.sidebarV360 .sidebarV360Bottom{margin-top:18px!important}
}

/* =========================================================
   YMYSY v3.61 — SIDEBAR: ALLINEAMENTO OTTICO DEFINITIVO
   Mockup approvato: icona / testo / freccia sulla stessa riga.
   Hover e active = gradiente teal del cerchio VA.
   ========================================================= */
body:not(.public) .appSidebar.sidebarV361{
  --s361-bg-top:#004852;
  --s361-bg-mid:#003c46;
  --s361-bg-bottom:#00343d;
  --s361-va-start:#0D8C99;
  --s361-va-end:#075967;
  --s361-text:#F5FBFC;
  --s361-muted:#C9E0E2;
  --s361-line:rgba(207,236,239,.20);
  position:fixed!important;
  inset:0 auto 0 0!important;
  width:252px!important;
  padding:22px 16px 18px!important;
  display:flex!important;
  flex-direction:column!important;
  background:linear-gradient(180deg,var(--s361-bg-top) 0%,var(--s361-bg-mid) 52%,var(--s361-bg-bottom) 100%)!important;
  border:0!important;
  color:var(--s361-text)!important;
  box-shadow:8px 0 28px rgba(0,36,44,.13)!important;
  overflow:hidden!important;
}
body:not(.public) .appSidebar.sidebarV361 .sidebarV361BrandRow{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  min-height:68px!important;
  padding:3px 4px 9px!important;
}
body:not(.public) .appSidebar.sidebarV361 .platformSidebarBrandMain{display:flex!important;align-items:center!important;gap:11px!important;min-width:0!important}
body:not(.public) .appSidebar.sidebarV361 .platformSidebarLogo,
body:not(.public) .appSidebar.sidebarV361 .platformSidebarLogo img{display:block!important;flex:0 0 auto!important;max-width:72px!important;max-height:46px!important;object-fit:contain!important}
body:not(.public) .appSidebar.sidebarV361 .platformSidebarName{display:block!important;max-width:150px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;color:#fff!important;font-size:23px!important;line-height:1!important;font-weight:850!important;letter-spacing:-.02em!important}
body:not(.public) .appSidebar.sidebarV361 .mobileMenuClose{display:none!important}

body:not(.public) .appSidebar.sidebarV361 .sidebarV361Nav{
  display:flex!important;
  flex:1 1 auto!important;
  flex-direction:column!important;
  gap:5px!important;
  min-height:0!important;
  margin:11px 0 0!important;
  padding:0 2px 8px 0!important;
  overflow-y:auto!important;
  scrollbar-width:none!important;
}
body:not(.public) .appSidebar.sidebarV361 .sidebarV361Nav::-webkit-scrollbar{display:none!important}
body:not(.public) .appSidebar.sidebarV361 .sidebarGroup{display:grid!important;gap:3px!important}

/* Una sola griglia reale per riga: 30px icona | testo | 24px freccia. */
body:not(.public) .appSidebar.sidebarV361 .sidebarGroupToggle,
body:not(.public) .appSidebar.sidebarV361 .sidebarPrimaryLink,
body:not(.public) .appSidebar.sidebarV361 .sidebarGroup.is-open>.sidebarGroupToggle,
body:not(.public) .appSidebar.sidebarV361 .adminLinks .settingsLink{
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:30px minmax(0,1fr) 24px!important;
  grid-template-rows:30px!important;
  align-items:center!important;
  column-gap:16px!important;
  width:100%!important;
  min-height:56px!important;
  margin:0!important;
  padding:13px 15px!important;
  border:1px solid transparent!important;
  border-radius:15px!important;
  background:transparent!important;
  color:var(--s361-text)!important;
  box-shadow:none!important;
  text-decoration:none!important;
  font-family:var(--backend-body-font),Helvetica,Arial,sans-serif!important;
  font-size:14px!important;
  font-weight:760!important;
  line-height:30px!important;
  letter-spacing:0!important;
  cursor:pointer!important;
  transition:background .16s ease,border-color .16s ease,box-shadow .16s ease!important;
}
/* Elimina la griglia annidata: i suoi figli entrano direttamente nella griglia della riga. */
body:not(.public) .appSidebar.sidebarV361 .sidebarItemMain{display:contents!important}
body:not(.public) .appSidebar.sidebarV361 .sidebarItemIcon{
  grid-column:1!important;
  grid-row:1!important;
  display:grid!important;
  place-items:center!important;
  justify-self:center!important;
  align-self:center!important;
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  margin:0!important;
  padding:0!important;
  color:#F3FAFB!important;
  line-height:0!important;
  transform:none!important;
}
body:not(.public) .appSidebar.sidebarV361 .sidebarItemIcon svg{
  display:block!important;
  width:24px!important;
  height:24px!important;
  margin:0!important;
  padding:0!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.85!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  transform:none!important;
}
body:not(.public) .appSidebar.sidebarV361 .sidebarItemLabel{
  grid-column:2!important;
  grid-row:1!important;
  display:flex!important;
  align-items:center!important;
  align-self:center!important;
  justify-self:stretch!important;
  height:30px!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:nowrap!important;
  color:inherit!important;
  font:inherit!important;
  line-height:30px!important;
  transform:none!important;
}
body:not(.public) .appSidebar.sidebarV361 .sidebarChevron{
  grid-column:3!important;
  grid-row:1!important;
  display:grid!important;
  place-items:center!important;
  justify-self:center!important;
  align-self:center!important;
  width:24px!important;
  height:30px!important;
  margin:0!important;
  padding:0!important;
  color:#DDEFF1!important;
  font-size:22px!important;
  font-weight:700!important;
  line-height:30px!important;
  transition:transform .16s ease!important;
}
body:not(.public) .appSidebar.sidebarV361 .sidebarGroup.is-open>.sidebarGroupToggle .sidebarChevron{transform:rotate(90deg)!important}
body:not(.public) .appSidebar.sidebarV361 .sidebarDirectChevron{transform:none!important}

/* Gruppo semplicemente aperto: neutro. */
body:not(.public) .appSidebar.sidebarV361 .sidebarGroup.is-open>.sidebarGroupToggle:not(.active){background:transparent!important;color:var(--s361-text)!important;border-color:transparent!important;box-shadow:none!important}

/* Hover + active: identici alla palette del cerchio VA. */
body:not(.public) .appSidebar.sidebarV361 .sidebarGroupToggle:hover,
body:not(.public) .appSidebar.sidebarV361 .sidebarPrimaryLink:hover,
body:not(.public) .appSidebar.sidebarV361 .sidebarGroupToggle:focus-visible,
body:not(.public) .appSidebar.sidebarV361 .sidebarPrimaryLink:focus-visible,
body:not(.public) .appSidebar.sidebarV361 [data-menu-highlight="true"],
body:not(.public) .appSidebar.sidebarV361 .sidebarGroupToggle.active,
body:not(.public) .appSidebar.sidebarV361 .sidebarGroup.is-open>.sidebarGroupToggle.active,
body:not(.public) .appSidebar.sidebarV361 .sidebarPrimaryLink.active,
body:not(.public) .appSidebar.sidebarV361 .adminLinks .settingsLink.active{
  background:linear-gradient(145deg,var(--s361-va-start) 0%,var(--s361-va-end) 100%)!important;
  color:#fff!important;
  border-color:rgba(35,207,216,.32)!important;
  box-shadow:0 9px 22px rgba(0,28,34,.17)!important;
  outline:none!important;
}
body:not(.public) .appSidebar.sidebarV361 .sidebarGroupToggle:hover .sidebarItemIcon,
body:not(.public) .appSidebar.sidebarV361 .sidebarGroupToggle:hover .sidebarChevron,
body:not(.public) .appSidebar.sidebarV361 .sidebarPrimaryLink:hover .sidebarItemIcon,
body:not(.public) .appSidebar.sidebarV361 .sidebarPrimaryLink:hover .sidebarChevron,
body:not(.public) .appSidebar.sidebarV361 .sidebarGroupToggle.active .sidebarItemIcon,
body:not(.public) .appSidebar.sidebarV361 .sidebarGroupToggle.active .sidebarChevron,
body:not(.public) .appSidebar.sidebarV361 .sidebarPrimaryLink.active .sidebarItemIcon,
body:not(.public) .appSidebar.sidebarV361 .sidebarPrimaryLink.active .sidebarChevron{color:#fff!important}

body:not(.public) .appSidebar.sidebarV361 .sidebarNavDivider{height:1px!important;margin:14px 11px 10px!important;background:var(--s361-line)!important}
body:not(.public) .appSidebar.sidebarV361 .adminLinks{display:grid!important;gap:5px!important;margin:0!important;border:0!important}
body:not(.public) .appSidebar.sidebarV361 .adminLinks .settingsLink{margin:0!important}

@media(min-width:901px){
  body:not(.public) .appSidebar.sidebarV361 .sidebarGroup>.sidebarSubmenu{left:252px!important;width:300px!important;padding:82px 18px 24px!important;border:0!important;border-right:1px solid #dce7e7!important;background:#fff!important;color:#17333b!important;box-shadow:18px 0 36px rgba(0,45,54,.10)!important}
  body:not(.public) .appSidebar.sidebarV361 .sidebarSubmenu a{min-height:44px!important;padding:11px 13px!important;border-radius:9px!important;background:transparent!important;color:#526771!important;font-size:14px!important;font-weight:700!important}
  body:not(.public) .appSidebar.sidebarV361 .sidebarSubmenu a:hover{background:#EAF7F7!important;color:#087E86!important}
  body:not(.public) .appSidebar.sidebarV361 .sidebarSubmenu a.active{background:#DDF3F2!important;color:#087E86!important;font-weight:850!important}
}

body:not(.public) .appSidebar.sidebarV361 .sidebarV361Bottom{display:grid!important;gap:12px!important;margin-top:auto!important;padding-top:14px!important}
body:not(.public) .appSidebar.sidebarV361 .sidebarSupportCard{display:grid!important;grid-template-columns:44px minmax(0,1fr) auto!important;align-items:center!important;gap:12px!important;margin:0!important;padding:15px!important;border:1px solid rgba(210,240,242,.18)!important;border-radius:14px!important;background:rgba(0,30,37,.17)!important;color:#fff!important}
body:not(.public) .appSidebar.sidebarV361 .sidebarSupportIcon{display:grid!important;place-items:center!important;width:44px!important;height:44px!important;border-radius:50%!important;background:linear-gradient(145deg,var(--s361-va-start),var(--s361-va-end))!important;color:#fff!important}
body:not(.public) .appSidebar.sidebarV361 .sidebarSupportIcon svg{width:22px!important;height:22px!important}
body:not(.public) .appSidebar.sidebarV361 .sidebarSupportCopy{display:grid!important;gap:5px!important;min-width:0!important}
body:not(.public) .appSidebar.sidebarV361 .sidebarSupportCopy strong{font-size:12px!important;font-weight:800!important;color:#fff!important}
body:not(.public) .appSidebar.sidebarV361 .sidebarSupportCopy p{margin:0!important;color:var(--s361-muted)!important;font-size:11px!important;line-height:1.5!important}
body:not(.public) .appSidebar.sidebarV361 .sidebarSupportLink{display:grid!important;place-items:center!important;width:30px!important;height:30px!important;min-height:30px!important;margin:0!important;padding:0!important;border:1px solid rgba(255,255,255,.15)!important;border-radius:9px!important;background:transparent!important;color:#fff!important;text-decoration:none!important;font-size:20px!important}
body:not(.public) .appSidebar.sidebarV361 .sidebarSupportLink:hover{background:linear-gradient(145deg,var(--s361-va-start),var(--s361-va-end))!important}
body:not(.public) .appSidebar.sidebarV361 .sidebarAccountCard{display:grid!important;grid-template-columns:44px minmax(0,1fr) 34px!important;align-items:center!important;gap:11px!important;margin:0!important;padding:12px!important;border:1px solid rgba(210,240,242,.17)!important;border-radius:14px!important;background:rgba(0,31,38,.18)!important;color:#fff!important}
body:not(.public) .appSidebar.sidebarV361 .sidebarAccountAvatar{display:grid!important;place-items:center!important;width:44px!important;height:44px!important;border-radius:50%!important;background:linear-gradient(145deg,var(--s361-va-start),var(--s361-va-end))!important;color:#fff!important;font-size:12px!important;font-weight:850!important}
body:not(.public) .appSidebar.sidebarV361 .sidebarAccountMeta{display:grid!important;gap:4px!important;min-width:0!important}
body:not(.public) .appSidebar.sidebarV361 .sidebarAccountMeta strong{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;color:#fff!important;font-size:12px!important;font-weight:800!important}
body:not(.public) .appSidebar.sidebarV361 .sidebarAccountMeta small{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;color:var(--s361-muted)!important;font-size:10px!important}
body:not(.public) .appSidebar.sidebarV361 .sidebarLogout{display:grid!important;place-items:center!important;width:34px!important;height:34px!important;min-width:34px!important;padding:0!important;border:1px solid rgba(255,255,255,.14)!important;border-radius:9px!important;background:rgba(255,255,255,.04)!important;color:#EAF7F8!important}
body:not(.public) .appSidebar.sidebarV361 .sidebarLogout:hover{background:linear-gradient(145deg,var(--s361-va-start),var(--s361-va-end))!important;color:#fff!important}
body:not(.public) .appSidebar.sidebarV361 .sidebarLogout span,
body:not(.public) .appSidebar.sidebarV361 .sidebarLogout svg{width:18px!important;height:18px!important}

@media(min-width:1024px){body:not(.public) .appSidebar.sidebarV361~.workspace{margin-left:252px!important}}
@media(max-width:1023px){
  body:not(.public) .appSidebar.sidebarV361{width:min(88vw,310px)!important;max-width:310px!important;padding:18px 15px max(18px,env(safe-area-inset-bottom))!important;overflow-y:auto!important;box-shadow:16px 0 38px rgba(0,30,36,.34)!important}
  body:not(.public) .appSidebar.sidebarV361 .sidebarV361BrandRow{min-height:58px!important;padding:0 2px 8px!important}
  body:not(.public) .appSidebar.sidebarV361 .platformSidebarLogo,
  body:not(.public) .appSidebar.sidebarV361 .platformSidebarLogo img{max-width:68px!important;max-height:42px!important}
  body:not(.public) .appSidebar.sidebarV361 .platformSidebarName{font-size:21px!important;max-width:150px!important}
  body:not(.public) .appSidebar.sidebarV361 .mobileMenuClose{display:grid!important;place-items:center!important;width:40px!important;height:40px!important;min-width:40px!important;padding:0!important;border:1px solid rgba(255,255,255,.15)!important;border-radius:10px!important;background:rgba(255,255,255,.08)!important;color:#fff!important}
  body:not(.public) .appSidebar.sidebarV361 .sidebarV361Nav{flex:0 0 auto!important;margin-top:8px!important;overflow:visible!important}
  body:not(.public) .appSidebar.sidebarV361 .sidebarGroupToggle,
  body:not(.public) .appSidebar.sidebarV361 .sidebarPrimaryLink,
  body:not(.public) .appSidebar.sidebarV361 .adminLinks .settingsLink{grid-template-columns:28px minmax(0,1fr) 22px!important;grid-template-rows:28px!important;column-gap:14px!important;min-height:52px!important;padding:12px 13px!important;border-radius:13px!important;font-size:14px!important;line-height:28px!important}
  body:not(.public) .appSidebar.sidebarV361 .sidebarItemIcon{width:28px!important;height:28px!important;min-width:28px!important}
  body:not(.public) .appSidebar.sidebarV361 .sidebarItemIcon svg{width:23px!important;height:23px!important}
  body:not(.public) .appSidebar.sidebarV361 .sidebarItemLabel{height:28px!important;line-height:28px!important}
  body:not(.public) .appSidebar.sidebarV361 .sidebarChevron{width:22px!important;height:28px!important;line-height:28px!important;font-size:21px!important}
  body:not(.public) .appSidebar.sidebarV361 .sidebarGroup>.sidebarSubmenu{position:static!important;width:auto!important;margin:5px 0 8px 34px!important;padding:6px!important;border:1px solid rgba(255,255,255,.11)!important;border-radius:10px!important;background:rgba(255,255,255,.055)!important;box-shadow:none!important}
  body:not(.public) .appSidebar.sidebarV361 .sidebarGroup>.sidebarSubmenu::before{display:none!important}
  body:not(.public) .appSidebar.sidebarV361 .sidebarSubmenu a{min-height:40px!important;padding:9px 10px!important;border-radius:8px!important;color:#DFF1F2!important;background:transparent!important;font-size:12px!important}
  body:not(.public) .appSidebar.sidebarV361 .sidebarSubmenu a:hover,
  body:not(.public) .appSidebar.sidebarV361 .sidebarSubmenu a.active{background:linear-gradient(145deg,var(--s361-va-start),var(--s361-va-end))!important;color:#fff!important}
  body:not(.public) .appSidebar.sidebarV361 .sidebarV361Bottom{margin-top:18px!important}
}

/* =========================================================
   YMYSY v3.62 — SIDEBAR: NESSUN RETTANGOLO A RIPOSO
   Stato normale = completamente trasparente, senza bordo/ombra.
   Hover / active = gradiente teal VA già approvato.
   ========================================================= */
body:not(.public) .appSidebar.sidebarV361 .sidebarGroupToggle,
body:not(.public) .appSidebar.sidebarV361 .sidebarPrimaryLink,
body:not(.public) .appSidebar.sidebarV361 .adminLinks .settingsLink,
body:not(.public) .appSidebar.sidebarV361 .sidebarGroup.is-open>.sidebarGroupToggle:not(.active):not([data-menu-highlight="true"]){
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
}

/* A riposo: nessuna card/rettangolo visibile. */
body:not(.public) .appSidebar.sidebarV361 .sidebarGroupToggle:not(:hover):not(:focus-visible):not(.active):not([aria-current="page"]):not([data-menu-highlight="true"]),
body:not(.public) .appSidebar.sidebarV361 .sidebarPrimaryLink:not(:hover):not(:focus-visible):not(.active):not([aria-current="page"]):not([data-menu-highlight="true"]),
body:not(.public) .appSidebar.sidebarV361 .adminLinks .settingsLink:not(:hover):not(:focus-visible):not(.active):not([aria-current="page"]):not([data-menu-highlight="true"]){
  background:transparent!important;
  border-color:transparent!important;
  outline:0!important;
  box-shadow:none!important;
}

/* Hover / focus / active: rettangolo teal pieno, senza bordino grigio. */
body:not(.public) .appSidebar.sidebarV361 .sidebarGroupToggle:hover,
body:not(.public) .appSidebar.sidebarV361 .sidebarPrimaryLink:hover,
body:not(.public) .appSidebar.sidebarV361 .adminLinks .settingsLink:hover,
body:not(.public) .appSidebar.sidebarV361 .sidebarGroupToggle:focus-visible,
body:not(.public) .appSidebar.sidebarV361 .sidebarPrimaryLink:focus-visible,
body:not(.public) .appSidebar.sidebarV361 .adminLinks .settingsLink:focus-visible,
body:not(.public) .appSidebar.sidebarV361 [data-menu-highlight="true"],
body:not(.public) .appSidebar.sidebarV361 .sidebarGroupToggle.active,
body:not(.public) .appSidebar.sidebarV361 .sidebarPrimaryLink.active,
body:not(.public) .appSidebar.sidebarV361 .adminLinks .settingsLink.active{
  background:linear-gradient(145deg,var(--s361-va-start) 0%,var(--s361-va-end) 100%)!important;
  border:0!important;
  outline:0!important;
  box-shadow:0 9px 22px rgba(0,28,34,.17)!important;
  color:#fff!important;
}

/* =========================================================
   YMYSY v3.63 — SIDEBAR: RESET TOTALE RETTANGOLI A RIPOSO
   Elimina ogni bordo/outline/ombra residua da gruppo e controllo.
   Il rettangolo esiste SOLO in hover/focus/active.
   ========================================================= */
html body:not(.public) #mobileMenu.appSidebar.sidebarV361 .sidebarGroup,
html body:not(.public) #mobileMenu.appSidebar.sidebarV361 .adminLinks,
html body:not(.public) #mobileMenu.appSidebar.sidebarV361 .adminLinks .sidebarGroup,
html body:not(.public) #mobileMenu.appSidebar.sidebarV361 .settingsGroup{
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
  filter:none!important;
}

html body:not(.public) #mobileMenu.appSidebar.sidebarV361 .sidebarGroupToggle,
html body:not(.public) #mobileMenu.appSidebar.sidebarV361 .sidebarPrimaryLink,
html body:not(.public) #mobileMenu.appSidebar.sidebarV361 .adminLinks .settingsLink{
  -webkit-appearance:none!important;
  appearance:none!important;
  border:0!important;
  border-width:0!important;
  border-style:none!important;
  border-color:transparent!important;
  outline:0!important;
  outline-offset:0!important;
  box-shadow:none!important;
  filter:none!important;
}

/* RIPOSO: nessuna forma visibile attorno alla voce. */
html body:not(.public) #mobileMenu.appSidebar.sidebarV361 .sidebarGroupToggle:not(:hover):not(:focus-visible):not(.active):not([aria-current="page"]):not([data-menu-highlight="true"]),
html body:not(.public) #mobileMenu.appSidebar.sidebarV361 .sidebarPrimaryLink:not(:hover):not(:focus-visible):not(.active):not([aria-current="page"]):not([data-menu-highlight="true"]),
html body:not(.public) #mobileMenu.appSidebar.sidebarV361 .adminLinks .settingsLink:not(:hover):not(:focus-visible):not(.active):not([aria-current="page"]):not([data-menu-highlight="true"]),
html body:not(.public) #mobileMenu.appSidebar.sidebarV361 .sidebarGroup.is-open>.sidebarGroupToggle:not(.active):not([data-menu-highlight="true"]){
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  filter:none!important;
  border-radius:0!important;
}

/* HOVER / ACTIVE: qui soltanto compare il rettangolo teal approvato. */
html body:not(.public) #mobileMenu.appSidebar.sidebarV361 .sidebarGroupToggle:hover,
html body:not(.public) #mobileMenu.appSidebar.sidebarV361 .sidebarPrimaryLink:hover,
html body:not(.public) #mobileMenu.appSidebar.sidebarV361 .adminLinks .settingsLink:hover,
html body:not(.public) #mobileMenu.appSidebar.sidebarV361 .sidebarGroupToggle:focus-visible,
html body:not(.public) #mobileMenu.appSidebar.sidebarV361 .sidebarPrimaryLink:focus-visible,
html body:not(.public) #mobileMenu.appSidebar.sidebarV361 .adminLinks .settingsLink:focus-visible,
html body:not(.public) #mobileMenu.appSidebar.sidebarV361 .sidebarGroupToggle.active,
html body:not(.public) #mobileMenu.appSidebar.sidebarV361 .sidebarPrimaryLink.active,
html body:not(.public) #mobileMenu.appSidebar.sidebarV361 .adminLinks .settingsLink.active,
html body:not(.public) #mobileMenu.appSidebar.sidebarV361 [data-menu-highlight="true"]{
  background:linear-gradient(145deg,var(--s361-va-start) 0%,var(--s361-va-end) 100%)!important;
  background-image:linear-gradient(145deg,var(--s361-va-start) 0%,var(--s361-va-end) 100%)!important;
  border:0!important;
  outline:0!important;
  box-shadow:0 9px 22px rgba(0,28,34,.17)!important;
  border-radius:15px!important;
  color:#fff!important;
}

@media(max-width:1023px){
  html body:not(.public) #mobileMenu.appSidebar.sidebarV361 .sidebarGroupToggle:hover,
  html body:not(.public) #mobileMenu.appSidebar.sidebarV361 .sidebarPrimaryLink:hover,
  html body:not(.public) #mobileMenu.appSidebar.sidebarV361 .adminLinks .settingsLink:hover,
  html body:not(.public) #mobileMenu.appSidebar.sidebarV361 .sidebarGroupToggle.active,
  html body:not(.public) #mobileMenu.appSidebar.sidebarV361 .sidebarPrimaryLink.active,
  html body:not(.public) #mobileMenu.appSidebar.sidebarV361 .adminLinks .settingsLink.active,
  html body:not(.public) #mobileMenu.appSidebar.sidebarV361 [data-menu-highlight="true"]{
    border-radius:13px!important;
  }
}
/* FIX218 — Centro guida dinamico per moduli, ruolo e permessi */
.workspace--help{background:#f5f7f7}
.workspace--help>.workspaceHeader{display:none}
.helpCenter{padding:30px;max-width:1260px;width:100%;margin:0 auto;color:#263633}
.helpCenterHero{position:relative;overflow:visible;padding:34px;border-radius:22px;background:linear-gradient(135deg,#176f68 0%,#0d5955 100%);color:#fff;box-shadow:0 16px 36px rgba(13,89,85,.14)}
.helpCenterHero:after{content:'?';position:absolute;right:38px;top:-40px;font-size:190px;line-height:1;font-weight:700;opacity:.07;pointer-events:none}
.helpCenterHero .eyebrow{margin:0 0 7px;color:#d9efec;letter-spacing:.11em;font-weight:700}
.helpCenterHero h2{margin:0 0 8px;color:#fff;font-size:34px;line-height:1.16}
.helpCenterHero>p:not(.eyebrow){margin:0 0 24px;color:#e5f3f1}
.helpCenterSearch{position:relative;z-index:2;display:flex;align-items:center;max-width:760px;height:56px;border-radius:14px;background:#fff;box-shadow:0 9px 24px rgba(0,0,0,.12);color:#62716e}
.helpCenterSearch>span:not(.srOnly){display:grid;place-items:center;width:52px;flex:0 0 52px}
.helpCenterSearch svg{width:21px;height:21px}
.helpCenterSearch input{min-width:0;flex:1;height:100%;border:0!important;background:transparent!important;color:#253532!important;padding:0 10px 0 0!important;box-shadow:none!important;font-size:16px!important}
.helpCenterSearch input:focus{outline:0}
.helpCenterSearch:focus-within{box-shadow:0 0 0 4px rgba(255,255,255,.32),0 9px 24px rgba(0,0,0,.12)}
.helpCenterSearch kbd{margin-right:13px;padding:5px 8px;border:1px solid #dce4e2;border-radius:7px;background:#f3f6f5;color:#6d7a77;font:600 12px/1 Helvetica,Arial,sans-serif}
.helpCenterHeading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:30px 0 15px}
.helpCenterHeading h3{margin:0 0 4px;font-size:22px}
.helpCenterHeading p{margin:0;color:#71807c}
.helpCenterHeading>strong{color:#176f68;font-size:13px}
.helpCategoryGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.helpCategoryCard{min-height:124px;padding:17px;border:1px solid #dde6e3!important;border-radius:16px!important;background:#fff!important;color:#263633!important;text-align:left;box-shadow:none!important;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.helpCategoryCard:hover,.helpCategoryCard:focus-visible,.helpCategoryCard.is-active{transform:translateY(-2px);border-color:#198279!important;box-shadow:0 10px 22px rgba(18,82,76,.09)!important}
.helpCategoryCard.is-active{background:#eff8f6!important}
.helpCategoryIcon{display:grid;place-items:center;width:40px;height:40px;margin-bottom:12px;border-radius:50%;background:#e4f2ef;color:#176f68}
.helpCategoryIcon svg{width:20px;height:20px}
.helpCategoryCard strong,.helpCategoryCard small{display:block}
.helpCategoryCard strong{margin-bottom:4px;font-size:15px}
.helpCategoryCard small{color:#71807c;font-size:12px}
.helpCenterLayout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,.7fr);gap:16px;margin-top:28px;align-items:start}
.helpArticlePanel,.helpSupportPanel{border:1px solid #dde6e3;border-radius:17px;background:#fff}
.helpArticlePanel{padding:6px 20px}
.helpArticle{border-bottom:1px solid #e5ecea}
.helpArticle:last-of-type{border-bottom:0}
.helpArticle>summary{display:grid;grid-template-columns:42px minmax(0,1fr) auto 18px;align-items:center;gap:12px;padding:17px 0;cursor:pointer;list-style:none}
.helpArticle>summary::-webkit-details-marker{display:none}
.helpArticleIcon{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#e8f4f2;color:#176f68}
.helpArticleIcon svg{width:19px;height:19px}
.helpArticle summary b,.helpArticle summary small{display:block}
.helpArticle summary b{margin-bottom:4px;font-size:15px}
.helpArticle summary small{color:#70807c;font-size:12px;line-height:1.35}
.helpArticle summary em{font-style:normal;color:#71807c;font-size:12px;white-space:nowrap}
.helpArticle summary>i{font-style:normal;font-size:25px;color:#7d8a87;transition:transform .18s ease}
.helpArticle[open] summary>i{transform:rotate(90deg)}
.helpArticleBody{padding:0 0 19px 54px;color:#52615e;line-height:1.65}
.helpArticleBody p{margin:0 0 13px}
.helpArticleBody a{display:inline-flex;align-items:center;gap:7px;color:#176f68;font-weight:700;text-decoration:none}
.helpSupportPanel{padding:24px;background:#edf7f4;border-color:transparent}
.helpSupportPanelIcon{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#176f68;color:#fff}
.helpSupportPanelIcon svg{width:22px;height:22px}
.helpSupportPanel h3{margin:16px 0 7px;font-size:19px}
.helpSupportPanel p{margin:0 0 18px;color:#61706c;line-height:1.5}
.helpSupportPanel>a,.helpSupportPanel>button{display:inline-flex;align-items:center;justify-content:center;min-height:43px;padding:0 17px;border:0!important;border-radius:11px!important;background:#f96e46!important;color:#fff!important;font-weight:700;text-decoration:none}
.helpSupportPanel>button:disabled{opacity:.55;cursor:not-allowed}
.helpSupportPanel>small{display:block;margin-top:9px;color:#71807c}
.helpEmpty{padding:48px 20px;text-align:center;color:#667571}
.helpEmpty>span{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 12px;border-radius:50%;background:#e8f4f2;color:#176f68}
.helpEmpty svg{width:24px;height:24px}
.helpEmpty h3{margin:0 0 6px;color:#263633}
.helpEmpty p{margin:0}
.srOnly{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:1050px){.helpCategoryGrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.helpCenter{padding:20px}.helpCategoryGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.helpCenterLayout{grid-template-columns:1fr}.helpCenterHero{padding:27px}.helpCenterHero h2{font-size:29px}}
@media(max-width:560px){.helpCenter{padding:14px}.helpCenterHero{padding:23px 17px;border-radius:17px}.helpCenterHero h2{font-size:25px}.helpCenterHero:after{display:none}.helpCenterSearch{height:52px}.helpCenterSearch kbd{display:none}.helpCenterHeading{align-items:flex-start;flex-direction:column;gap:7px;margin-top:23px}.helpCategoryGrid{grid-template-columns:1fr}.helpCategoryCard{min-height:104px}.helpArticlePanel{padding:4px 15px}.helpArticle>summary{grid-template-columns:40px minmax(0,1fr) 16px}.helpArticle summary em{display:none}.helpArticleBody{padding-left:0}.helpSupportPanel{padding:20px}}

/* FIX219 — Accesso dall'header e allineamento al sistema grafico YMYSY */
.dashV356Help{color:#173441!important;text-decoration:none!important;cursor:pointer}
.dashV356Help:hover,.dashV356Help:focus-visible{color:#078e93!important}
.dashV356Help:focus-visible{outline:3px solid rgba(7,142,147,.22);outline-offset:4px;border-radius:6px}
.workspace--help{padding:22px!important;background:#f7f9f8!important}
.helpCenter{--help-teal:#078e93;--help-teal-dark:#006f76;--help-deep:#004853;--help-soft:#eaf8f7;--help-soft-2:#f3fbfa;--help-line:#dbe8e7;--help-ink:#102634;--help-muted:#60717f;padding:0;max-width:none;color:var(--help-ink);font-family:var(--backend-body-font),Arial,sans-serif}
.helpCenterHero{padding:24px;border:1px solid #cfe6e4;border-radius:14px;background:linear-gradient(112deg,#f7fcfc 0%,#edf9f8 48%,#f9fcfc 100%);box-shadow:0 7px 24px rgba(12,72,77,.035);color:var(--help-ink);overflow:hidden}
.helpCenterHero:after{right:34px;top:-34px;color:var(--help-teal);font-size:168px;opacity:.08}
.helpCenterHero .eyebrow{margin-bottom:6px;color:#087c82;font-size:11px}
.helpCenterHero h2{margin-bottom:6px;color:var(--help-ink);font-size:25px;letter-spacing:-.025em}
.helpCenterHero>p:not(.eyebrow){margin-bottom:18px;color:var(--help-muted);font-size:13px}
.helpCenterSearch{max-width:760px;height:48px;border:1px solid #d7e5e4;border-radius:10px;box-shadow:none;color:#60717f}
.helpCenterSearch:focus-within{border-color:var(--help-teal);box-shadow:0 0 0 3px rgba(7,142,147,.14)}
.helpCenterSearch>span:not(.srOnly){width:46px;flex-basis:46px;color:#087f84}
.helpCenterSearch input{font-size:13px!important}
.helpCenterHeading{margin:22px 0 12px;padding:0 4px}
.helpCenterHeading h3{margin-bottom:3px;font-size:18px}
.helpCenterHeading p{color:var(--help-muted);font-size:12px}
.helpCenterHeading>strong{color:#087c82;font-size:11px}
.helpCategoryGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.helpCategoryCard{min-height:106px;padding:14px;border:1px solid var(--help-line)!important;border-radius:11px!important;box-shadow:0 8px 24px rgba(23,56,65,.025)!important}
.helpCategoryCard:hover,.helpCategoryCard:focus-visible{border-color:var(--help-teal)!important;box-shadow:0 8px 20px rgba(7,142,147,.08)!important}
.helpCategoryCard.is-active{transform:none;border-color:var(--help-teal)!important;background:linear-gradient(180deg,#07999b,#007b82)!important;color:#fff!important;box-shadow:0 6px 13px rgba(0,123,130,.13)!important}
.helpCategoryIcon{width:36px;height:36px;margin-bottom:10px;background:var(--help-soft);color:#078d92}
.helpCategoryCard.is-active .helpCategoryIcon{background:rgba(255,255,255,.17);color:#fff}
.helpCategoryCard strong{font-size:13px}.helpCategoryCard small{font-size:10px}.helpCategoryCard.is-active small{color:#e4f5f4}
.helpCenterLayout{gap:14px;margin-top:18px;grid-template-columns:minmax(0,1.65fr) minmax(245px,.55fr)}
.helpArticlePanel,.helpSupportPanel{border-color:var(--help-line);border-radius:12px;box-shadow:0 8px 24px rgba(23,56,65,.025)}
.helpArticlePanel{padding:4px 14px}
.helpArticle>summary{grid-template-columns:38px minmax(0,1fr) auto 16px;gap:10px;padding:13px 0}
.helpArticleIcon{width:36px;height:36px;background:var(--help-soft);color:#078d92}
.helpArticle summary b{font-size:12px}.helpArticle summary small,.helpArticle summary em{font-size:10px}
.helpArticleBody{padding:0 0 15px 48px;color:#4f6472;font-size:12px}
.helpArticleBody a{color:#087c82;font-size:11px}
.helpSupportPanel{padding:18px;background:linear-gradient(112deg,#f7fcfc,#edf9f8)}
.helpSupportPanelIcon{width:42px;height:42px;background:var(--help-teal);color:#fff}
.helpSupportPanel h3{margin:13px 0 5px;font-size:16px}.helpSupportPanel p{margin-bottom:14px;color:var(--help-muted);font-size:11px}
.helpSupportPanel>a,.helpSupportPanel>button{min-height:38px;padding:0 15px;border:1.5px solid var(--help-teal)!important;border-radius:8px!important;background:#fff!important;color:#087b81!important;font-size:11px}
.helpSupportPanel>a:hover{background:var(--help-teal)!important;color:#fff!important}
@media(max-width:1050px){.helpCategoryGrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.workspace--help{padding:18px!important}.helpCenter{padding:0}.helpCategoryGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.helpCenterLayout{grid-template-columns:1fr}.helpCenterHero{padding:20px}.helpCenterHero h2{font-size:22px}}
@media(max-width:680px){.dashV356Help{display:inline-flex!important;width:34px;height:34px;justify-content:center}.dashV356Help span{display:none}.dashV356Help b{width:24px;height:24px}}
@media(max-width:560px){.workspace--help{padding:12px!important}.helpCenterHero{padding:17px 14px;border-radius:12px}.helpCenterHero h2{font-size:19px}.helpCenterHero>p:not(.eyebrow){font-size:11px}.helpCenterSearch{height:44px}.helpCategoryGrid{grid-template-columns:1fr}.helpCategoryCard{min-height:92px}.helpCenterHeading{margin-top:18px}.helpArticlePanel{padding:3px 12px}.helpSupportPanel{padding:16px}}

/* FIX220 — Selettore compatto: stessi pulsanti modulo della dashboard */
.helpCategoryGrid{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.helpCategoryCard{-webkit-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:8px;width:auto;min-width:0;min-height:36px!important;margin:0;padding:0 14px!important;border:0!important;border-radius:18px!important;background:linear-gradient(180deg,#07999b,#007b82)!important;box-shadow:0 6px 13px rgba(0,123,130,.13)!important;color:#fff!important;text-align:left;cursor:pointer;transition:background .18s ease,box-shadow .18s ease,transform .18s ease}
.helpCategoryCard:hover,.helpCategoryCard:focus-visible{transform:translateY(-1px);border:0!important;background:linear-gradient(180deg,#08a5a7,#00868d)!important;box-shadow:0 6px 13px rgba(0,123,130,.17)!important}
.helpCategoryCard:focus-visible{outline:3px solid rgba(7,142,147,.24);outline-offset:2px}
.helpCategoryCard.is-active{transform:none;border:0!important;background:linear-gradient(180deg,#006f76,#005760)!important;box-shadow:0 0 0 3px rgba(7,142,147,.17),0 7px 16px rgba(0,93,100,.22)!important;color:#fff!important}
.helpCategoryIcon,.helpCategoryCard.is-active .helpCategoryIcon{display:block;width:18px;height:18px;margin:0;border-radius:0;background:transparent;color:#fff}
.helpCategoryIcon svg{width:18px;height:18px}
.helpCategoryCard strong{display:block;margin:0;color:#fff;font-size:12px;line-height:1;white-space:nowrap}
.helpCategoryCard small{display:block;margin-left:2px;padding-left:8px;border-left:1px solid rgba(255,255,255,.3);color:#e5f6f4!important;font-size:9px;line-height:1;white-space:nowrap}
@media(max-width:680px){.helpCategoryGrid{flex-wrap:nowrap;width:100%;padding:1px 1px 7px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}.helpCategoryGrid::-webkit-scrollbar{display:none}.helpCategoryCard{flex:0 0 auto;min-height:34px!important;padding:0 12px!important;border-radius:17px!important}.helpCategoryIcon,.helpCategoryIcon svg{width:16px;height:16px}.helpCategoryCard strong{font-size:10px}.helpCategoryCard small{font-size:8px}}

/* FIX221 — riuso reale del componente modulo della dashboard */
.workspace--help .helpCategoryGrid>a.dashV356ModuleBadge.helpCategoryCard{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;width:auto!important;min-width:0!important;min-height:42px!important;height:42px!important;margin:0!important;padding:0 18px!important;border:0!important;border-color:transparent!important;border-radius:21px!important;background-color:#007b82!important;background-image:linear-gradient(180deg,#07999b,#007b82)!important;box-shadow:0 6px 13px rgba(0,123,130,.13)!important;color:#fff!important;text-decoration:none!important;font-size:13px!important;font-weight:850!important;line-height:1!important}
.workspace--help .helpCategoryGrid>a.dashV356ModuleBadge.helpCategoryCard:hover,.workspace--help .helpCategoryGrid>a.dashV356ModuleBadge.helpCategoryCard:focus-visible{transform:translateY(-1px)!important;background-color:#00868d!important;background-image:linear-gradient(180deg,#08a5a7,#00868d)!important;color:#fff!important}
.workspace--help .helpCategoryGrid>a.dashV356ModuleBadge.helpCategoryCard.is-active{transform:none!important;background-color:#005760!important;background-image:linear-gradient(180deg,#006f76,#005760)!important;box-shadow:0 0 0 5px rgba(7,142,147,.14),0 7px 16px rgba(0,93,100,.22)!important;color:#fff!important}
.workspace--help .helpCategoryGrid>a.dashV356ModuleBadge.helpCategoryCard .helpCategoryIcon{display:block!important;width:20px!important;height:20px!important;flex:0 0 20px!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:#fff!important}
.workspace--help .helpCategoryGrid>a.dashV356ModuleBadge.helpCategoryCard .helpCategoryIcon svg{display:block!important;width:20px!important;height:20px!important;color:#fff!important;stroke:currentColor!important}
.workspace--help .helpCategoryGrid>a.dashV356ModuleBadge.helpCategoryCard strong{display:block!important;margin:0!important;padding:0!important;color:#fff!important;font-size:13px!important;font-weight:850!important;line-height:1!important;white-space:nowrap!important}
@media(max-width:680px){.workspace--help .helpCategoryGrid>a.dashV356ModuleBadge.helpCategoryCard{min-height:38px!important;height:38px!important;padding:0 15px!important;border-radius:19px!important;font-size:11px!important}.workspace--help .helpCategoryGrid>a.dashV356ModuleBadge.helpCategoryCard strong{font-size:11px!important}.workspace--help .helpCategoryGrid>a.dashV356ModuleBadge.helpCategoryCard .helpCategoryIcon,.workspace--help .helpCategoryGrid>a.dashV356ModuleBadge.helpCategoryCard .helpCategoryIcon svg{width:18px!important;height:18px!important;flex-basis:18px!important}}

/* FIX222 — contenuto operativo strutturato delle guide */
.helpArticleBody>section{margin:0 0 13px}
.helpArticleBody>section h4{margin:0 0 4px;color:#18313c;font-family:var(--backend-heading-font),Arial,sans-serif;font-size:11px;font-weight:850;letter-spacing:.01em}
.helpArticleBody>section p{margin:0;color:#4f6472;font-size:12px;line-height:1.6}
.helpArticlePermission{display:inline-flex;align-items:center;gap:4px;margin:0 0 14px!important;padding:6px 9px;border-radius:7px;background:#eef7f6;color:#536d78!important;font-size:10px!important}
.helpArticlePermission b{color:#087c82}
@media(max-width:560px){.helpArticleBody>section p{font-size:11px}.helpArticlePermission{display:flex;align-items:flex-start}}

/* FIX224 — Ricerca lotti: stessa azione circolare di Guarda e Duplica */
body:not(.public) main.workspace.workspace--traceability .traceabilityStandardDirectory .searchForm button.lotSearchIconButton{
  display:inline-grid!important;
  place-items:center!important;
  align-self:center!important;
  justify-self:center!important;
  box-sizing:border-box!important;
  width:40px!important;
  min-width:40px!important;
  max-width:40px!important;
  height:40px!important;
  min-height:40px!important;
  max-height:40px!important;
  padding:0!important;
  border:1.5px solid #20AFAA!important;
  border-radius:50%!important;
  background:#fff!important;
  color:#20AFAA!important;
  box-shadow:none!important;
  aspect-ratio:1/1!important;
}
body:not(.public) main.workspace.workspace--traceability .traceabilityStandardDirectory .searchForm button.lotSearchIconButton svg{
  display:block!important;
  width:20px!important;
  height:20px!important;
  stroke:currentColor!important;
}
body:not(.public) main.workspace.workspace--traceability .traceabilityStandardDirectory .searchForm button.lotSearchIconButton:is(:hover,:focus-visible){
  border-color:#20AFAA!important;
  background:#20AFAA!important;
  color:#fff!important;
}
body:not(.public) main.workspace.workspace--traceability .traceabilityStandardDirectory .searchForm button.lotSearchIconButton:focus-visible{
  outline:3px solid rgba(32,175,170,.22)!important;
  outline-offset:3px!important;
}
@media(max-width:800px){
  body:not(.public) main.workspace.workspace--traceability .traceabilityStandardDirectory .searchForm button.lotSearchIconButton{
    grid-column:1!important;
    justify-self:end!important;
    width:40px!important;
    min-width:40px!important;
    height:40px!important;
    min-height:40px!important;
    padding:0!important;
  }
}

/* FIX227 — Passaporto digitale: rifinitura approvata e neutralità esempi */
body:not(.public) main.workspace.workspace--traceability .templateLibrary .passportTabsRow{
  padding-bottom:22px!important;
  border-bottom:1px solid #d8e0e3!important;
  background:transparent!important;
}
body:not(.public) main.workspace.workspace--traceability .templateLibrary .passportTabsRow .passportTabs{
  width:auto!important;
  margin:22px 0 0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body:not(.public) main.workspace.workspace--traceability .templateLibrary .templateCreate{
  align-items:end!important;
  margin:24px 0 30px!important;
}
body:not(.public) main.workspace.workspace--traceability .templateLibrary .templateCreate > label{
  display:grid!important;
  grid-template-rows:auto 58px!important;
  gap:8px!important;
  align-self:end!important;
  min-width:0!important;
  margin:0!important;
}
body:not(.public) main.workspace.workspace--traceability .templateLibrary .templateCreate > label > input{
  box-sizing:border-box!important;
  display:block!important;
  width:100%!important;
  height:58px!important;
  min-height:58px!important;
  max-height:58px!important;
  margin:0!important;
  padding:0 16px!important;
  line-height:normal!important;
}
body:not(.public) main.workspace.workspace--traceability .templateLibrary .templateCreate > button{
  align-self:end!important;
  height:58px!important;
  min-height:58px!important;
  max-height:58px!important;
  margin:0!important;
}
body:not(.public) main.workspace.workspace--traceability .templateLibrary .templateGrid{
  margin-top:0!important;
}
body:not(.public) main.workspace.workspace--traceability .templateLibrary .templateGrid > article{
  min-height:0!important;
  padding:22px!important;
}
body:not(.public) main.workspace.workspace--traceability .templateLibrary .templateCardContent{
  display:grid!important;
  gap:9px!important;
}
body:not(.public) main.workspace.workspace--traceability .templateLibrary .templateCardContent > small,
body:not(.public) main.workspace.workspace--traceability .templateLibrary .templateCardContent > p,
body:not(.public) main.workspace.workspace--traceability .templateLibrary .templateCardTitleRow h3{
  margin:0!important;
  line-height:1.25!important;
}
@media(max-width:800px){
  body:not(.public) main.workspace.workspace--traceability .templateLibrary .passportTabsRow{padding-bottom:18px!important}
  body:not(.public) main.workspace.workspace--traceability .templateLibrary .passportTabsRow .passportTabs{
    width:100%!important;
    padding:0!important;
    background:transparent!important;
  }
  body:not(.public) main.workspace.workspace--traceability .templateLibrary .templateCreate{
    grid-template-columns:1fr!important;
    gap:14px!important;
    margin-bottom:24px!important;
  }
  body:not(.public) main.workspace.workspace--traceability .templateLibrary .templateCreate > label{grid-template-rows:auto 52px!important}
  body:not(.public) main.workspace.workspace--traceability .templateLibrary .templateCreate > label > input,
  body:not(.public) main.workspace.workspace--traceability .templateLibrary .templateCreate > button{
    height:52px!important;
    min-height:52px!important;
    max-height:52px!important;
  }
}

/* FIX228 — Scheda modello compatta e pulsante coerente con i tab */
body:not(.public) main.workspace.workspace--traceability .templateLibrary .templateGrid .templateCardContent{
  display:grid!important;
  grid-template-rows:auto auto auto!important;
  gap:4px!important;
  align-content:start!important;
}
body:not(.public) main.workspace.workspace--traceability .templateLibrary .templateGrid .templateCardContent > small{
  display:block!important;
  margin:0!important;
  line-height:1.1!important;
}
body:not(.public) main.workspace.workspace--traceability .templateLibrary .templateGrid .templateCardTitleRow{
  margin:0!important;
  min-height:0!important;
}
body:not(.public) main.workspace.workspace--traceability .templateLibrary .templateGrid .templateCardTitleRow h3{
  margin:0!important;
  line-height:1.08!important;
}
body:not(.public) main.workspace.workspace--traceability .templateLibrary .templateGrid .templateCardContent > p{
  margin:0!important;
  line-height:1.2!important;
}
body:not(.public) main.workspace.workspace--traceability .templateLibrary .templateOpenButton{
  min-height:44px!important;
  padding:9px 16px!important;
  border:1.5px solid var(--trace-accent-line)!important;
  border-radius:12px!important;
  background:#fff!important;
  color:var(--trace-accent-dark)!important;
  box-shadow:none!important;
}
body:not(.public) main.workspace.workspace--traceability .templateLibrary .templateOpenButton:is(:hover,:focus-visible){
  border-color:var(--trace-accent)!important;
  background:var(--trace-accent)!important;
  color:#fff!important;
}

/* FIX229 — Apri modello isolato dalle classi globali dei pulsanti */
body:not(.public) main.workspace.workspace--traceability .templateLibrary a.templateOpenButton{
  -webkit-appearance:none!important;
  appearance:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  box-sizing:border-box!important;
  min-height:44px!important;
  margin:0!important;
  padding:9px 16px!important;
  border:1.5px solid #A9E2DE!important;
  border-radius:12px!important;
  background-color:#fff!important;
  background-image:none!important;
  color:#087F81!important;
  font-weight:800!important;
  line-height:1.2!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  box-shadow:none!important;
  filter:none!important;
}
body:not(.public) main.workspace.workspace--traceability .templateLibrary a.templateOpenButton:hover,
body:not(.public) main.workspace.workspace--traceability .templateLibrary a.templateOpenButton:focus-visible{
  border-color:#20AFAA!important;
  background-color:#20AFAA!important;
  background-image:none!important;
  color:#fff!important;
  filter:none!important;
}
body:not(.public) main.workspace.workspace--traceability .templateLibrary a.templateOpenButton:focus-visible{
  outline:3px solid rgba(32,175,170,.22)!important;
  outline-offset:3px!important;
}
@media(max-width:650px){
  body:not(.public) main.workspace.workspace--traceability .templateLibrary a.templateOpenButton{width:100%!important}
}

/* FIX230 — Aspetto modelli: rimuove il fondale verde sotto la navigazione */
body:not(.public) main.workspace.workspace--traceability .traceAppearancePage > .passportTabs{
  width:max-content!important;
  max-width:100%!important;
  margin:24px 0 28px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
@media(max-width:700px){
  body:not(.public) main.workspace.workspace--traceability .traceAppearancePage > .passportTabs{
    width:100%!important;
    overflow-x:auto!important;
  }
}

/* FIX231 — Azioni modello uniformate alla palette del modulo */
body:not(.public) main.workspace:is(.workspace--traceability,.workspace--products,.workspace--nutrition) .passportModelActions .templateModelIconAction,
body:not(.public) main.workspace:is(.workspace--traceability,.workspace--products,.workspace--nutrition) .passportModelActions .templateModelIconAction.dangerIcon{
  display:inline-grid!important;
  place-items:center!important;
  width:58px!important;
  height:58px!important;
  min-width:58px!important;
  min-height:58px!important;
  padding:0!important;
  border:1.5px solid var(--module-accent)!important;
  border-radius:50%!important;
  background:#fff!important;
  color:var(--module-accent)!important;
  box-shadow:none!important;
}
body:not(.public) main.workspace:is(.workspace--traceability,.workspace--products,.workspace--nutrition) .passportModelActions .templateModelIconAction:is(:hover,:focus-visible),
body:not(.public) main.workspace:is(.workspace--traceability,.workspace--products,.workspace--nutrition) .passportModelActions .templateModelIconAction.dangerIcon:is(:hover,:focus-visible){
  border-color:var(--module-accent)!important;
  background:var(--module-accent)!important;
  color:#fff!important;
  transform:translateY(-1px)!important;
}
body:not(.public) main.workspace:is(.workspace--traceability,.workspace--products,.workspace--nutrition) .passportModelActions .templateModelIconAction svg{
  width:25px!important;
  height:25px!important;
  stroke:currentColor!important;
}
@media(max-width:700px){
  body:not(.public) main.workspace:is(.workspace--traceability,.workspace--products,.workspace--nutrition) .passportModelActions .templateModelIconAction,
  body:not(.public) main.workspace:is(.workspace--traceability,.workspace--products,.workspace--nutrition) .passportModelActions .templateModelIconAction.dangerIcon{
    width:52px!important;
    height:52px!important;
    min-width:52px!important;
    min-height:52px!important;
  }
}

/* FIX232 — Tre azioni Passaporto: struttura e resa identiche */
html body:not(.public) main.workspace .passportTabsRow .passportModelActions{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
}
html body:not(.public) main.workspace .passportTabsRow .passportModelActions > form{
  display:block!important;
  flex:0 0 58px!important;
  width:58px!important;
  height:58px!important;
  min-width:58px!important;
  min-height:58px!important;
  margin:0!important;
  padding:0!important;
}
html body:not(.public) main.workspace .passportTabsRow .passportModelActions .passportModelAction{
  -webkit-appearance:none!important;
  appearance:none!important;
  display:grid!important;
  place-items:center!important;
  box-sizing:border-box!important;
  flex:0 0 58px!important;
  width:58px!important;
  height:58px!important;
  min-width:58px!important;
  min-height:58px!important;
  max-width:58px!important;
  max-height:58px!important;
  margin:0!important;
  padding:0!important;
  border:1.5px solid var(--module-accent,#20AFAA)!important;
  border-radius:50%!important;
  background:#fff!important;
  color:var(--module-accent,#20AFAA)!important;
  line-height:0!important;
  box-shadow:none!important;
  filter:none!important;
}
html body:not(.public) main.workspace .passportTabsRow .passportModelActions .passportModelAction:is(:hover,:focus-visible){
  border-color:var(--module-accent,#20AFAA)!important;
  background:var(--module-accent,#20AFAA)!important;
  color:#fff!important;
  transform:translateY(-1px)!important;
}
html body:not(.public) main.workspace .passportTabsRow .passportModelActions .passportModelAction svg{
  display:block!important;
  width:25px!important;
  height:25px!important;
  margin:0!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
}
@media(max-width:700px){
  html body:not(.public) main.workspace .passportTabsRow .passportModelActions > form,
  html body:not(.public) main.workspace .passportTabsRow .passportModelActions .passportModelAction{
    flex-basis:52px!important;
    width:52px!important;
    height:52px!important;
    min-width:52px!important;
    min-height:52px!important;
    max-width:52px!important;
    max-height:52px!important;
  }
}

/* FIX234 — Azzera filtri lotti come azione circolare Filtro × */
body:not(.public) main.workspace.workspace--traceability .traceabilityStandardDirectory .searchForm a.lotResetIconButton{
  display:inline-grid!important;
  place-items:center!important;
  align-self:center!important;
  justify-self:center!important;
  box-sizing:border-box!important;
  width:40px!important;
  min-width:40px!important;
  max-width:40px!important;
  height:40px!important;
  min-height:40px!important;
  max-height:40px!important;
  margin:0!important;
  padding:0!important;
  border:1.5px solid var(--module-accent,#20AFAA)!important;
  border-radius:50%!important;
  background:#fff!important;
  color:var(--module-accent,#20AFAA)!important;
  line-height:0!important;
  text-decoration:none!important;
  box-shadow:none!important;
  aspect-ratio:1/1!important;
}
body:not(.public) main.workspace.workspace--traceability .traceabilityStandardDirectory .searchForm a.lotResetIconButton svg{
  display:block!important;
  width:20px!important;
  height:20px!important;
  margin:0!important;
  fill:none!important;
  stroke:currentColor!important;
}
body:not(.public) main.workspace.workspace--traceability .traceabilityStandardDirectory .searchForm a.lotResetIconButton:is(:hover,:focus-visible){
  border-color:var(--module-accent,#20AFAA)!important;
  background:var(--module-accent,#20AFAA)!important;
  color:#fff!important;
}
body:not(.public) main.workspace.workspace--traceability .traceabilityStandardDirectory .searchForm a.lotResetIconButton:focus-visible{
  outline:3px solid rgba(32,175,170,.22)!important;
  outline-offset:3px!important;
}
@media(max-width:800px){
  body:not(.public) main.workspace.workspace--traceability .traceabilityStandardDirectory .searchForm a.lotResetIconButton{
    grid-column:1!important;
    justify-self:end!important;
    width:40px!important;
    min-width:40px!important;
    max-width:40px!important;
    height:40px!important;
    min-height:40px!important;
    max-height:40px!important;
  }
}


/* FIX235R - Navigazione essenziale dentro un modello. */
html body:not(.public) main.workspace.workspace--traceability .templateLibrary .passportTabsRow .passportTabs.passportBackNavigation{display:block!important;width:auto!important;max-width:100%!important;margin:22px 0 0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important}
html body:not(.public) main.workspace.workspace--traceability .templateLibrary .passportTabsRow .passportBackNavigation a.passportBackLink{display:inline-flex!important;align-items:center!important;gap:9px!important;width:auto!important;min-width:0!important;min-height:44px!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:var(--module-accent,#20AFAA)!important;box-shadow:none!important;font-weight:800!important;text-decoration:none!important}
html body:not(.public) main.workspace.workspace--traceability .templateLibrary .passportTabsRow .passportBackNavigation a.passportBackLink svg{width:21px!important;height:21px!important;flex:0 0 21px!important;fill:none!important;stroke:currentColor!important;stroke-width:2!important;stroke-linecap:round!important;stroke-linejoin:round!important}
html body:not(.public) main.workspace.workspace--traceability .templateLibrary .passportTabsRow .passportBackNavigation a.passportBackLink:is(:hover,:focus-visible){border:0!important;background:transparent!important;color:#087f7c!important;text-decoration:underline!important;text-underline-offset:4px!important}
@media(max-width:700px){html body:not(.public) main.workspace.workspace--traceability .templateLibrary .passportTabsRow{align-items:center!important}html body:not(.public) main.workspace.workspace--traceability .templateLibrary .passportTabsRow .passportTabs.passportBackNavigation{width:auto!important;margin-top:18px!important}}
