:root{--navy:#112f44;--navy2:#173c56;--teal:#0c7c78;--lime:#c8f27c;--paper:#f5f7f6;--white:#fff;--ink:#172e40;--muted:#72808c;--line:#e2e9ea;--shadow:0 9px 30px rgba(18,44,55,.05);--radius:16px;font-family:Inter,"Helvetica Neue",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--paper);font-size:14px;line-height:1.55}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}input,select,textarea{width:100%;border:1px solid #d8e1e4;background:#fff;padding:11px 13px;min-height:44px;border-radius:9px;color:var(--ink);outline:none;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:#0c8b85;box-shadow:0 0 0 3px rgba(12,139,133,.10)}input[type=checkbox]{width:17px;height:17px;min-height:17px;accent-color:var(--teal)}textarea{resize:vertical}h1,h2,h3,p{margin:0}h1,h2,h3{letter-spacing:-.025em;line-height:1.25}h1{font-size:clamp(25px,2.5vw,33px);font-weight:760}h2{font-size:21px}h3{font-size:16px}p{line-height:1.55}label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:700;color:#455b69}label input,label select,label textarea{font-weight:450;font-size:14px}small,.small{font-size:12px}.muted{color:var(--muted)}.center{text-align:center}.eyebrow{font-size:10px;letter-spacing:.12em;color:var(--teal);font-weight:800}.brand{display:flex;gap:11px;align-items:center;color:#fff}.brand span:last-child{display:flex;flex-direction:column}.brand b{font-size:14px;letter-spacing:.03em}.brand small{font-size:9px;letter-spacing:.18em;color:#b0c7d0;font-weight:700}.brand-symbol{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--lime);color:#163e41;font-size:24px;font-family:Georgia,serif;font-weight:900}.app-shell{display:flex;min-height:100vh}.sidebar{width:244px;background:var(--navy);min-width:244px;min-height:100vh;padding:23px 13px 19px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;z-index:15}.sidebar>.brand{padding:5px 10px 35px}.nav{display:flex;flex-direction:column;gap:5px}.nav-label{padding:16px 13px 7px;color:#7795a5;letter-spacing:.13em;font-weight:750;font-size:9px}.nav a{display:flex;align-items:center;gap:12px;padding:11px 13px;color:#c6d5dd;border-radius:10px;font-size:13px;font-weight:560;transition:.15s}.nav a:hover{background:#214961;color:#fff}.nav a.active{background:#f1fbf0;color:#163e40;font-weight:800}.nav-icon{font-size:20px;width:22px;text-align:center;font-weight:500;line-height:1}.side-user{margin:auto 4px 2px;padding:15px 8px 3px;border-top:1px solid #325466;display:flex;gap:10px;align-items:center;color:white}.side-user strong{display:block;font-size:12px}.side-user small{display:block;font-size:11px;color:#95b1c1}.avatar{width:35px;height:35px;border-radius:11px;background:#2b5965;display:grid;place-items:center;font-weight:800}.main-area{min-width:0;flex:1;display:flex;flex-direction:column}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;gap:12px}.crumbs{display:flex;gap:12px;align-items:center;font-size:12px;min-width:0}.crumbs>span:first-child{font-size:10px;letter-spacing:.1em;color:#8a969d;font-weight:800}.crumbs strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crumb-separator{color:#bac8cf}.top-actions{display:flex;gap:18px;align-items:center}.site-chip{border-radius:50px;padding:7px 11px;background:#eef6f3;color:#176b5a;white-space:nowrap;font-size:12px;font-weight:750}.logout{background:none;border:0;font-size:12px;color:#6e8291;font-weight:700;padding:8px}.logout:hover{color:#172c3b}.nav-toggle{display:none;border:0;background:none;font-size:22px}.content{width:min(100%,1440px);margin:0 auto;padding:34px 35px 10px;flex:1}.page-heading{display:flex;justify-content:space-between;margin:0 0 26px;align-items:end}.page-heading h1{margin:7px 0 3px}.intro{color:#697f8c;margin:0 0 20px;max-width:790px}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px;margin:0 0 30px}.metric{background:white;padding:20px 23px;border-radius:var(--radius);border:1px solid var(--line);box-shadow:var(--shadow);display:flex;flex-direction:column;min-height:142px}.metric>span{font-size:12px;color:#687c8b;font-weight:700}.metric strong{font-size:37px;line-height:1.5;letter-spacing:-.05em;color:#163a4f}.metric small{font-size:11px;color:#8b9aa4;margin-top:auto}.section-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:21px 0 14px}.section-bar>div{display:flex;flex-direction:column;gap:3px}.section-bar>p{max-width:690px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:9px 17px;border:1px solid transparent;border-radius:10px;font-weight:720;font-size:12px;line-height:1.3;white-space:nowrap;text-align:center;cursor:pointer}.btn.primary{background:var(--navy);color:#fff}.btn.primary:hover{background:#24516b}.btn.secondary{background:#e8f4f1;color:#0f6b65;border-color:#d4eae7}.btn.secondary:hover{background:#d7efea}.btn.ghost{background:#fff;color:#375567;border-color:#dce6e9}.btn.ghost:hover{background:#f7faf9}.btn.wide{width:100%;justify-content:space-between;min-height:49px;font-size:14px}.toolbar{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.table-wrap{background:#fff;border-radius:var(--radius);border:1px solid var(--line);overflow-x:auto;box-shadow:var(--shadow)}table{width:100%;border-collapse:collapse;text-align:left}th{padding:14px 18px;background:#f9fbfa;color:#748894;font-size:10px;letter-spacing:.08em;font-weight:800;text-transform:uppercase;white-space:nowrap}td{padding:17px 18px;border-top:1px solid #eef2f3;vertical-align:middle;font-size:12px}tbody tr:hover{background:#fcfdfd}td strong{font-size:13px}.table-link{color:var(--teal);font-weight:800;white-space:nowrap}.pill{display:inline-flex;align-items:center;padding:5px 9px;border-radius:30px;font-weight:800;font-size:10px;white-space:nowrap}.pill.success{background:#def5e6;color:#16874f}.pill.warning{background:#fff2d8;color:#a36d16}.pill.blue{background:#e2effc;color:#2a688b}.pill.neutral{background:#ecf2f3;color:#647985}.panel{background:#fff;border-radius:var(--radius);border:1px solid var(--line);box-shadow:var(--shadow)}.form-panel{padding:25px;display:flex;flex-direction:column;gap:19px}.form-panel>h2{margin-bottom:-7px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.form-grid>label{min-width:0}.stack{display:flex;flex-direction:column;gap:17px}.stack h3{margin:9px 0 -8px}.check{display:flex;flex-direction:row;align-items:center;gap:9px;font-size:12px;font-weight:600;cursor:pointer}.filters{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:0 0 19px}.filters>input{max-width:245px}.filters>select{width:auto;min-width:140px;max-width:240px}.filters>label{min-width:155px}.filters>label>input{max-width:180px}.filters>button{min-height:44px}.sites-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.site-card{display:flex;flex-direction:column;align-items:flex-start;gap:11px;padding:29px 24px;background:#fff;border-radius:var(--radius);border:1px solid var(--line);box-shadow:var(--shadow)}.site-card h2{font-size:20px}.site-card p{color:#718594;margin-bottom:18px;min-height:42px}.site-icon{width:48px;height:48px;background:#edfaf3;color:#176765;border-radius:15px;display:grid;place-items:center;font-size:30px}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.product-card{border-radius:var(--radius);padding:20px 20px 18px;background:white;border:1px solid var(--line);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:9px;min-height:190px}.product-card-top{display:flex;gap:8px;justify-content:space-between}.product-card h3{font-size:17px;padding-top:10px}.product-card>p{font-size:12px;color:#82919a}.product-actions{display:flex;gap:8px;margin-top:auto;padding-top:10px}.product-actions .btn{padding:8px 12px}.card-headline{display:flex;justify-content:space-between;align-items:center;background:var(--navy);padding:26px;color:#fff;border-radius:var(--radius) var(--radius) 0 0;gap:10px}.card-headline h2{font-size:25px;margin:6px 0}.card-headline .eyebrow{color:#b2ebd2}.card-headline .muted{color:#aec5cc}.card-headline+.panel{border-top-left-radius:0;border-top-right-radius:0;margin-bottom:17px}.ingredients-list{display:flex;flex-direction:column;gap:11px}.ingredient-item{border:1px solid #e1e9e9;background:#f9fbfb;border-radius:12px;padding:14px}.ingredient-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:11px}.ingredient-n{font-size:12px;color:#5c7788;font-weight:700}.line-num{color:#1d726e}.remove-line{border:0;background:none;color:#a25c57;font-size:11px;font-weight:700;padding:5px 1px}.ingredient-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.ingredient-fields label{font-size:10px;min-width:0}.ingredient-fields input{padding:9px 10px;min-height:40px;font-size:13px}.ingredient-fields .f-material_name{grid-column:span 2}.ingredient-fields .f-document_ref{grid-column:span 2}.form-actions{display:flex;gap:9px;justify-content:flex-end;border-top:1px solid var(--line);padding-top:20px}.inform{padding:17px 20px;border-radius:11px;background:#edf7f4;color:#286d65;font-size:13px}.inform p{margin-top:5px}.hint{font-size:12px;color:#88949d;line-height:1.6}.recipe-label{display:flex;justify-content:space-between;align-items:center}.recipe-text{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;line-height:1.9}.photo-panel{padding:24px;margin-bottom:20px}.upload-area{display:flex;align-items:end;gap:14px;flex-wrap:wrap;margin:15px 0}.upload-area>label{flex:1;min-width:200px}.photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:13px}.photo-card{border:1px solid var(--line);border-radius:11px;overflow:hidden}.photo-card img{display:block;width:100%;height:170px;object-fit:cover}.photo-card-footer{display:flex;justify-content:space-between;align-items:center;padding:8px}.text-danger{border:0;background:none;color:#b25049;font-size:11px;font-weight:800}.settings-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.settings-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;border-bottom:1px solid var(--line);padding:10px 0}.settings-row input{flex:1;min-width:140px}.settings-row .check{white-space:nowrap}.settings-row .btn{min-height:40px}.settings-row:last-child{border-bottom:0}.code-line{display:block;background:#e8eff2;border:1px solid #d3e0e5;border-radius:9px;padding:13px;overflow-wrap:anywhere;font-size:12px}.metric-inline{display:flex;align-items:center;gap:9px;margin:14px 0;color:#6c818f}.metric-inline strong{font-size:20px;color:var(--navy)}.alert{padding:13px 16px;border-radius:11px;margin:0 0 21px;font-weight:650;font-size:13px}.alert.ok{color:#226c4b;background:#e4f8eb;border:1px solid #bce7cc}.alert.bad{color:#9e3c3c;background:#fff0f0;border:1px solid #f4cccc}.alert.warn{color:#a46f18;background:#fff3dc;border:1px solid #ffe2ab}.empty{padding:46px 25px;text-align:center;color:#7d8e98}.footer{display:flex;justify-content:space-between;gap:12px;font-size:11px;color:#9aa6ab;padding:37px 0 19px}.auth-body{background:radial-gradient(ellipse at 15% 6%,#235b69 0%,transparent 39%),linear-gradient(140deg,#102c40,#0b1c29);min-height:100vh;display:grid;place-items:center;padding:25px}.auth-box{width:min(100%,460px);padding:35px 35px 29px;background:white;border-radius:22px;box-shadow:0 20px 80px #071e2bb0}.auth-box .brand{color:#143e4d}.auth-box .brand small{color:#79919b}.auth-box .brand-large .brand-symbol{width:45px;height:45px}.auth-box .brand-large b{font-size:18px}.auth-intro{margin:37px 0 25px}.auth-intro h1{font-size:34px;margin:6px 0}.auth-intro p{color:#85939b}.password-wrap{position:relative}.password-wrap input{padding-right:71px}.toggle-password{position:absolute;right:10px;top:11px;background:none;border:0;color:#167977;font-size:11px;font-weight:800;padding:4px}.auth-box .small.muted{margin-top:22px}.print-view{display:none}
@media(max-width:1150px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ingredient-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.sites-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-columns{grid-template-columns:1fr}}
@media(max-width:800px){.sidebar{position:fixed;left:0;top:0;bottom:0;transform:translateX(-100%);transition:transform .2s ease;box-shadow:15px 0 35px #071e2b32}.sidebar.open{transform:translateX(0)}.nav-toggle{display:block}.topbar{height:62px;padding:0 15px}.crumbs>span:first-child,.crumb-separator{display:none}.content{padding:23px 16px 10px}.top-actions{gap:6px}.site-chip{font-size:10px;padding:6px 8px;max-width:145px;overflow:hidden;text-overflow:ellipsis}.logout{font-size:12px;padding:8px 2px}.page-heading{margin-bottom:17px}.page-heading h1{font-size:27px}.form-panel{padding:17px}.sites-grid{grid-template-columns:1fr}.metrics{gap:10px}.metric{padding:15px;min-height:119px}.metric strong{font-size:31px}.section-bar{align-items:start}.section-bar>.btn{flex-shrink:0}.card-headline{padding:20px}.photo-panel{padding:17px}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:530px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.metric{min-height:110px;padding:13px}.metric strong{font-size:28px}.metric>span{font-size:11px}.metric small{font-size:10px}.product-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.ingredient-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.ingredient-fields .f-material_name,.ingredient-fields .f-document_ref{grid-column:span 2}.form-actions{display:grid;grid-template-columns:1fr 1fr}.form-actions .btn{min-width:0;white-space:normal}.filters input,.filters select{max-width:none;width:100%;flex:1 1 145px}.section-bar h2{font-size:17px}.site-chip{max-width:110px}.auth-box{padding:24px}.auth-body{padding:13px}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer{flex-direction:column}.upload-area{flex-direction:column;align-items:stretch}.upload-area>label{width:100%}.toolbar .btn{flex:1 1 auto}}
@page{size:A4 portrait;margin:13mm}
@media print{body{background:white !important;color:#000;font-size:10pt;print-color-adjust:exact;-webkit-print-color-adjust:exact}.sidebar,.topbar,.page-heading,.alert,.footer,.no-print,.toolbar,.content>form,.content>.panel,.content>.card-headline,.content>.photo-panel{display:none!important}.app-shell,.main-area,.content{display:block;width:100%;margin:0;padding:0;min-height:0}.print-view{display:block!important;color:#111}.print-company{display:flex;justify-content:space-between;align-items:start;border-bottom:3px solid #173c56;padding:0 0 14px;margin-bottom:18px}.print-company strong{font-size:20pt;color:#173c56}.print-company p{font-size:8pt;margin:3px 0}.print-company>span{font-size:8pt;color:#5c727e}.print-header h2{font-size:20pt;margin-bottom:5px}.print-header p{font-size:9pt;color:#657785}.print-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:17px 0}.print-meta>div{display:flex;flex-direction:column;border:1px solid #d2dcdf;padding:9px;overflow-wrap:anywhere}.print-meta small{font-size:7pt;color:#6b7e8b}.print-meta b{font-size:9pt;margin-top:5px}.print-table{width:100%;border-collapse:collapse;margin:20px 0;table-layout:fixed}.print-table th{background:#e5eeef!important;border:1px solid #b6c5ce;font-size:8pt;padding:9px 6px;color:#16394d}.print-table td{border:1px solid #b6c5ce;padding:8px 6px;font-size:9pt;overflow-wrap:anywhere}.print-table tr{break-inside:avoid}.print-note{padding:10px;border:1px solid #ccd7da}.print-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:13px 0}.print-photos img{height:110px;width:100%;object-fit:contain;border:1px solid #ccd7da}.print-signature{display:flex;justify-content:space-between;margin:25px 0;border-top:1px solid #b9c9ce;padding-top:12px}.print-bottom{color:#83949d;font-size:8pt;text-align:right;margin-top:15px}}
@media screen{.print-view{display:none!important}}

.photo-subject{display:block;font-size:11px;color:#55707c;padding:7px 9px 0}.toolbar form{display:inline-flex}@media(max-width:530px){.toolbar form{flex:1 1 auto}.toolbar form .btn{width:100%}}

.status-title{font-size:22px!important;letter-spacing:-.035em}.photo-subject{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}

@media print{.print-photos>div{break-inside:avoid}.print-photos img{height:110px}.print-photos small{display:block;color:#697b87;font-size:7pt}}
/* Versione 2 - celle intelligenti e menu ricercabili touch */
[hidden]{display:none!important}
.picker-help{display:block;font-size:11px;font-weight:450;color:#82939f;margin:1px 0 3px}
.picker-wrap{display:flex;align-items:center;position:relative;min-width:0}
.picker-wrap input{width:100%;padding-right:39px}
.picker-caret{position:absolute;right:3px;top:3px;bottom:3px;width:35px;border:0;border-radius:7px;background:#eff6f4;color:#1c6465;font-size:21px;line-height:1;z-index:1}
.picker-caret:hover,.picker-caret:focus{background:#d9ece9}
.picker-menu{position:absolute;top:calc(100% + 5px);left:0;right:0;max-height:230px;overflow-y:auto;border-radius:11px;border:1px solid #bcd3d2;background:#fff;box-shadow:0 14px 35px #122b3750;z-index:60;padding:5px;overscroll-behavior:contain}
.picker-option{display:block;width:100%;border:0;border-radius:7px;padding:10px 9px;text-align:left;background:#fff;color:#203949;font-size:13px;white-space:normal;overflow-wrap:anywhere;min-height:38px}
.picker-option:hover,.picker-option:focus{background:#eaf7f3;color:#155b56}
.picker-empty{padding:12px 10px;color:#667d86;font-size:12px;font-weight:450}
.recipe-list{display:flex;flex-direction:column;gap:10px;margin:2px 0 15px}
.recipe-fields{grid-template-columns:repeat(3,minmax(0,1fr))}
.recipe-fields .f-material_name{grid-column:span 1}
.recipe-only-ort>.cell-field,.recipe-only-ort>label{display:flex;flex-direction:column;gap:7px;font-size:10px;font-weight:700}
.recipe-only-ort{min-width:0}
.remove-recipe-line{border:0;background:transparent;color:#a25c57;font-size:11px;font-weight:700;padding:4px}
.cell-field{min-width:0}
@media(max-width:850px){.recipe-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:530px){.recipe-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-fields .f-material_name{grid-column:span 2}.picker-menu{max-height:40vh}.picker-option{padding:12px 9px;min-height:45px}.ingredient-fields .f-supplier_name{grid-column:span 2}}

/* Versione 2.1: creazione reale di nuove voci direttamente dai selettori */
.picker-create{display:block;width:100%;text-align:left;border:1px solid #9cd2c6;border-radius:8px;padding:11px 12px;margin-top:5px;background:#e8f8f3;color:#0c665a;font-weight:750;font-size:13px;overflow-wrap:anywhere;min-height:45px;cursor:pointer}
.picker-create:hover,.picker-create:focus{background:#d0f2e7;outline:2px solid #359d83;outline-offset:-2px}
.picker-create:disabled{opacity:.55;cursor:wait}
.picker-toast{position:fixed;bottom:18px;right:18px;z-index:1000;background:#123e36;color:#fff;border-radius:12px;padding:13px 17px;box-shadow:0 8px 35px #13252b45;font-size:13px;font-weight:600;max-width:min(420px,calc(100vw - 36px))}
.picker-toast-error{background:#872f37}
@media(max-width:530px){.picker-create{font-size:14px;padding:13px 12px;min-height:49px}.picker-toast{right:12px;bottom:12px;left:12px;max-width:none}}
