@import"https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap";:root{--theme-primary-l: 64%;--theme-primary-c: .21;--theme-primary-h: 46;--theme-secondary-l: 45%;--theme-secondary-c: .05;--theme-secondary-h: 40;--color-primary: oklch(var(--theme-primary-l) var(--theme-primary-c) var(--theme-primary-h));--color-primary-hover: oklch(58% .22 var(--theme-primary-h));--color-secondary: oklch(var(--theme-secondary-l) var(--theme-secondary-c) var(--theme-secondary-h));--neutral-hue: 50;--neutral-chroma: .01;--bg-page: oklch(96% .02 85);--bg-surface: oklch(100% 0 0);--bg-sidebar: oklch(100% var(--neutral-chroma) var(--neutral-hue));--bg-card: oklch(100% 0 0);--bg-menu-active: oklch(var(--theme-primary-l) var(--theme-primary-c) var(--theme-primary-h) / .1);--text-primary: oklch(25% var(--neutral-chroma) var(--neutral-hue));--text-secondary: oklch(45% var(--neutral-chroma) var(--neutral-hue));--text-muted: oklch(65% var(--neutral-chroma) var(--neutral-hue));--text-on-primary: oklch(100% 0 0);--color-success: oklch(70% .18 150);--color-warning: oklch(80% .15 80);--color-danger: oklch(65% .22 25);--color-info: oklch(70% .15 250);--spacing-xs: clamp(.5rem, 1vw, .75rem);--spacing-sm: clamp(1rem, 2vw, 1.25rem);--spacing-md: clamp(1.5rem, 3vw, 2.5rem);--spacing-lg: clamp(2.5rem, 5vw, 4rem);--glass-bg: oklch(100% 0 0 / .7);--glass-border: oklch(100% 0 0 / .3);--glass-blur: 16px;--border-color: oklch(90% var(--neutral-chroma) var(--neutral-hue));--radius-sm: 8px;--radius-md: 16px;--radius-lg: 24px;--font-heading: "Poppins", system-ui, sans-serif;--font-body: "Poppins", system-ui, sans-serif;--sidebar-width: 320px;--shadow-premium: 0 10px 30px -10px oklch(0% 0 0 / .08), 0 4px 6px -4px oklch(0% 0 0 / .03)}[data-theme=dark]{--bg-page: oklch(12% .01 var(--neutral-hue));--bg-surface: oklch(18% .01 var(--neutral-hue));--bg-sidebar: oklch(15% .01 var(--neutral-hue));--bg-card: oklch(22% .01 var(--neutral-hue));--text-primary: oklch(92% .01 var(--neutral-hue));--text-secondary: oklch(75% .01 var(--neutral-hue));--text-muted: oklch(50% .01 var(--neutral-hue));--border-color: oklch(25% .01 var(--neutral-hue));--glass-bg: oklch(18% .01 var(--neutral-hue) / .8)}.theme-cucina{--theme-primary-l: 50%;--theme-primary-c: .18;--theme-primary-h: 29;--theme-secondary-l: 35%;--theme-secondary-c: .06;--theme-secondary-h: 32;--color-primary: oklch(var(--theme-primary-l) var(--theme-primary-c) var(--theme-primary-h));--color-primary-hover: oklch(45% .19 var(--theme-primary-h));--color-secondary: oklch(var(--theme-secondary-l) var(--theme-secondary-c) var(--theme-secondary-h));--bg-menu-active: oklch(var(--theme-primary-l) var(--theme-primary-c) var(--theme-primary-h) / .1);--bg-page: oklch(98% .01 29)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body);background-color:var(--bg-page);color:var(--text-primary);height:100vh;overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;line-height:1.625}.recipe-data,.calculator-table,.ingredient-amount{font-variant-numeric:tabular-nums diagonal-fractions;font-feature-settings:"tnum" 1,"frac" 1}::selection{background-color:oklch(var(--brand-orange-l) var(--brand-orange-c) var(--brand-orange-h) / .2);color:var(--color-primary)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-full);border:1px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background-color:var(--text-muted)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-primary);line-height:1.15;margin-bottom:var(--spacing-xs);letter-spacing:-.015em;font-weight:700}h1{font-size:clamp(1.75rem,4vw + 1rem,2.75rem)}h2{font-size:clamp(1.5rem,3vw + .5rem,2rem)}h3{font-size:clamp(1.25rem,2vw + .25rem,1.5rem)}p{margin-bottom:var(--spacing-sm);max-width:75ch}a{color:var(--color-primary);text-decoration:none;transition:all .3s cubic-bezier(.16,1,.3,1);border-bottom:1px solid transparent}a:hover{color:var(--color-primary-hover);border-bottom-color:currentColor}.hidden{display:none!important}#app{display:flex;height:100vh;background-color:var(--bg-page)}.main-content{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--bg-page)}.top-bar{height:80px;padding:0 40px;display:flex;align-items:center;justify-content:space-between}.top-bar-title-wrap{display:flex;align-items:center;gap:16px}.top-bar h1{font-family:var(--font-heading);font-size:1.5rem;font-weight:700;color:var(--color-primary);margin:0}.top-bar-actions{display:flex;align-items:center;gap:12px}.top-bar-actions button{display:flex;align-items:center;gap:8px;white-space:nowrap}.segmented-control-header{background:oklch(var(--theme-primary-l) var(--theme-primary-c) var(--theme-primary-h) / .08);border-radius:12px;padding:4px}.segmented-control-header button{padding:8px 16px;font-size:.9rem;border-radius:9px}.segmented-control-header button.active{background:var(--bg-surface);color:var(--color-primary);box-shadow:0 4px 12px #0000000d}.content-view{flex:1;padding:20px 40px 40px;overflow-y:auto;max-width:1000px;margin:0 auto;width:100%}.top-bar-title-wrap{display:flex;align-items:center}body .view-hidden{display:none}.sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);max-width:var(--sidebar-width);background-color:var(--bg-surface);border-right:1px solid var(--border-color);display:flex;flex-direction:column;padding:24px 0;transition:all .3s var(--ease-out);z-index:100;overflow-y:auto;overflow-x:hidden}.brand{display:flex;align-items:center;justify-content:center;margin-bottom:40px;padding:10px 0}.logo-svg{max-width:160px;height:auto;filter:drop-shadow(0 2px 4px rgba(0,0,0,.05))}.recipe-nav{flex:1;overflow-y:auto}.nav-header{font-size:.875rem;text-transform:uppercase;color:var(--text-secondary);font-weight:700;margin-bottom:16px;letter-spacing:.05em}.sidebar-macro-group{margin-bottom:12px;opacity:1}.sidebar.is-initializing .sidebar-macro-group{opacity:0;animation:slide-in-right .6s cubic-bezier(.16,1,.3,1) forwards}.sidebar-macro-group:nth-child(1){animation-delay:.1s}.sidebar-macro-group:nth-child(2){animation-delay:.15s}.sidebar-macro-group:nth-child(3){animation-delay:.2s}.sidebar-macro-group:nth-child(4){animation-delay:.25s}@keyframes slide-in-right{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.sidebar-macro-header{font-weight:700;color:var(--text-secondary);padding:12px 16px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;border-radius:var(--radius-sm);transition:all .3s cubic-bezier(.16,1,.3,1);margin-bottom:4px}.sidebar-macro-header:hover{background-color:var(--bg-menu-active);color:var(--color-primary)}.sidebar-macro-header.active{background-color:oklch(var(--theme-primary-l) var(--theme-primary-c) var(--theme-primary-h) / .08);color:var(--color-primary)}.sidebar-macro-title{text-transform:uppercase;font-size:.8rem;font-weight:800;letter-spacing:.08em}.sidebar-sub-group{margin-bottom:8px;transition:all .3s ease}.sidebar-sub-header{font-size:1.05rem;font-weight:600;color:var(--text-secondary);padding:6px 8px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;border-radius:4px}.sidebar-sub-header:hover{color:var(--color-primary);background-color:var(--bg-menu-active)}.recipe-item{display:flex;align-items:center;padding:12px 14px;margin-bottom:6px;border-radius:var(--radius-sm);font-size:1.1rem;cursor:pointer;transition:all .4s cubic-bezier(.16,1,.3,1)}.recipe-item:hover{background-color:var(--bg-menu-active);color:var(--color-primary);transform:translate(4px)}.recipe-item.active{background-color:var(--color-primary);color:var(--text-on-primary);font-weight:600;box-shadow:0 4px 12px oklch(var(--brand-orange-l) var(--brand-orange-c) var(--brand-orange-h) / .25)}.sidebar-macro-group.collapsed .sidebar-sub-group,.sidebar-sub-group.collapsed .sidebar-sub-items{display:none}.category-icon{width:16px;height:16px;transition:transform .2s}.collapsed .category-icon{transform:rotate(-90deg)}.sidebar-footer{margin-top:auto;padding-top:20px;border-top:1px solid var(--border-color)}.sidebar-btn-production{margin-top:12px;display:flex!important;align-items:center;justify-content:center;gap:8px}.sidebar-btn-catalog,.sidebar-btn-crm{margin-bottom:8px}.sidebar-btn-logout{color:var(--color-danger)!important;margin:24px 16px 16px!important;width:auto!important;border:1px solid var(--color-danger)!important;opacity:.8}.sidebar-btn-logout svg{margin-right:6px;vertical-align:bottom}.sidebar-search-wrap{position:relative;margin-bottom:10px}.sidebar-search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text-secondary);pointer-events:none}.sidebar-search-input{width:100%;padding:8px 10px 8px 32px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-primary);font-size:.85rem;transition:border-color .2s,box-shadow .2s;outline:none;box-sizing:border-box}.sidebar-search-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px oklch(var(--theme-primary-l) var(--theme-primary-c) var(--theme-primary-h) / .12)}.sidebar-search-input::placeholder{color:var(--text-secondary);opacity:.6}.sidebar-selector-wrap{position:relative;margin-bottom:12px}.sidebar-category-select{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;font-size:.85rem;font-weight:600;color:var(--text-secondary);transition:all .2s ease}.sidebar-category-select:hover{border-color:var(--color-primary);color:var(--color-primary);background:oklch(var(--theme-primary-l) var(--theme-primary-c) var(--theme-primary-h) / .04)}.sidebar-category-dropdown{position:absolute;top:calc(100% + 4px);left:0;width:100%;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-sm);box-shadow:var(--shadow-premium);z-index:1000;display:none;max-height:200px;overflow-y:auto;animation:dropdown-fade-in .2s var(--ease-out)}.sidebar-category-dropdown.show{display:block}.dropdown-option{padding:10px 12px;font-size:.85rem;cursor:pointer;transition:all .2s ease;color:var(--text-secondary)}.dropdown-option:hover{background:var(--bg-menu-active);color:var(--color-primary)}.dropdown-option.active{background:var(--color-primary);color:#fff}@keyframes dropdown-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}:root{--color-primary-bento: #a23a00;--color-primary-bento-container: #ca4b00;--color-primary-bento-gradient: linear-gradient(135deg, var(--color-primary-bento), var(--color-primary-bento-container));--bg-surface: #fcf9f2;--bg-surface-low: #f6f3ec;--bg-surface-lowest: #ffffff;--text-primary-bento: #1c1c18;--text-secondary-bento: #5a4137;--text-on-primary-bento: #ffffff;--border-ghost: rgba(142, 113, 101, .1);--shadow-ambient: 0 12px 40px rgba(28, 28, 25, .06);--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px}.bento-mode.sidebar{background-color:var(--bg-surface-low);border-right:none;box-shadow:2px 0 24px #00000005;display:flex;flex-direction:column;padding:32px 24px;gap:32px}.bento-mode #sidebar-nav{display:flex;flex-direction:column;gap:32px;height:100%}.bento-brand{display:flex;align-items:center;font-weight:900;font-size:1.5rem;letter-spacing:-.02em;color:var(--text-primary-bento)}.bento-brand span{color:var(--color-primary-bento)}.bento-nav{display:grid;grid-template-columns:1fr 1fr;gap:12px}.bento-tile{background-color:var(--bg-surface-lowest);border-radius:var(--radius-md);padding:16px;display:flex;flex-direction:column;align-items:flex-start;gap:12px;cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1);box-shadow:0 4px 12px #1c1c1905;position:relative;overflow:hidden}.bento-tile:hover{transform:translateY(-2px);box-shadow:var(--shadow-ambient)}.bento-tile.active{background:var(--color-primary-bento-gradient);color:var(--text-on-primary-bento)}.bento-tile.active .tile-title{color:var(--text-on-primary-bento)}.bento-tile.active .tile-icon{color:var(--text-on-primary-bento);opacity:.9}.tile-icon{color:var(--color-primary-bento);width:24px;height:24px}.tile-title{font-size:.85rem;font-weight:700;color:var(--text-primary-bento);text-transform:uppercase;letter-spacing:.05em}.contextual-explorer{flex:1;display:flex;flex-direction:column;gap:16px;overflow-y:auto;padding-right:4px}.contextual-explorer::-webkit-scrollbar{width:4px}.contextual-explorer::-webkit-scrollbar-thumb{background-color:#5a413733;border-radius:4px}.explorer-header{font-size:.75rem;font-weight:800;color:var(--text-secondary-bento);text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px;display:flex;justify-content:space-between;align-items:center}.bento-search-box{background-color:var(--bg-surface-lowest);border-radius:var(--radius-md);padding:12px 16px;display:flex;align-items:center;gap:12px;box-shadow:inset 0 0 0 1px var(--border-ghost)}.bento-search-box input{border:none;background:transparent;outline:none;font-family:inherit;font-size:.9rem;color:var(--text-primary-bento);width:100%}.bento-search-box input::placeholder{color:var(--text-secondary-bento);opacity:.6}.bento-list-item{padding:12px 16px;border-radius:var(--radius-md);cursor:pointer;transition:background-color .2s;display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.bento-list-item:hover{background-color:var(--bg-surface-lowest);box-shadow:0 2px 8px #00000005}.bento-list-item.active{background-color:var(--bg-surface-lowest);box-shadow:inset 0 0 0 2px var(--color-primary-bento)}.list-item-title{font-weight:600;font-size:.95rem;color:var(--text-primary-bento)}.list-item-meta{font-size:.75rem;color:var(--text-secondary-bento);font-weight:500;text-transform:uppercase;letter-spacing:.05em}.bento-switch-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px;border-radius:8px;background:transparent;border:1px solid var(--border-color);color:var(--text-muted);font-weight:600;font-size:.8rem;cursor:pointer;transition:all .2s}.bento-switch-btn:hover{background-color:var(--background-hover);color:var(--text-dark)}.bento-badge{background-color:var(--color-primary-bento);color:#fff;font-size:.6rem;padding:2px 6px;border-radius:12px;font-weight:800}@keyframes bentoFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.content-view:not(.view-hidden){animation:bentoFadeIn .4s cubic-bezier(.16,1,.3,1) both}#recipe-dashboard-grid,#products-section{will-change:opacity,transform}button{font-family:inherit;border:none;cursor:pointer;background:none;transition:transform .4s cubic-bezier(.16,1,.3,1),background-color .4s cubic-bezier(.16,1,.3,1),box-shadow .4s cubic-bezier(.16,1,.3,1),color .4s cubic-bezier(.16,1,.3,1)}button:active{transform:scale(.96)}input,textarea,select{font-family:inherit;border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:10px 14px;background-color:var(--bg-surface);color:var(--text-primary);font-size:.95rem;transition:border-color .2s ease,box-shadow .2s ease}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 4px oklch(var(--theme-primary-l) var(--theme-primary-c) var(--theme-primary-h) / .15)}.input-with-datalist::-webkit-calendar-picker-indicator{display:block!important;opacity:1!important;cursor:pointer}.form-row{display:flex;gap:16px;margin-bottom:20px}.form-group{flex:1}.form-group label{display:block;font-size:.9rem;font-weight:500;margin-bottom:8px}.btn-primary{background:var(--color-primary);color:var(--text-on-primary);padding:12px 24px;border-radius:var(--radius-md);font-weight:600;font-size:.95rem;box-shadow:var(--shadow-md);display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-primary:hover{background:var(--color-primary-hover);box-shadow:0 10px 20px -5px oklch(var(--theme-primary-l) var(--theme-primary-c) var(--theme-primary-h) / .2);transform:translateY(-2px)}.btn-secondary{border:1px dashed var(--color-primary);background:oklch(var(--theme-primary-l) var(--theme-primary-c) var(--theme-primary-h) / .05);color:var(--color-primary);padding:12px;border-radius:var(--radius-md);font-weight:600;width:100%}.btn-secondary:hover{background:oklch(var(--theme-primary-l) var(--theme-primary-c) var(--theme-primary-h) / .1);transform:translateY(-1px)}.btn-ghost{color:var(--text-secondary);padding:10px 20px;border-radius:var(--radius-md);font-weight:500}.btn-ghost:hover{background:oklch(var(--theme-secondary-l) var(--theme-secondary-c) var(--theme-secondary-h) / .05);color:var(--color-secondary)}.btn-danger{background-color:#fef2f2;color:#dc2626;padding:8px 16px;border-radius:6px;font-weight:500}.btn-danger:hover{background-color:#fee2e2}.btn-icon-action{padding:6px;cursor:pointer;border-radius:4px}.btn-icon-action:hover{background-color:#e5e7eb}.btn-step-choice{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--spacing-sm);font-weight:600;color:var(--text-primary);text-align:center;transition:all .4s cubic-bezier(.16,1,.3,1);box-shadow:var(--shadow-sm);display:flex;align-items:center;justify-content:center;min-height:60px}.btn-step-choice:hover{border-color:var(--color-primary);background:oklch(var(--theme-primary-l) var(--theme-primary-c) var(--theme-primary-h) / .05);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-step-choice.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary);box-shadow:0 8px 20px -6px oklch(var(--theme-primary-l) var(--theme-primary-c) var(--theme-primary-h) / .4)}.modal-overlay[style*="display: flex"] .btn-step-choice{animation:card-entrance .5s cubic-bezier(.16,1,.3,1) both}.btn-step-choice:nth-child(1){animation-delay:.05s}.btn-step-choice:nth-child(2){animation-delay:.1s}.btn-step-choice:nth-child(3){animation-delay:.15s}.btn-step-choice:nth-child(4){animation-delay:.2s}@keyframes card-entrance{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.card-base{background:var(--bg-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-premium);padding:var(--spacing-md);border:1px solid var(--border-color);position:relative;overflow:hidden}.card-base:after{content:"";position:absolute;bottom:-20px;right:-20px;width:120px;height:120px;background:url("data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20id='pasta'%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20145.29%2085.62'%3e%3cdefs%3e%3cstyle%3e%20.cls-1%20{%20fill:%20%23ffd134;%20}%20.cls-2%20{%20fill:%20%23fdf8e7;%20}%20%3c/style%3e%3c/defs%3e%3cg%3e%3cpath%20class='cls-1'%20d='M70.79,3.41C36.78,3.41,8.56,31.94,3.33,69.29c-.3,2.13,2.03,4.51,5.02,5.79,0,0,3.92,1.42,6.44,1.76.39.05,4.68,1.36,10.04-1.05,1.98-.89,5.13-3.18,5.53-5.11,4.38-20.97,20.82-36.56,40.43-36.56'/%3e%3cpath%20class='cls-2'%20d='M28.02,70.3s-12.92,9.3-22.42-1.72c0,0,16.14-7.1,22.42,1.72Z'/%3e%3cpath%20class='cls-1'%20d='M70.79,34.13c19.61,0,36.05,15.59,40.43,36.56.4,1.93,3.55,4.22,5.53,5.11,5.36,2.41,9.65,1.1,10.04,1.05,2.52-.34,6.44-1.76,6.44-1.76,3-1.28,5.32-3.66,5.02-5.79C133.02,31.94,104.81,3.41,70.79,3.41'/%3e%3cpath%20class='cls-2'%20d='M135.98,68.59c-9.5,11.02-22.42,1.72-22.42,1.72,6.27-8.81,22.42-1.72,22.42-1.72Z'/%3e%3c/g%3e%3cpath%20class='cls-2'%20d='M123.02,60.14c-5.42-24.16-27.35-41.69-52.15-41.69S24.57,35.36,18.86,59.57l-2.03-.48c5.94-25.16,28.16-42.73,54.05-42.73s48.56,18.22,54.19,43.33l-2.04.46Z'/%3e%3cpath%20class='cls-2'%20d='M129.82,59.44c-5.27-28.36-30.07-48.94-58.96-48.94S17.79,30.64,12.11,58.39l-2.05-.42C15.94,29.26,41.51,8.42,70.86,8.42s55.56,21.3,61.01,50.64l-2.05.38Z'/%3e%3cpath%20class='cls-2'%20d='M114.61,60.99c-3.6-19.35-22.8-34.51-43.71-34.51s-40.42,14.88-44.3,33.88l-2.05-.42c4.08-19.93,24.44-35.55,46.35-35.55s41.98,15.91,45.76,36.22l-2.05.38Z'/%3e%3c/svg%3e") no-repeat center;background-size:contain;opacity:.03;pointer-events:none}.action-buttons{display:flex;gap:8px}.segmented-control{display:inline-flex;background:var(--border-color);padding:3px;border-radius:8px;gap:2px}.segmented-control button{padding:6px 12px;font-size:.85rem;font-weight:600;border-radius:6px;color:var(--text-secondary);transition:all .2s ease;border:none;background:none;cursor:pointer}.segmented-control button:hover{color:var(--text-primary)}.segmented-control button.active{background:var(--bg-surface);color:var(--color-primary);box-shadow:var(--shadow-sm)}.badge-area{padding:2px 10px;border-radius:99px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.badge-area-pastificio{background:#cbeafb;color:#005e7d;color:oklch(45% .12 230)}.badge-area-cucina{background:#fedbd7;color:#a83634}.badge-pill{display:inline-flex;align-items:center;padding:3px 12px;border-radius:99px;font-size:.75rem;font-weight:600;white-space:nowrap;line-height:1}.badge-outline{background:transparent;border:1.5px solid var(--border-color);color:var(--text-secondary)}.badge-soft-primary{background:oklch(var(--theme-primary-l) var(--theme-primary-c) var(--theme-primary-h) / .1);color:var(--color-primary)}.badge-soft-accent{background:oklch(var(--theme-accent-l) var(--theme-accent-c) var(--theme-accent-h) / .1);color:var(--color-accent)}.catalog-table{width:100%;border-collapse:separate;border-spacing:0 10px;margin-top:-10px}.catalog-table th{padding:12px 20px;text-align:left;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);font-weight:700;opacity:.8}.catalog-table td{background:var(--bg-surface);padding:16px 20px;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);transition:all .3s cubic-bezier(.16,1,.3,1)}.catalog-table td:first-child{border-left:1px solid var(--border-color);border-top-left-radius:12px;border-bottom-left-radius:12px}.catalog-table td:last-child{border-right:1px solid var(--border-color);border-top-right-radius:12px;border-bottom-right-radius:12px}.catalog-table tr:hover td{background:oklch(var(--theme-primary-l) var(--theme-primary-c) var(--theme-primary-h) / .02);border-color:oklch(var(--theme-primary-l) var(--theme-primary-c) var(--theme-primary-h) / .2);box-shadow:0 4px 12px #00000008}.catalog-table .text-right{text-align:right}.catalog-table .text-center{text-align:center}.product-card-premium.drag-over{border-color:var(--color-primary)!important;box-shadow:0 0 0 2px var(--color-primary-light),0 8px 24px #0000001a!important;transform:scale(1.02)}.product-card-premium[draggable=true]:active{cursor:grabbing}.overlay{position:fixed;inset:0;background:#00000080;z-index:900;opacity:0;visibility:hidden;transition:opacity .3s ease}.overlay.active{opacity:1;visibility:visible}.migration-invite-banner{position:fixed;bottom:20px;right:20px;background:#0f172a;color:#fff;padding:20px;border-radius:12px;box-shadow:0 10px 25px #0003;z-index:1000;display:flex;flex-direction:column;gap:12px;max-width:300px}.global-error-overlay{position:fixed;inset:0;background:#0f172ae6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:2000}.error-card-global{background:var(--bg-surface);padding:48px;border-radius:16px;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;max-width:440px;width:100%;text-align:center;border-top:4px solid #EF4444}.error-icon{color:#ef4444;margin-bottom:24px}.global-loader-overlay{position:fixed;inset:0;background:#ffffffb3;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:none;flex-direction:column;align-items:center;justify-content:center;z-index:9999;cursor:wait}.spinner{width:48px;height:48px;border:5px solid var(--color-accent-soft);border-top:5px solid var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.loader-text{font-weight:600;color:var(--color-primary);font-size:1.1rem}.ui-locked{pointer-events:none!important;-webkit-user-select:none!important;user-select:none!important}.modal-overlay{position:fixed;inset:0;background:hsla(var(--brand-brown-h),var(--brand-brown-s),10%,.4);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));display:flex;align-items:center;justify-content:center;z-index:1500;padding:24px;overflow-y:auto}.modal-card{background:var(--bg-card);padding:32px;border-radius:var(--radius-lg);box-shadow:var(--shadow-premium);border:1px solid var(--glass-border);max-width:500px;width:90%;max-height:calc(100vh - 48px);overflow-y:auto;animation:modal-slide-up .4s cubic-bezier(.16,1,.3,1)}@keyframes modal-slide-up{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-card h3{font-size:1.5rem;font-weight:700;color:var(--color-primary);margin-bottom:8px}.notification-container{position:fixed;top:24px;right:24px;z-index:3000;display:flex;flex-direction:column;gap:12px;pointer-events:none}.notification{background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--text-primary);padding:16px 24px;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);border-left:4px solid var(--color-primary);display:flex;align-items:center;gap:12px;font-size:.95rem;font-weight:600;pointer-events:auto;animation:slide-in .4s cubic-bezier(.16,1,.3,1)}.notification.success{border-left-color:#10b981}.notification.error{border-left-color:#ef4444}.notification.info{border-left-color:#3b82f6}@keyframes slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.notification.fade-out{animation:fade-out .3s ease-in forwards}@keyframes fade-out{to{transform:translate(100%);opacity:0}}.modal-alert-card{max-width:400px!important;text-align:center}.modal-card-icon{margin:0 auto 16px;display:block}.modal-content-p{color:var(--text-secondary);margin-bottom:24px;font-size:.95rem;line-height:1.5}.modal-actions-center{display:flex;justify-content:center}.modal-actions-confirm{display:flex;gap:12px;justify-content:center}.modal-btn-full{width:100%}.modal-btn-flex{flex:1}.calculator-card{background:var(--bg-surface);border-radius:16px;box-shadow:var(--shadow-md);padding:40px}.hero-input{margin-bottom:40px;text-align:center}.hero-input input{border:none;font-size:3rem;font-weight:700;width:200px;text-align:center;color:var(--color-primary);outline:none}.hero-input .unit{font-size:1.5rem;color:var(--text-secondary)}.ingredient-row{display:flex;align-items:center;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--border-color)}.ingredient-main{display:flex;align-items:center;gap:16px}.ing-icon{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:600}.type-flour .ing-icon{background:#e7e5e4;color:#57534e}.type-liquid .ing-icon{background:#dbeafe;color:#1d4ed8}.type-egg .ing-icon{background:#fef3c7;color:#b45309}.type-other .ing-icon{background:#f3f4f6;color:#4b5563}.text-warning{color:#f59e0b}.calculator-summary{display:flex;justify-content:space-between;margin-top:32px;padding-top:24px;border-top:2px dashed var(--border-color)}.summary-item{display:flex;flex-direction:column;align-items:center}.summary-item strong{font-size:1.25rem;color:var(--color-primary)}.summary-item.highlight strong{color:var(--color-accent)}.recipe-details-group{background:#f9fafb;border:1px solid var(--border-color);border-radius:8px;margin:8px 0;overflow:hidden}.recipe-details-group summary{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;cursor:pointer;font-weight:500;list-style:none;background:#f3f4f6;transition:background .2s}.recipe-details-group summary::-webkit-details-marker{display:none}.recipe-details-group summary:hover{background:#e5e7eb}.recipe-summary-main{display:flex;align-items:center;gap:12px}.recipe-summary-arrow{transition:transform .2s;font-size:.8rem;color:var(--text-secondary)}details[open] .recipe-summary-arrow{transform:rotate(90deg)}.recipe-sub-ingredients{padding:8px 16px 8px 48px;background:#fff;border-top:1px solid var(--border-color)}.recipe-sub-ingredients .ingredient-row{padding:12px 0;border-bottom:1px dashed var(--border-color)}.recipe-sub-ingredients .ingredient-row:last-child{border-bottom:none}.ing-sub-cost{display:block;font-size:.75rem;color:var(--text-secondary);font-weight:400}.step-item{display:flex;gap:16px;margin-bottom:16px}.step-number{width:28px;height:28px;background:var(--color-primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.85rem;font-weight:600}.results-container-spacer{margin-top:24px}.editor-card{background:var(--bg-surface);border-radius:16px;padding:32px;box-shadow:var(--shadow-sm)}.editor-section-title{font-size:.8rem;font-weight:700;color:var(--text-accent);margin-top:24px;margin-bottom:12px;text-transform:uppercase;border-bottom:1px solid var(--border-color)}.editor-row{display:grid;grid-template-columns:2fr 1.3fr 1fr .8fr 40px;gap:12px;margin-bottom:8px;align-items:center}.editor-row select:disabled{-webkit-appearance:none;-moz-appearance:none;appearance:none;opacity:.7}.select-with-input{display:flex;flex-direction:column;gap:4px}.btn-icon-small{font-size:.8rem;color:var(--text-accent);text-align:right;cursor:pointer}.autocomplete-wrapper{position:relative;width:100%}.autocomplete-wrapper input{width:100%}.autocomplete-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--shadow-md);max-height:200px;overflow-y:auto;z-index:1001;margin-top:4px}.autocomplete-item{padding:10px 12px;cursor:pointer;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;font-size:.9rem}.autocomplete-item:last-child{border-bottom:none}.autocomplete-item:hover{background-color:#f8fafc}.autocomplete-item-add{color:var(--text-accent);font-weight:500;background-color:var(--color-accent-soft)}.autocomplete-item-add:hover{background-color:#bfdbfe}.autocomplete-section-title{padding:6px 12px;font-size:.75rem;font-weight:700;text-transform:uppercase;color:var(--text-secondary);background:#f8fafc;border-bottom:1px solid var(--border-color);letter-spacing:.05em}.autocomplete-item-recipe{background-color:#f5f3ff}.autocomplete-item-recipe:hover{background-color:#ede9fe}.type-recipe .ing-icon{background:#ede9fe;color:#7c3aed;font-size:1.1rem}.ing-sub-cost{display:block;font-size:.75rem;color:#7c3aed;font-weight:500;margin-top:2px}.editor-row-recipe{background:#f5f3ff;border-radius:6px;padding:6px 8px;border-left:3px solid #7C3AED}.editor-type-selector-card{margin-bottom:20px;padding:12px 16px;background:#f0f4ff;border-radius:10px;border:1px solid var(--border-color)}.editor-type-label{font-weight:600;color:var(--color-primary);font-size:.85rem;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;display:block}.editor-type-options{display:flex;gap:16px}.editor-type-option{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:.95rem}.editor-perc-bar-footer{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;margin-top:8px;background:#f9fafb;border:1px solid var(--border-color);border-radius:8px;font-size:.9rem}.editor-perc-label{color:var(--text-secondary)}.editor-perc-value{font-size:1.1rem}.editor-section-spacer{margin-top:24px}.editor-btn-add-spaced{margin-top:8px}.editor-row.row-is-locked{background-color:rgba(var(--primary-rgb, 59, 130, 246),.03);border-left:3px solid var(--color-primary, #3B82F6);transition:background-color .3s ease,border-left .3s ease}.ing-perc-wrapper{display:flex;align-items:center;gap:4px;background:var(--bg-input, #F9FAFB);border:1px solid var(--border-color, #E5E7EB);border-radius:6px;padding:0 6px;min-width:100px;overflow:visible;transition:all .2s ease}.ing-perc-wrapper:focus-within{border-color:var(--color-primary, #3B82F6);box-shadow:0 0 0 2px rgba(var(--primary-rgb, 59, 130, 246),.1)}.edit-ing-perc{border:none!important;background:transparent!important;box-shadow:none!important;flex:1;min-width:0;text-align:right;padding:4px 2px!important}.btn-lock{background:transparent;border:none;cursor:pointer;font-size:1.1rem;padding:2px;display:flex;align-items:center;justify-content:center;transition:transform .3s cubic-bezier(.34,1.56,.64,1),opacity .2s;opacity:.6;-webkit-user-select:none;user-select:none}.btn-lock:hover{opacity:1;transform:scale(1.2)}.btn-lock.is-locked{opacity:1;filter:drop-shadow(0 0 2px rgba(var(--primary-rgb, 59, 130, 246),.4));transform:rotate(360deg)}.row-is-locked .edit-ing-perc{font-weight:600;color:var(--color-primary, #3B82F6)}.row-is-locked .ing-perc-wrapper{background:#fff}.master-hydro-container{background:#f0f9ff;border:1px solid #BAE6FD;border-radius:12px;padding:24px;margin-top:16px;margin-bottom:24px;display:flex;flex-direction:column;align-items:center;gap:8px;box-shadow:0 4px 15px #0000000d;transition:all .2s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.master-hydro-container:hover{transform:translateY(-2px);box-shadow:0 10px 25px #00000014}.master-hydro-label{font-size:.75rem;font-weight:700;text-transform:uppercase;color:#0369a1;letter-spacing:.05em}.master-hydro-input-wrapper{position:relative;display:flex;align-items:center}.master-hydro-input{font-size:2.5rem;font-weight:800;color:#0369a1;background:transparent;border:none;text-align:center;width:140px;outline:none;padding:0}.master-hydro-unit{font-size:1.5rem;font-weight:700;color:#0369a1;margin-left:2px}.master-hydro-hint{font-size:.7rem;color:#0ea5e9;font-style:italic}.catalog-card{background:var(--bg-surface);border-radius:16px;padding:32px;box-shadow:var(--shadow-sm)}.catalog-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.catalog-header h2{font-size:1.5rem;color:var(--color-primary);margin-bottom:4px}.catalog-header p{color:var(--text-secondary);font-size:.9rem}.catalog-actions{display:flex;gap:12px;align-items:center}.search-box{position:relative}.search-box input{padding-left:36px;width:250px}.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-secondary);font-size:.9rem}.catalog-tabs{display:flex;gap:24px;margin-bottom:24px;border-bottom:1px solid var(--border-color)}.tab-btn{padding:8px 16px;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;font-weight:600;color:var(--text-secondary);transition:all .2s ease}.tab-btn.active{border-bottom-color:var(--color-primary);color:var(--color-primary)}.catalog-btn-create{padding:8px 16px}.production-card{background:var(--bg-surface);border-radius:16px;padding:32px;box-shadow:var(--shadow-sm)}.production-form-container{align-items:flex-end;background:#f9fafb;padding:16px;border-radius:8px;border:1px solid var(--border-color)}.production-list-container{margin-bottom:24px;border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.production-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border-color);background:#fff}.production-item:last-child{border-bottom:none}.production-result-card{background:#fff;border:1px solid var(--border-color);border-radius:12px;padding:24px;margin-bottom:24px;transition:transform .2s ease,box-shadow .2s ease;animation:slideInUp .4s cubic-bezier(.16,1,.3,1)}.production-result-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.tree-card{background:#fff;border:1px solid var(--border-color);border-radius:12px;padding:24px;margin-bottom:24px;page-break-inside:avoid;box-shadow:0 2px 4px #00000005}.tree-level-0{font-size:1.25rem;font-weight:700;color:var(--color-primary);display:flex;justify-content:space-between;align-items:center;padding-bottom:16px;border-bottom:2px solid var(--color-primary);margin-bottom:16px}.tree-level-0 .badge-total{background:var(--color-primary);color:#fff;padding:6px 16px;border-radius:99px;font-size:1.1rem;font-weight:600}.tree-level-1{font-size:1.05rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px;margin-top:16px;margin-bottom:8px;padding-left:8px}.tree-level-1-header{display:flex;justify-content:space-between;width:100%}.tree-children{margin-left:20px;padding-left:16px;border-left:2px solid #E5E7EB;margin-bottom:16px}.tree-level-2{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;margin-bottom:4px;background:#f9fafb;border-radius:6px;font-size:.95rem;color:var(--text-secondary)}.tree-level-2:hover{background:#f3f4f6}.tree-level-2 .ing-name{font-weight:500;color:var(--text-primary)}.tree-cost-summary{display:flex;justify-content:flex-end;margin-top:20px;padding-top:16px;border-top:1px dashed var(--border-color);font-weight:600;font-size:1.1rem;color:var(--color-primary)}.prod-print-header{display:flex;justify-content:space-between;align-items:baseline}.prod-print-title{margin:0;font-size:2.2rem;color:#000}.prod-print-subtitle{font-size:1.2rem;font-weight:600}.prod-print-date{margin-top:5px;font-size:.9rem;color:#444}.prod-header-row{margin-bottom:24px;display:flex;justify-content:space-between;align-items:flex-start}.prod-header-title h2{font-size:1.5rem;color:var(--color-primary);margin-bottom:4px}.prod-header-title p{color:var(--text-secondary);font-size:.9rem}.prod-date-wrapper{display:flex;flex-direction:column;align-items:flex-end}.prod-date-label{font-size:.8rem;font-weight:600;margin-bottom:4px;color:var(--text-secondary)}.prod-btn-add-main{margin-bottom:24px}.prod-items-list-box{margin-top:24px}.prod-items-list-empty{padding:16px;text-align:center;color:var(--text-secondary)}.prod-actions-row{display:flex;justify-content:flex-end;gap:12px}.prod-print-group{display:flex;align-items:center;gap:8px}.prod-btn-print{width:auto;padding:10px 16px;border-radius:8px;display:flex;align-items:center;gap:8px}.prod-results-card-footer{margin-top:32px;border-top:2px dashed var(--border-color);padding-top:32px}.prod-results-header-box{margin-bottom:24px}.prod-results-header-box h2{font-size:1.5rem;margin-bottom:4px}.prod-results-header-box p{color:var(--text-secondary);font-size:.9rem}.settings-container{padding:24px;background:var(--bg-surface);border-radius:12px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:32px}.settings-section{border:1px solid var(--border-color);border-radius:8px;padding:16px;background:#fff}.settings-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;border-bottom:2px dashed var(--border-color);padding-bottom:12px}.settings-header h2{font-size:1.25rem;color:var(--color-primary);margin:0}.category-list{display:flex;flex-direction:column;gap:8px;max-height:250px;overflow-y:auto;padding-right:8px}.category-list-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#f9fafb;border:1px solid var(--border-color);border-radius:8px;font-weight:500;transition:all .2s ease}.category-list-item:hover{background:#f3f4f6;border-color:#d1d5db}.category-list-item .action-buttons{display:flex;gap:8px}.btn-icon-action{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;background:#fff;border:1px solid var(--border-color);cursor:pointer;color:var(--text-secondary);transition:all .2s ease}.btn-icon-action:hover{background:#f3f4f6;color:var(--color-primary)}.btn-icon-action.btn-delete:hover{color:#ef4444;border-color:#ef4444;background:#fef2f2}.settings-header-group{display:flex;gap:12px;align-items:center}.settings-filter-select{font-size:.9rem;padding:4px 8px}#crm-view .catalog-card{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000000d;border:1px solid var(--border-color);animation:fade-in .4s ease-out}#crm-view .search-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:99px;padding:2px 16px;display:flex;align-items:center;width:240px;transition:all .2s}#crm-view .search-box:focus-within{background:#fff;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}#crm-view .search-box input{background:transparent;border:none;padding:8px 0;margin-left:8px;width:100%}#crm-view .search-box input:focus{outline:none}.crm-name-cell{display:flex;flex-direction:column}.crm-name-cell strong{color:var(--color-primary);font-size:.95rem}.crm-name-cell small{font-size:.8rem;color:var(--text-secondary)}.modal-card.slide-over{position:fixed;top:0;right:0;height:100vh;width:100%;max-width:600px;border-radius:0;transform:translate(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;padding:0;background:#fff}.modal-overlay[style*="display: flex"] .modal-card.slide-over{transform:translate(0)}.modal-card.slide-over .modal-header{padding:24px 32px;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;background:#fafafa}.modal-card.slide-over form{flex:1;overflow-y:auto;padding:32px;display:flex;flex-direction:column;gap:24px}.form-section{display:flex;flex-direction:column;gap:16px;padding-bottom:24px;border-bottom:1px solid #F1F5F9}.form-section h4{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.crm-form-grid .form-group label{display:block;font-size:.85rem;font-weight:500;margin-bottom:6px;color:#334155}.crm-form-grid input,.crm-form-grid select,.crm-form-grid textarea{width:100%;padding:10px 12px;border:1px solid #E2E8F0;border-radius:8px;font-size:.93rem;transition:border-color .2s,box-shadow .2s}.crm-form-grid input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1);outline:none}.actions-cell{display:flex;justify-content:center;gap:8px}.text-xs{font-size:.75rem}.text-muted{color:var(--text-secondary)}@media(max-width:768px){.sidebar{position:fixed;left:0;top:0;bottom:0;height:100vh;z-index:1000;transform:translate(-100%);transition:transform .3s ease-in-out;box-shadow:var(--shadow-md);width:85%;max-width:300px}.sidebar.open{transform:translate(0)}.top-bar{padding:0 20px;height:64px;gap:16px}.top-bar h1{font-size:1.1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.content-view{padding:0 16px 80px}.calculator-card,.editor-card,.settings-section{padding:20px}.hero-input input{width:120px;font-size:2.5rem}.btn-menu{display:flex!important}.form-row{flex-direction:column;gap:0}}.btn-menu{display:none;background:none;border:none;cursor:pointer;color:var(--text-primary);padding:8px;border-radius:6px;margin-right:8px}.btn-menu:hover{background-color:#f3f4f6}@media print{.no-print,.btn-icon-action,.sidebar,.top-bar,.production-form-container,.global-loader-overlay,.notification-container,.overlay,#global-error,.modal-overlay,.migration-invite-banner,.print-hide-cost,#btn-prod-print,#btn-prod-calculate{display:none!important}body,#app,.main-content,.content-view{position:relative!important;height:auto!important;min-height:100%!important;overflow:visible!important;background:#fff!important;color:#000!important;margin:0!important;padding:0!important;max-width:none!important;width:100%!important}.main-content{display:block!important}.production-card{box-shadow:none!important;padding:0!important;background:transparent!important;border:none!important}#prod-results-container,#prod-results-content{display:block!important;border:none!important;padding-top:0!important;margin-top:0!important}body.print-mode-basi #prod-results-content #print-basi,body.print-mode-formati #prod-results-content #print-formati,body.print-mode-logistica #prod-results-content #print-logistica,body.print-mode-acquisti #prod-results-content #print-acquisti{display:block!important}body.print-mode-basi #prod-results-content #print-basi .print-doc-header,body.print-mode-formati #prod-results-content #print-formati .print-doc-header,body.print-mode-logistica #prod-results-content #print-logistica .print-doc-header,body.print-mode-acquisti #prod-results-content #print-acquisti .print-doc-header{display:flex!important}.print-document-layer{display:none!important}.print-doc-header{display:flex!important;justify-content:space-between;align-items:center;border-bottom:3px solid #000;margin-bottom:32px;padding-bottom:12px}.print-doc-header h2{margin:0!important;font-size:1.8rem;font-weight:800;color:#000}.print-checkbox{display:inline-block!important;width:20px;height:20px;border:2px solid #000;border-radius:4px;margin-right:12px;vertical-align:middle;background:#fff;flex-shrink:0}.production-result-card{border:1px solid #000!important;background:#fff!important;margin-bottom:24px!important;page-break-inside:avoid}.editor-section-title{border-bottom:2px solid #000!important;color:#000!important;margin-bottom:16px!important;padding-bottom:4px!important}.recipe-details-group{border:1px solid #000!important;margin-bottom:24px!important;page-break-inside:avoid}.ingredient-row{border-bottom:1px dashed #666!important;padding:8px 0!important}.ing-amount{font-weight:800!important;font-size:1.1rem!important}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.purchase-order-card{page-break-before:always!important;page-break-inside:avoid!important;border:2px solid #000!important;margin-top:0!important;padding:30px!important}.purchase-order-card:first-child{page-break-before:auto!important}.print-only-page-header{display:block!important}.print-hide-date-input{display:none!important}.print-show-date{display:block!important;visibility:visible!important}.order-supplier-select{display:none!important}.purchase-order-card table{border-collapse:collapse!important;width:100%!important;margin-top:20px}.purchase-order-card th,.purchase-order-card td{border:1px solid #000!important;padding:12px 8px!important;color:#000!important}.purchase-order-card th{background-color:#f2f2f2!important;text-transform:uppercase;font-size:.9rem}.purchase-order-card h3,.purchase-order-card .ing-amount{color:#000!important}@page{size:A4;margin:1cm}}.auth-layout{position:fixed;top:0;left:0;width:100vw;height:100vh;background:linear-gradient(135deg,#fdfbfb,#ebedee);display:flex;justify-content:center;align-items:center;z-index:9999}.auth-card{background:#ffffffd9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.4);border-radius:20px;padding:40px;width:90%;max-width:420px;box-shadow:0 10px 40px #00000014,inset 0 1px #fffc;text-align:center}.auth-header{margin-bottom:24px}.auth-header h2{font-size:1.8rem;color:var(--color-primary);margin:0 0 8px;font-weight:700}.auth-header p{color:var(--text-secondary);font-size:.95rem;margin:0}.auth-form{text-align:left}.auth-form .form-group{margin-bottom:20px}.auth-form label{display:block;font-weight:600;font-size:.85rem;color:var(--text-secondary);margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.auth-form input{width:100%;padding:12px 14px;border:2px solid var(--border-color);border-radius:10px;font-size:1rem;background:#fff;transition:all .2s ease}.auth-form input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 4px #4361ee1a}.auth-error-message{background:#fef2f2;border:1px solid #FCA5A5;color:#dc2626;padding:12px;border-radius:8px;font-size:.9rem;margin-top:16px;display:none}.purchases-container{display:flex;flex-direction:column;gap:20px;padding-bottom:40px}.purchases-header-row{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.purchases-toolbar{margin-bottom:24px;padding:20px;background:linear-gradient(135deg,#fafafa,#f5f3f0);border:1px solid var(--border-color);border-radius:12px}.purchases-toolbar-info{margin-bottom:14px}.purchases-toolbar-info h3{margin:0;font-size:1.05rem;font-weight:700;color:var(--text-main);letter-spacing:-.02em}.purchases-toolbar-info p{margin:4px 0 0;font-size:.82rem;color:var(--text-muted)}.purchases-toolbar-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.purchases-btn{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 14px;font-size:.85rem;font-weight:600;font-family:inherit;border-radius:8px;border:none;cursor:pointer;transition:all .2s ease;white-space:nowrap}.purchases-btn--add{background:var(--color-primary);color:#fff}.purchases-btn--add:hover{background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #e67e224d}.purchases-btn--generate{background:#16a34a;color:#fff}.purchases-btn--generate:hover{background:#15803d;transform:translateY(-1px);box-shadow:0 4px 12px #16a34a4d}.purchases-btn--clear{background:transparent;color:var(--text-muted);border:1px solid #e2e8f0}.purchases-btn--clear:hover{color:#ef4444;border-color:#ef4444;background:#fef2f2}.shopping-list-grid{display:grid;grid-template-columns:1fr;gap:16px;margin-top:16px}@media(min-width:1024px){.shopping-list-grid{grid-template-columns:repeat(auto-fill,minmax(450px,1fr))}}.supplier-order-card{background:var(--bg-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-premium);border:1px solid var(--border-color);overflow:hidden;display:flex;flex-direction:column;transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s cubic-bezier(.16,1,.3,1);margin-bottom:24px}.supplier-order-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px -15px #0000001a}.supplier-card-header{background:oklch(98% .01 var(--neutral-hue));padding:20px 24px;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.supplier-card-title{font-weight:800;font-size:1.1rem;color:var(--text-primary);display:flex;align-items:center;gap:10px;letter-spacing:-.02em}.supplier-card-title svg{color:var(--color-primary)}.supplier-items-table{width:100%;border-collapse:collapse}.supplier-items-table th{text-align:left;padding:10px 16px;font-size:.75rem;text-transform:uppercase;color:var(--text-muted);background:#fcfcfc;border-bottom:1px solid var(--border-color)}.supplier-items-table td{padding:12px 16px;border-bottom:1px solid #f1f5f9;font-size:.9rem}.supplier-items-table tr:last-child td{border-bottom:none}.input-qty-purchases{width:70px;padding:6px 8px;border:1px solid var(--border-color);border-radius:6px;text-align:right;font-family:inherit}.select-supplier-purchases{width:100%;padding:6px 8px;border:1px solid var(--border-color);border-radius:6px;font-size:.85rem}.btn-evadi-purchases{background:var(--color-primary);color:#fff;padding:10px 20px;border-radius:8px;font-weight:600;display:flex;align-items:center;gap:8px}.btn-remove-item-purchases{color:#ef4444;background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .2s}.btn-remove-item-purchases:hover{background:#fee2e2}.purchases-empty-state{text-align:center;padding:60px 20px;background:#fdfdfd;border:2px dashed #e2e8f0;border-radius:16px;color:var(--text-muted)}@media print{body.print-mode-purchases *{visibility:hidden}body.print-mode-purchases #purchases-print-zone,body.print-mode-purchases #purchases-print-zone *{visibility:visible}body.print-mode-purchases #purchases-print-zone{display:block!important;position:relative!important;width:100%!important;margin:0!important;padding:0!important}body.print-mode-purchases .shopping-list-grid{display:block}body.print-mode-purchases .supplier-order-card{border:none;box-shadow:none;border-radius:0;margin-bottom:50px;page-break-after:always}body.print-mode-purchases .supplier-order-card:last-child{page-break-after:auto}body.print-mode-purchases .print-hide{display:none!important}body.print-mode-purchases .print-only-page-header{display:block!important}body.print-mode-purchases .print-only{display:inline-block!important}body.print-mode-purchases .supplier-card-header{background:transparent!important;border-bottom:1px solid #000!important;padding:0 0 10px!important;margin-bottom:15px!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}body.print-mode-purchases .supplier-items-table th{background:transparent!important;color:#000!important;border-bottom:2px solid #000!important;font-weight:700}body.print-mode-purchases .supplier-items-table td{border-bottom:1px solid #ccc!important;color:#000!important}}.inventory-dashboard{padding:24px;max-width:1200px;margin:0 auto}.inventory-header-section{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px;gap:24px}.inventory-title-group h2{font-size:1.75rem;font-weight:800;letter-spacing:-.025em;margin-bottom:4px;color:var(--text-primary)}.inventory-title-group p{color:var(--text-secondary);font-size:.95rem}.inventory-stats-grid{display:grid;grid-template-columns:repeat(3,160px);gap:16px}.inv-stat-card{background:var(--bg-secondary);padding:16px;border-radius:12px;display:flex;flex-direction:column;gap:4px;border:1px solid var(--border-color);transition:transform .2s ease,box-shadow .2s ease}.inv-stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.inv-stat-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.inv-stat-card strong{font-size:1.5rem;font-weight:800;color:var(--text-primary)}.inv-stat-card.warning{border-left:4px solid var(--warning-color)}.inv-stat-card.warning strong{color:var(--warning-color)}.inv-stat-card.info{border-left:4px solid var(--accent-color)}.inv-stat-card.info strong{color:var(--accent-color)}.inventory-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:16px}.inventory-toolbar .search-box{position:relative;flex:1;max-width:400px}.inventory-toolbar .search-box input{width:100%;padding:10px 16px 10px 40px;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-primary);font-size:.9rem}.inventory-toolbar .search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);opacity:.5}.inventory-table{width:100%;border-collapse:separate;border-spacing:0}.inventory-table th{background:var(--bg-secondary);padding:12px 16px;text-align:left;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);border-bottom:2px solid var(--border-color)}.inventory-table td{padding:14px 16px;border-bottom:1px solid var(--border-color);vertical-align:middle}.inventory-table tr:hover{background:rgba(var(--accent-rgb),.02)}.inventory-table tr.row-warning{background:#f59e0b0d}.inventory-table tr.row-warning td{color:#92400e}.badge-type{font-size:.7rem;font-weight:700;padding:4px 8px;border-radius:4px;text-transform:uppercase}.text-green{color:#16a34a}.text-red{color:#dc2626}.text-blue{color:#2563eb}.input-wrapper{position:relative;display:flex;align-items:center}.input-wrapper input{width:100%;padding:10px 45px 10px 12px;border-radius:6px;border:1px solid var(--border-color);font-family:var(--font-mono);font-weight:600}.input-wrapper .unit{position:absolute;right:12px;font-size:.85rem;color:var(--text-secondary);font-weight:600}.adj-delta-box{animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:768px){.inventory-header-section{flex-direction:column}.inventory-stats-grid{grid-template-columns:1fr;width:100%}.inventory-toolbar{flex-direction:column;align-items:stretch}}
