:root{--bg:#f3f6f6;--surface:#ffffff;--surface2:#e8eeee;--fg:#14231f;--muted:#4d5d59;--line:#cfdad8;--accent:#0f5c63;--accent-fg:#ffffff;--ok:#17663a;--ok-bg:#e1f3e8;--warn:#7d4a00;--warn-bg:#fdf0d8;--bad:#9c1f18;--bad-bg:#fbe3e1;--info-bg:#e3eef6;--f-display:"Bricolage Grotesque","Segoe UI",system-ui,sans-serif;--f-body:"Atkinson Hyperlegible","Segoe UI",system-ui,sans-serif;--f-mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;--r:12px;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#0f1716;--surface:#16211f;--surface2:#1d2a28;--fg:#e4eeec;--muted:#9db0ab;--line:#2c3d3a;--accent:#58b6bd;--accent-fg:#06201f;--ok:#62cf8d;--ok-bg:#15301f;--warn:#f0b450;--warn-bg:#33270f;--bad:#ff8a80;--bad-bg:#3a1714;--info-bg:#162836;color-scheme:dark}}*{box-sizing:border-box}body,html{margin:0}body{background:var(--bg);color:var(--fg);font:16px/1.5 var(--f-body)}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--accent)}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}h1,h2,h3{font-family:var(--f-display);margin:0;line-height:1.15;text-wrap:balance}h1{font-size:1.6rem}h2{font-size:1.2rem}h3{font-size:1.05rem}p{margin:0}.muted{color:var(--muted)}.small{font-size:.88rem}.label{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700}.mono{font-family:var(--f-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.wrap{max-width:960px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.top{background:var(--accent);color:var(--accent-fg);position:-webkit-sticky;position:sticky;top:0;z-index:5}.top .wrap{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;padding-block:10px}.brand{font:800 1.15rem/1.1 var(--f-display);margin-right:auto}.brand small{display:block;font:400 .78rem var(--f-body);opacity:.85}.top select{background:var(--surface);color:var(--fg);border:0;border-radius:8px;padding:8px 10px;max-width:100%}.top a{color:var(--accent-fg)}.navbar{background:var(--surface);border-bottom:1px solid var(--line)}.navbar .wrap{display:flex;gap:2px;overflow-x:auto}.navbar a{padding:12px;text-decoration:none;color:var(--muted);font-weight:700;border-bottom:3px solid transparent;white-space:nowrap}.navbar a[aria-current=page]{color:var(--fg);border-bottom-color:var(--accent)}main.wrap{padding-block:20px 80px;display:flex;flex-direction:column;gap:16px}.panel{background:var(--surface);border:1px solid var(--line);padding:16px;flex-direction:column;min-width:0}.alarm,.panel{border-radius:var(--r);display:flex;gap:12px}.alarm{padding:12px 16px;align-items:center;flex-wrap:wrap}.alarm.bad{background:var(--bad-bg);color:var(--bad)}.alarm.warn{background:var(--warn-bg);color:var(--warn)}.alarm.ok{background:var(--ok-bg);color:var(--ok)}.alarm .grow{flex:1 1;min-width:200px}.btn{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:10px 14px;cursor:pointer;font-weight:700;display:inline-flex;gap:6px;align-items:center;justify-content:center;text-decoration:none;color:var(--fg);min-height:44px}.btn.primary,.btn:hover{border-color:var(--accent)}.btn.primary{background:var(--accent);color:var(--accent-fg)}.btn.danger{color:var(--bad);border-color:var(--bad)}.btn.sm{padding:6px 10px;font-size:.9rem;min-height:36px}.btn:disabled{opacity:.6;cursor:default}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.between{justify-content:space-between}.stack{display:flex;flex-direction:column;gap:8px}.grid2{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:12px}.grid2,.slot{display:grid;gap:12px}.slot{grid-template-columns:6px 1fr auto;grid-gap:12px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:10px 12px 10px 0;overflow:hidden}.slot .stripe{align-self:stretch;border-radius:0 3px 3px 0;background:var(--line)}.slot.fatto .stripe{background:var(--ok)}.slot.scaduto .stripe{background:var(--bad)}.slot.da_fare .stripe{background:var(--warn)}.slot .meta{min-width:0}.pill{display:inline-block;font-size:.75rem;font-weight:700;padding:2px 8px;border-radius:99px;white-space:nowrap}.pill.fatto,.pill.ok{background:var(--ok-bg);color:var(--ok)}.pill.bad,.pill.scaduto{background:var(--bad-bg);color:var(--bad)}.pill.da_fare,.pill.warn{background:var(--warn-bg);color:var(--warn)}.pill.neutral,.pill.programmato,.tag{background:var(--surface2);color:var(--muted)}.tag{font-size:.72rem;padding:1px 7px;border-radius:5px;font-weight:700}.field{display:flex;flex-direction:column;gap:4px;min-width:0}.field input,.field select,.field textarea,input.in,select.in,textarea.in{border:1px solid var(--line);background:var(--bg);border-radius:8px;padding:9px 10px;width:100%}textarea{min-height:64px;resize:vertical}.item{border:1px solid var(--line);border-radius:var(--r);padding:12px;display:flex;flex-direction:column;gap:8px;background:var(--surface)}.item.nc{border-color:var(--bad);background:var(--bad-bg)}.seg{display:flex;gap:6px;flex-wrap:wrap}.seg label{border:1px solid var(--line);border-radius:8px;padding:9px 12px;cursor:pointer;background:var(--bg);min-height:44px;display:inline-flex;align-items:center}.seg input{position:absolute;opacity:0;pointer-events:none}.seg label:has(input:checked){border-color:var(--accent);background:var(--info-bg);font-weight:700}.seg label.nc:has(input:checked){border-color:var(--bad);background:var(--bad-bg);color:var(--bad)}.seg label:has(input:focus-visible){outline:3px solid var(--accent)}.temp{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.temp input{font-family:var(--f-mono);font-size:1.15rem;width:7.5rem;border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:var(--bg)}canvas.firma{border:1px dashed var(--muted);border-radius:8px;background:#fff;width:100%;max-width:440px;height:150px;touch-action:none}.tablewrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.93rem}td,th{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em}.ref,th{color:var(--muted)}.ref{font-size:.85rem;border-left:3px solid var(--line);padding-left:10px}.errore{background:var(--bad-bg);color:var(--bad)}.errore,.ok-msg{border-radius:8px;padding:8px 12px;font-weight:700}.ok-msg{background:var(--ok-bg);color:var(--ok)}.foglio{background:#fff;color:#111;border:1px solid #ccc;border-radius:8px;padding:20px;overflow-x:auto}.kpi{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:10px;gap:10px}.kpi .n{font:800 2rem/1 var(--f-display)}.editrow{display:grid;grid-template-columns:2fr 1.4fr .7fr .7fr .7fr auto;grid-gap:6px;gap:6px;align-items:end;border-bottom:1px solid var(--line);padding-bottom:8px}@media (max-width:640px){.editrow{grid-template-columns:1fr 1fr}.editrow .wide{grid-column:1/-1}}@media print{body{background:#fff}.navbar,.no-print,.top{display:none!important}.foglio,main.wrap{padding:0}.foglio{border:0}@page{margin:14mm}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}a.ricetta-card{text-decoration:none;color:inherit}a.ricetta-card:hover{border-color:var(--accent)}.allergeni-box{border-color:var(--bad)}.pill.big{font-size:.95rem;padding:4px 12px}ol.passi{margin:0;padding-left:1.4em;display:flex;flex-direction:column;gap:8px}.blocco{border:1px solid var(--line);border-radius:var(--r);padding:10px;display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));align-items:end}.allergeni-scelta{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));grid-gap:6px;gap:6px}@media print{.ricetta .panel{page-break-inside:avoid;break-inside:avoid;border:1px solid #999}.ricetta .pill{border:1px solid #333}}.item.ccp{border-left:4px solid var(--bad)}dl.voci{margin:0;display:grid;grid-template-columns:minmax(120px,180px) 1fr;grid-gap:4px 12px;gap:4px 12px}dl.voci dt{color:var(--muted);font-size:.88rem}dl.voci dd{margin:0}@media (max-width:520px){dl.voci{grid-template-columns:1fr}dl.voci dd{margin-bottom:6px}}h2.reparto,h3.reparto{border-bottom:2px solid var(--accent);padding-bottom:4px}ol.indice-voci{margin:4px 0 8px;padding-left:1.4em;display:flex;flex-direction:column;gap:2px}@media print{.indice{page-break-inside:auto;break-inside:auto;border:0;padding:0}.indice+.indice{page-break-before:always;break-before:page}}.foto-griglia{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:12px;gap:12px}.foto{margin:0;display:flex;flex-direction:column;gap:6px}.foto img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;border:1px solid var(--line);background:#fff}@media print{.foto-griglia{grid-template-columns:repeat(2,1fr)}.foto img{max-height:70mm}}.ricetta-testa{display:grid;grid-template-columns:1.3fr 1fr;grid-gap:16px;gap:16px;align-items:start}.ricetta-testa .foto-griglia{grid-template-columns:1fr}@media (max-width:720px){.ricetta-testa{grid-template-columns:1fr}}.permesso{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:8px 0;border-bottom:1px solid var(--line)}.permesso .seg label{min-height:38px;padding:6px 10px;font-size:.9rem}fieldset:disabled .permesso{opacity:.55}details>summary.btn{list-style:none;display:inline-flex}details>summary.btn::-webkit-details-marker{display:none}table.matrice{font-size:.85rem}table.matrice th span{writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap;display:inline-block;max-height:150px}table.matrice td,table.matrice th{text-align:center;padding:4px 6px;border:1px solid var(--line)}table.matrice td:first-child,table.matrice th:first-child{text-align:left;min-width:180px}table.matrice td.si{color:var(--bad);font-weight:800;font-size:1.1rem}table.matrice td.manca{background:var(--warn-bg);color:var(--warn)}table.matrice tr.cat td{background:var(--surface2);font-weight:700;text-align:left}@media print{.tabella-allergeni{page-break-inside:auto;break-inside:auto}table.matrice{font-size:9pt}table.matrice th span{max-height:35mm}}.aree{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:14px;gap:14px}.area{display:flex;flex-direction:column;gap:8px;padding:20px;min-height:180px;border-radius:16px;border:1px solid var(--line);border-left:8px solid var(--accent);background:var(--surface);color:var(--fg);text-decoration:none;transition:transform .08s,box-shadow .08s}.area:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgb(0 0 0/.08)}.area.ricettario{border-left-color:#b35a1f}.area.procedure{border-left-color:#5b5f97}.area.manuale{border-left-color:#2f7d4f}.area.gestione{border-left-color:var(--muted)}.area.allarme{border-left-color:var(--bad);background:var(--bad-bg)}.area-icona{font-size:1.6rem;line-height:1}.area-titolo{font:800 1.35rem/1.15 var(--f-display)}.area-testo{color:var(--muted)}.area-stato{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto}.navbar .home-link{color:var(--accent)}.navbar .area-nome{padding:12px 10px;font-weight:800;color:var(--fg);white-space:nowrap;border-left:1px solid var(--line)}@media (max-width:640px){.navbar .area-nome{display:none}.area{min-height:0}}.avviso{background:var(--warn-bg);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}.archivio-griglia{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:10px;gap:10px}.archivio-file{border:1px solid var(--line,#ddd);border-radius:10px;padding:8px;display:flex;flex-direction:column;gap:4px;text-decoration:none;color:inherit;background:var(--surface)}.archivio-file img{width:100%;height:120px;object-fit:cover;border-radius:6px;background:var(--surface2)}.archivio-file .pdf{height:120px;display:grid;place-items:center;border-radius:6px;background:var(--surface2);font-weight:700}.doc-lista{display:flex;flex-direction:column;gap:8px}.doc-lista.vecchi{margin-top:8px;opacity:.8}.doc-riga{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:inherit;text-decoration:none}.doc-riga:hover{border-color:var(--accent)}.doc-riga .grow{display:flex;flex-direction:column;gap:2px;min-width:0}.doc-riga b{overflow-wrap:anywhere}.doc-icona{flex:none;width:48px;height:48px;display:grid;place-items:center;border-radius:10px;background:var(--surface2);color:var(--accent);font-size:12px;font-weight:800;letter-spacing:.04em}.doc-apri{flex:none;color:var(--accent);font-weight:700}.vuoto{color:var(--muted);padding:12px;border:1px dashed var(--line);border-radius:12px;text-align:center}details summary{cursor:pointer;color:var(--accent);font-weight:600}