@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#172c2a;--muted:#778883;--green:#153e37;--deep:#102c29;--lime:#d5eab7;--paper:#f6f7f3;--line:#e5ebe6;--orange:#dfad78;--shadow:0 12px 36px rgba(18,44,39,.045)}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}.shell{display:flex;min-height:100vh}.sidebar{background:#102d29;color:#f3f7f3;width:258px;flex-shrink:0;min-height:100vh;padding:30px 17px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.identity{display:flex;gap:12px;align-items:center;padding:0 11px 36px}.symbol{height:45px;width:45px;background:#25483e;border:1px solid #45665c;border-radius:13px;display:grid;place-items:center;color:#fff}.symbol svg{width:34px}.identity strong{font-family:Manrope,sans-serif;font-size:20px;letter-spacing:-1px;display:block}.identity-dot{color:var(--orange)}.identity small{display:block;color:#afc2b8;font-size:9px;letter-spacing:2px;font-weight:800;margin-top:3px}.workspace-label{border-top:1px solid #36514b;padding:22px 13px 14px;letter-spacing:1.7px;font-size:10px;color:#9ab3a9;font-weight:800;display:flex;justify-content:space-between;align-items:center}.workspace-circle,.avatar{width:28px;height:28px;display:inline-grid;place-items:center;background:#355c50;color:white;border-radius:9px;letter-spacing:0;font-size:10px}.navigation{display:flex;flex-direction:column;gap:5px}.nav-heading{color:#78968c;letter-spacing:2px;font-size:10px;font-weight:800;padding:22px 15px 8px}.nav{width:100%;border:0;background:transparent;color:#b8cbc3;text-align:left;padding:12px 13px;border-radius:10px;font-weight:700;display:flex;align-items:center;gap:13px;transition:.15s}.nav span{font-size:17px;width:23px;text-align:center}.nav:hover{background:#24453e;color:white}.nav.active{background:#d8eabd;color:#183a32}.sidebar-foot{margin-top:auto}.sidebar-help{border:1px solid #416058;background:#1c4038;border-radius:14px;padding:17px;margin-bottom:20px}.sidebar-help span{color:var(--orange);font-size:24px}.sidebar-help strong{display:block;font-size:12px;margin:7px 0}.sidebar-help p{color:#a8c0b5;font-size:11px;line-height:1.6;margin:0}.sidebar-foot>small{font-size:10px;color:#79988c}.appbody{min-width:0;flex:1}.topbar{height:73px;border-bottom:1px solid #e7ece7;background:#fff;display:flex;justify-content:space-between;align-items:center;padding:0 48px}.crumb{font-size:11px;font-weight:800;letter-spacing:1.3px;color:#9ca9a3}.crumb span{margin:0 9px;color:#c7cfca}.crumb b{color:#334e46}.top-right{display:flex;align-items:center;gap:10px;color:#647a70;font-size:12px;font-weight:600}.live-dot{height:7px;width:7px;background:#66b998;border-radius:50%}.avatar{margin-left:19px;width:34px;height:34px;border-radius:50%;background:#e7eee3;color:#275344}#mobile-menu{display:none;background:transparent;border:0;font-size:24px}main{max-width:1540px;margin:auto;padding:44px 48px 20px}.pagehead{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:35px}.eyebrow{color:#a17b50;letter-spacing:2px;font-size:10px;font-weight:800;margin-bottom:13px}h1,h2,h3{font-family:Manrope,sans-serif;letter-spacing:-.9px}h1{font-size:clamp(28px,3vw,38px);line-height:1.2;margin:0;font-weight:800}h2{font-size:19px;margin:0 0 15px}h3{font-size:16px;margin:0}.greeting-spark{color:#d3a46e}.pagehead p{color:var(--muted);margin:11px 0 0;font-size:14px}.primary-action,.btn{border:0;border-radius:10px;background:#204e42;color:#fff;padding:12px 19px;font-weight:800;white-space:nowrap;transition:.15s}.primary-action:hover,.btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.btn.light,.btn.ghost{background:#e9f0e9;color:#285747}.btn.danger{background:#fff0ed;color:#a54e41}.btn.tiny{padding:7px 11px;font-size:12px}.dashboard-hero{display:grid;grid-template-columns:1.5fr 1fr;background:#163e35;border-radius:21px;overflow:hidden;color:white;min-height:250px;margin-bottom:24px;position:relative}.hero-copy{padding:35px 38px;position:relative;z-index:2}.hero-copy .eyebrow{color:#d6b587}.hero-copy h2{font-size:clamp(24px,2.8vw,33px);line-height:1.22;max-width:460px;margin:10px 0}.hero-copy p{color:#bcd0c6;max-width:450px;line-height:1.65;margin:0 0 23px}.hero-copy button{background:#d8e9bb;color:#183a2f}.hero-graphic{position:relative;min-height:240px;overflow:hidden;background:radial-gradient(circle at 50% 40%,#3e705d 0%,#214c40 54%,#163e35 75%)}.plate{position:absolute;width:260px;height:260px;border:32px solid #e3e8d8;border-radius:50%;top:20px;left:50%;transform:translateX(-50%);box-shadow:0 0 0 18px #ffffff16,0 12px 45px #091e1988;background:#f6f2e7}.plate:before{content:'✳';position:absolute;color:#c59d68;font-size:110px;left:50%;top:50%;transform:translate(-50%,-50%)}.plate:after{content:'SÌ CHEF';position:absolute;bottom:16px;left:50%;transform:translateX(-50%);font-size:10px;letter-spacing:3px;color:#536b5b;font-weight:800;white-space:nowrap}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:30px}.metric-card,.card,.panel{background:white;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.metric-card{padding:23px 22px;min-height:138px}.metric-icon{width:34px;height:34px;border-radius:10px;background:#eaf3e6;display:grid;place-items:center;color:#2e6852;margin-bottom:15px;font-size:18px}.metric-label{font-size:12px;color:#82918a;font-weight:700}.metric{font-size:28px;letter-spacing:-1.3px;font-weight:800;font-family:Manrope,sans-serif;margin:5px 0}.metric-hint{color:#9aa7a0;font-size:11px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.grid .card{padding:25px}.feature{background:#1d5044;border-radius:16px;padding:28px 32px;display:flex;justify-content:space-between;align-items:center;color:white;margin:25px 0}.feature h2{font-size:24px;margin:10px 0}.feature p{color:#c5d6ce}.feature .eyebrow{color:#edc491}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:26px 0 16px}.toolbar h2{margin:0}.card,.panel{padding:25px}.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.sub,.empty{color:var(--muted);line-height:1.6}.empty{text-align:center;padding:36px!important}.tablewrap{background:white;border:1px solid var(--line);border-radius:15px;overflow-x:auto;box-shadow:var(--shadow)}table{width:100%;border-collapse:collapse;text-align:left}th{font-size:10px;text-transform:uppercase;letter-spacing:1.15px;color:#84958c;background:#f9fbf8;font-weight:800;padding:17px 19px;white-space:nowrap}td{padding:17px 19px;border-top:1px solid #eef1ed;font-size:13px;vertical-align:middle}td strong{font-weight:800}td a{color:#2b6654}.highlight{font-weight:800;color:#245e4c}.pill{display:inline-block;padding:6px 10px;background:#eff4ed;color:#49715d;border-radius:7px;font-size:11px;font-weight:800}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;align-items:end}.field{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:800;color:#536960}.field input,.field select,.field textarea,input,select{border:1px solid #dce6df;border-radius:9px;padding:12px 13px;background:#fff;color:#1c3930;max-width:100%;outline:0}.field input:focus,.field select:focus,input:focus,select:focus{border-color:#5b927b;box-shadow:0 0 0 3px #cfe6d74a}.stack{display:flex;flex-direction:column;gap:18px}.section-row{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:24px 0 15px}.section-row p{color:#8b9b92;margin:4px 0 0}.recipe-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.recipe-card{background:white;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--shadow)}.recipe-art{height:115px;background:radial-gradient(circle at 72% 40%,#d7e7d0 0 17%,transparent 18%),radial-gradient(circle at 75% 40%,#f6f2df 0 29%,transparent 30%),linear-gradient(135deg,#a5bca6,#e8eee1);display:flex;align-items:end;padding:12px}.recipe-card:nth-child(3n+2) .recipe-art{background:radial-gradient(circle at 72% 40%,#e4b77b 0 17%,transparent 18%),radial-gradient(circle at 75% 40%,#fff0d9 0 29%,transparent 30%),linear-gradient(135deg,#c5a98b,#f0e8db)}.recipe-card:nth-child(3n+3) .recipe-art{background:radial-gradient(circle at 72% 40%,#b9d3ae 0 17%,transparent 18%),radial-gradient(circle at 75% 40%,#e8e7d7 0 29%,transparent 30%),linear-gradient(135deg,#9cbaa7,#e6eee7)}.recipe-art span{background:#fffef3;padding:5px 9px;border-radius:7px;font-size:10px;font-weight:800}.recipe-content{padding:17px}.recipe-content h3{margin:0 0 8px}.recipe-content p{font-size:12px;color:#8a9b91}.recipe-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #edf1ed;margin-top:15px;padding-top:13px}.recipe-footer b{font-size:17px}.empty-state{background:white;border:1px dashed #d5e1d7;border-radius:17px;padding:55px 20px;text-align:center}.empty-state .big{font-size:38px}.empty-state p{color:#84958b}.catalog-banner{background:#f1f5ed;border:1px solid #dce9d8;border-radius:12px;padding:14px 18px;color:#54715e;line-height:1.6;margin:12px 0 20px}.searchline{display:flex;gap:10px;margin:17px 0}.searchline input{flex:1}.stat-chip{display:inline-flex;align-items:center;gap:7px;background:#e9f3e7;color:#3d7356;border-radius:8px;padding:8px 12px;font-size:11px;font-weight:800}.mini-list{display:grid;gap:9px}.mini-list>div{display:flex;justify-content:space-between;border-bottom:1px solid #edf1ed;padding:11px 0}.action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:16px 0 27px}.action-tile{border:1px solid #e4eae3;border-radius:14px;padding:20px;text-align:left;background:white;display:flex;align-items:center;gap:13px;font-weight:800;color:#2a5043}.action-tile span{font-size:25px;background:#edf5e9;padding:12px;border-radius:12px}.action-tile:hover{border-color:#91b29d}.compare-intro{background:#f0f4ed;border:1px solid #dce8d8;border-radius:13px;padding:20px;line-height:1.7}.compare-intro h2{margin-bottom:7px}.muted{color:var(--muted)}.footer{color:#9aaba1;font-size:11px;margin:35px 0 12px}.footer span{margin:0 8px}#toast{display:none;position:fixed;bottom:25px;right:25px;background:#173e33;color:white;padding:16px 23px;border-radius:11px;z-index:30;box-shadow:0 12px 32px #0002}@media(max-width:1150px){.metrics{grid-template-columns:repeat(2,1fr)}.recipe-cards{grid-template-columns:repeat(2,1fr)}main{padding:35px 28px}.topbar{padding:0 28px}}@media(max-width:750px){.sidebar{position:fixed;z-index:20;transform:translateX(-100%);transition:.2s}.sidebar.open{transform:translateX(0)}#mobile-menu{display:block}.topbar{height:60px;padding:0 18px}.top-right{font-size:0}.avatar{margin-left:3px}main{padding:26px 16px}.pagehead{align-items:flex-start;flex-direction:column;margin-bottom:22px}.dashboard-hero{grid-template-columns:1fr}.hero-graphic{display:none}.hero-copy{padding:28px}.metrics{grid-template-columns:repeat(2,1fr);gap:10px}.metric-card{padding:15px}.metric{font-size:23px}.recipe-cards,.action-grid,.two,.formgrid,.grid{grid-template-columns:1fr}.feature{flex-direction:column;align-items:flex-start;gap:10px}.card,.panel{padding:18px}.toolbar{flex-wrap:wrap}td,th{padding:13px}.searchline{flex-wrap:wrap}.searchline input{min-width:100%}}

textarea{width:100%;min-height:110px;padding:13px;border:1px solid #d8e2da;border-radius:10px;font:inherit;background:#fff;color:#19342e;resize:vertical} .tablewrap td{vertical-align:middle} @media print{.sidebar,.topbar,.pagehead,.toolbar,.footer,.btn,#toast{display:none!important}.appbody,main{margin:0!important;padding:0!important;width:100%!important}.card{border:0!important;box-shadow:none!important}}

.calendar-list{display:grid;gap:12px}.calendar-entry{display:grid;grid-template-columns:150px 1fr 120px 80px;gap:16px;align-items:center;text-align:left;background:#fff;border:1px solid #dfe8df;border-radius:14px;padding:18px;color:#17372d;cursor:pointer;font:inherit}.calendar-entry:hover{border-color:#8ea58e}.calendar-date{font-weight:700;color:#1f6451}.quote-print{max-width:900px;margin:auto;background:white;padding:42px;border-radius:18px;border:1px solid #e3e9e3}.quote-top{display:flex;justify-content:space-between;gap:30px;border-bottom:2px solid #244e41;padding-bottom:30px}.quote-top h2{font-size:36px}.quote-intro{padding:28px 0}.quote-total{display:flex;justify-content:space-between;align-items:center;margin-top:24px;padding:24px;background:#eff6ed;border-radius:12px}.quote-total strong{font-size:22px}.chart-list{display:grid;gap:18px;margin-top:24px}.chart-row{display:grid;grid-template-columns:170px 1fr 100px;align-items:center;gap:16px}.chart-track{height:14px;background:#edf3ec;border-radius:12px;overflow:hidden}.chart-track div{height:100%;background:#316b55;border-radius:12px}@media(max-width:720px){.calendar-entry{grid-template-columns:1fr 1fr}.chart-row{grid-template-columns:1fr}.quote-print{padding:20px}}@media print{body{background:#fff!important}.sidebar,.topbar,.pagehead,.footer,.no-print,#toast{display:none!important}.appbody,main{margin:0!important;padding:0!important;width:100%!important}.quote-print{max-width:none;border:0!important;padding:0!important}.shell{display:block!important}}

/* Mercadona product detail inside recipe editor */
.market-detail-overlay{position:fixed;inset:0;background:rgba(15,31,26,.65);z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;overflow:auto}.market-detail-panel{background:#fff;color:#19352c;border-radius:20px;padding:28px;max-width:650px;width:100%;max-height:92vh;overflow:auto;box-shadow:0 24px 70px #0004}.market-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.market-detail-head h2{margin:12px 0 5px}.market-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:22px 0}.market-detail-grid>div{border:1px solid #e1e8e2;border-radius:14px;padding:16px}.market-detail-grid .metric{font-size:24px}.market-detail-total{padding:12px 14px;background:#eef5ed;border-radius:12px;display:flex;justify-content:space-between;gap:10px}.market-detail-panel .mini-list{margin:14px 0}.market-detail-panel .stack{margin-top:18px}@media(max-width:600px){.market-detail-panel{padding:18px}.market-detail-grid{grid-template-columns:1fr}}

/* Ricette: aggiunta rapida dal catalogo */
.market-quick-qty{display:flex;align-items:center;gap:6px;min-width:100px}.market-quick-qty input{width:82px;min-width:65px;padding:9px 7px;border:1px solid #cbd9d0;border-radius:8px}.market-quick-actions{display:flex;gap:7px;flex-wrap:wrap}.market-quick-actions .btn{white-space:nowrap}
