:root{--blue-50:#fff0f2;--blue-100:#ffe1e6;--blue-200:#ffc4cc;--blue-300:#ffa0ae;--blue-400:#ff6b82;--blue-500:#ff2e4d;--blue-600:#f00b30;--blue-700:#c90523;--blue-800:#a70721;--blue-900:#8c0d21;--violet-400:#ff4d4d;--violet-500:red;--violet-600:#c00;--success:#22c55e;--warning:#f59e0b;--danger:#ef4444;--info:var(--blue-400);--bg-deep:#0a0101;--bg-body:#140404;--surface-glass:#ffffff0a;--surface-glass-hover:#ffffff12;--border-glass:#ffffff14;--border-glass-strong:#ffffff24;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#64748b;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--shadow-glow:0 0 60px #ff2e4d26;--shadow-card:0 4px 24px #0000004d, 0 1px 4px #0003;--ease-out:cubic-bezier(.16, 1, .3, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{background:var(--bg-body);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.6;overflow-x:hidden}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.bg-orbs{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.orb{filter:blur(80px);opacity:.35;border-radius:50%;animation:20s ease-in-out infinite orbFloat;position:absolute}.orb-1{background:radial-gradient(circle, var(--blue-600), transparent 70%);width:500px;height:500px;animation-delay:0s;top:-10%;left:-5%}.orb-2{background:radial-gradient(circle, var(--violet-600), transparent 70%);width:400px;height:400px;animation-duration:25s;animation-delay:-5s;top:40%;right:-8%}.orb-3{background:radial-gradient(circle, var(--blue-500), transparent 70%);width:350px;height:350px;animation-duration:22s;animation-delay:-10s;bottom:-5%;left:30%}.orb-4{background:radial-gradient(circle, var(--violet-500), transparent 70%);opacity:.2;width:280px;height:280px;animation-duration:28s;animation-delay:-15s;top:20%;left:50%}@keyframes orbFloat{0%,to{transform:translate(0)scale(1)}25%{transform:translate(40px,-30px)scale(1.05)}50%{transform:translate(-20px,40px)scale(.95)}75%{transform:translate(30px,20px)scale(1.02)}}.app-container{z-index:1;max-width:1100px;margin:0 auto;padding:2rem 1.5rem 4rem;position:relative}.app-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.logo-section{align-items:center;gap:.875rem;display:flex}.logo-icon{border-radius:var(--radius-md);background:linear-gradient(135deg, var(--blue-500), var(--violet-500));justify-content:center;align-items:center;width:44px;height:44px;display:flex;box-shadow:0 0 24px #ff2e4d4d}.logo-icon svg{width:26px;height:26px}.app-title{background:linear-gradient(135deg, var(--blue-300), var(--violet-400));-webkit-text-fill-color:transparent;letter-spacing:-.02em;-webkit-background-clip:text;background-clip:text;font-size:1.5rem;font-weight:800;line-height:1.2}.app-subtitle{color:var(--text-muted);letter-spacing:.03em;font-size:.8rem;font-weight:400}.header-stats{flex-wrap:wrap;gap:1rem;display:flex}.stat-chip{border-radius:var(--radius-md);background:var(--surface-glass);border:1px solid var(--border-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--text-secondary);align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.8rem;display:flex}.stat-chip .stat-value{color:var(--blue-300);font-size:.9rem;font-weight:700}.tab-nav{background:var(--surface-glass);border:1px solid var(--border-glass);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);-webkit-overflow-scrolling:touch;gap:.5rem;margin-bottom:1.75rem;padding:.375rem;display:flex;overflow-x:auto}.tab-nav::-webkit-scrollbar{display:none}.tab-btn{border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;transition:all .3s var(--ease-out);background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-family:inherit;font-size:.875rem;font-weight:500;display:flex}.tab-btn:hover{color:var(--text-secondary);background:#ffffff08}.tab-btn.active{color:var(--blue-300);background:linear-gradient(135deg,#ff2e4d33,#ff000026);border:1px solid #ff2e4d33;box-shadow:0 2px 12px #ff2e4d26}.tab-btn svg{flex-shrink:0}.tab-panel{animation:fadeSlideIn .35s var(--ease-out);display:none}.tab-panel.active{display:block}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.glass-card{background:var(--surface-glass);border:1px solid var(--border-glass);border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(20px);box-shadow:var(--shadow-card);margin-bottom:1.5rem;padding:1.75rem;transition:border-color .3s}.glass-card:hover{border-color:var(--border-glass-strong)}.card-title{color:var(--text-primary);align-items:center;gap:.625rem;margin-bottom:1.25rem;font-size:1.05rem;font-weight:600;display:flex}.card-title svg{color:var(--blue-400);flex-shrink:0}.form-grid{grid-template-columns:1fr 1fr 1fr auto;align-items:end;gap:1rem;display:grid}.form-group{flex-direction:column;gap:.375rem;display:flex}.form-group label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;font-size:.75rem;font-weight:500}.form-group input,.form-group select{border-radius:var(--radius-sm);border:1px solid var(--border-glass-strong);color:var(--text-primary);background:#00000040;outline:none;padding:.7rem .9rem;font-family:inherit;font-size:.875rem;transition:all .25s}.form-group input::placeholder{color:var(--text-muted)}.form-group input:focus,.form-group select:focus{border-color:var(--blue-500);box-shadow:0 0 0 3px #ff2e4d26}.form-group select option{color:var(--text-primary);background:#1a2340}.btn{border-radius:var(--radius-sm);cursor:pointer;transition:all .25s var(--ease-out);white-space:nowrap;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.7rem 1.25rem;font-family:inherit;font-size:.85rem;font-weight:600;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--blue-500), var(--blue-600));color:#fff;box-shadow:0 2px 12px #ff2e4d4d}.btn-primary:hover{background:linear-gradient(135deg, var(--blue-400), var(--blue-500));transform:translateY(-1px);box-shadow:0 4px 20px #ff2e4d66}.btn-primary:active{transform:translateY(0)}.btn-success{color:#fff;background:linear-gradient(135deg,#16a34a,#15803d);box-shadow:0 2px 12px #16a34a4d}.btn-success:hover{background:linear-gradient(135deg,#22c55e,#16a34a);transform:translateY(-1px);box-shadow:0 4px 20px #16a34a66}.btn-danger{background:linear-gradient(135deg, var(--danger), #dc2626);color:#fff;box-shadow:0 2px 8px #ef444440}.btn-danger:hover{transform:translateY(-1px);box-shadow:0 4px 16px #ef444459}.btn-outline{color:var(--blue-400);background:0 0;border:1px solid #ff2e4d4d}.btn-outline:hover{border-color:var(--blue-400);background:#ff2e4d1a}.btn-ghost{color:var(--text-muted);border-radius:var(--radius-sm);background:0 0;padding:.5rem}.btn-ghost:hover{color:var(--text-secondary);background:#ffffff0f}.btn-ghost.danger:hover{color:var(--danger);background:#ef44441a}.btn-sm{padding:.5rem .875rem;font-size:.8rem}.btn-xs{padding:.35rem .65rem;font-size:.75rem}.search-bar{border-radius:var(--radius-md);background:var(--surface-glass);border:1px solid var(--border-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);align-items:center;gap:.625rem;margin-bottom:1.25rem;padding:.65rem 1rem;transition:border-color .25s;display:flex}.search-bar:focus-within{border-color:var(--blue-500)}.search-bar svg{color:var(--text-muted);flex-shrink:0}.search-bar input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:.875rem}.search-bar input::placeholder{color:var(--text-muted)}.table-card{overflow:hidden}.table-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.table-header .card-title{margin-bottom:0}.badge{color:var(--blue-300);background:#ff2e4d26;border:1px solid #ff2e4d33;border-radius:999px;padding:.25rem .75rem;font-size:.7rem;font-weight:600}.table-responsive{overflow-x:auto}table{border-collapse:collapse;width:100%}thead th{text-align:left;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);border-bottom:1px solid var(--border-glass-strong);padding:.75rem 1rem;font-size:.7rem;font-weight:600}tbody td{border-bottom:1px solid var(--border-glass);vertical-align:middle;padding:.8rem 1rem;font-size:.875rem}tbody tr{transition:background .2s}tbody tr:hover{background:#ffffff05}tbody tr:last-child td{border-bottom:none}.item-name{color:var(--text-primary);font-weight:600}.item-qty{font-variant-numeric:tabular-nums;font-weight:600}.status{border-radius:999px;align-items:center;gap:.375rem;padding:.2rem .6rem;font-size:.7rem;font-weight:600;display:inline-flex}.status-good{color:#4ade80;background:#22c55e1f;border:1px solid #22c55e33}.status-low{color:#fbbf24;background:#f59e0b1f;border:1px solid #f59e0b33}.status-out{color:#f87171;background:#ef44441f;border:1px solid #ef444433}.status-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.action-buttons{gap:.35rem;display:flex}.empty-state{text-align:center;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;padding:3rem 1rem;display:flex}.empty-state svg{opacity:.3;margin-bottom:1rem}.empty-state p{color:var(--text-secondary);margin-bottom:.25rem;font-size:.95rem;font-weight:600}.empty-state span{font-size:.8rem}.ingredients-builder{margin-top:.5rem}.ingredients-builder>label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.625rem;font-size:.75rem;font-weight:500;display:block}.ingredients-list{flex-direction:column;gap:.625rem;margin-bottom:.75rem;display:flex}.ingredient-row{border-radius:var(--radius-sm);border:1px solid var(--border-glass);animation:fadeSlideIn .2s var(--ease-out);background:#00000026;grid-template-columns:1fr .5fr .6fr auto;align-items:center;gap:.625rem;padding:.625rem .875rem;display:grid}.ingredient-row input,.ingredient-row select{border:1px solid var(--border-glass-strong);color:var(--text-primary);background:#0000004d;border-radius:6px;outline:none;padding:.5rem .65rem;font-family:inherit;font-size:.8rem;transition:border-color .2s}.ingredient-row input:focus,.ingredient-row select:focus{border-color:var(--blue-500)}.ingredient-row input::placeholder{color:var(--text-muted)}.ingredient-row select option{background:#1a2340}.custom-dropdown{border:1px solid var(--border-glass-strong);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:50;background:#0f172af2;border-radius:6px;max-height:140px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #0000004d}.custom-dropdown li{color:var(--text-primary);cursor:pointer;padding:.5rem .75rem;font-size:.8rem;transition:background .15s}.custom-dropdown li:hover{background:#ff2e4d33}.recipes-grid{flex-direction:column;gap:1rem;display:flex}.recipe-card{border:1px solid var(--border-glass);border-radius:var(--radius-md);transition:all .25s var(--ease-out);background:#00000026;padding:1.25rem}.recipe-card:hover{border-color:var(--border-glass-strong);background:#0003}.recipe-card-header{justify-content:space-between;align-items:center;margin-bottom:.875rem;display:flex}.recipe-card-title{color:var(--text-primary);align-items:center;gap:.5rem;font-size:1.05rem;font-weight:700;display:flex}.recipe-card-title .dish-icon{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--blue-300);background:linear-gradient(135deg,#ff2e4d33,#ff000026);justify-content:center;align-items:center;font-size:.9rem;display:flex}.recipe-ingredients{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.ingredient-tag{color:var(--blue-200);background:#ff2e4d14;border:1px solid #ff2e4d26;border-radius:999px;align-items:center;gap:.3rem;padding:.3rem .65rem;font-size:.72rem;font-weight:500;display:inline-flex}.ingredient-tag .tag-qty{color:var(--blue-400);font-weight:700}.recipe-card-actions{align-items:center;gap:.5rem;display:flex}.prepare-count{align-items:center;gap:.5rem;margin-right:.25rem;display:flex}.prepare-count label{color:var(--text-muted);font-size:.75rem;font-weight:500}.prepare-count input{border:1px solid var(--border-glass-strong);width:56px;color:var(--text-primary);text-align:center;background:#0000004d;border-radius:6px;outline:none;padding:.4rem .5rem;font-family:inherit;font-size:.8rem}.prepare-count input:focus{border-color:var(--blue-500)}.toast-container{z-index:1000;flex-direction:column-reverse;gap:.75rem;display:flex;position:fixed;bottom:2rem;right:2rem}.toast{border-radius:var(--radius-md);border:1px solid var(--border-glass-strong);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:var(--text-primary);animation:toastIn .4s var(--ease-out);background:#0f172aeb;align-items:center;gap:.75rem;max-width:380px;padding:.875rem 1.25rem;font-size:.85rem;display:flex;box-shadow:0 8px 32px #0006}.toast.toast-out{animation:toastOut .3s var(--ease-out) forwards}.toast-icon{flex-shrink:0;font-size:1.1rem}.toast.success{border-left:3px solid var(--success)}.toast.error{border-left:3px solid var(--danger)}.toast.warning{border-left:3px solid var(--warning)}.toast.info{border-left:3px solid var(--info)}@keyframes toastIn{0%{opacity:0;transform:translate(40px)scale(.95)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes toastOut{0%{opacity:1;transform:translate(0)scale(1)}to{opacity:0;transform:translate(40px)scale(.95)}}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:2000;opacity:0;pointer-events:none;background:#0009;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:fixed;inset:0}.modal-overlay.visible{opacity:1;pointer-events:all}.modal{text-align:center;width:90%;max-width:420px;transition:transform .3s var(--ease-out);transform:scale(.92)}.modal-overlay.visible .modal{transform:scale(1)}.modal-icon{border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 1rem;font-size:1.5rem;display:flex}.modal-icon.prepare{background:#22c55e1f;border:1px solid #22c55e40}.modal-icon.delete{background:#ef44441f;border:1px solid #ef444440}.modal h3{color:var(--text-primary);margin-bottom:.5rem;font-size:1.1rem}.modal p{color:var(--text-secondary);margin-bottom:1.5rem;font-size:.85rem;line-height:1.6}.modal-actions{justify-content:center;gap:.75rem;display:flex}.modal-actions .btn{min-width:100px}@media (max-width:1024px){.form-grid,.ingredient-row{grid-template-columns:1fr 1fr}}@media (max-width:768px){.app-container{padding:1.25rem 1rem 3rem}.app-header{flex-direction:column;align-items:flex-start}.header-stats{width:100%;overflow-x:auto}.form-grid{grid-template-columns:1fr}.ingredient-row{grid-template-columns:1fr 1fr}.ingredient-row>:first-child{grid-column:1/-1}.recipe-card-header{flex-direction:column;align-items:flex-start;gap:.75rem}.recipe-card-actions{flex-wrap:wrap;width:100%}.tab-btn span{font-size:.8rem}.orb{filter:blur(60px);opacity:.2}table,thead,tbody,th,td,tr{display:block}thead tr{position:absolute;top:-9999px;left:-9999px}tbody tr{border:1px solid var(--border-glass-strong);border-radius:var(--radius-md);background:#00000026;margin-bottom:1rem;padding:.75rem 1rem}tbody td{text-align:right;position:relative;border:none!important;border-bottom:1px solid var(--border-glass)!important;justify-content:space-between!important;align-items:center!important;padding:.6rem 0!important;display:flex!important}tbody td:last-child{border-bottom:0!important}tbody td:before{content:attr(data-label);color:var(--text-muted);text-transform:uppercase;text-align:left;margin-right:1rem;font-size:.75rem;font-weight:600}}@media (max-width:480px){.app-title{font-size:1.25rem}.tab-btn{padding:.6rem .75rem;font-size:.78rem}.glass-card{padding:1.25rem}.stat-chip{padding:.4rem .75rem;font-size:.72rem}}@keyframes neonBreathe{0%,to{border-color:#ff2e4d4d;box-shadow:0 0 15px #ff2e4d33,0 0 30px #ff2e4d1a}50%{border-color:#ff2e4d99;box-shadow:0 0 25px #ff2e4d80,0 0 50px #ff2e4d4d}}@keyframes textGlow{0%,to{text-shadow:0 0 10px #ff2e4d4d}50%{text-shadow:0 0 20px #ff2e4dcc,0 0 30px #ff000080}}.glass-card,.recipe-card{transition:transform .3s;animation:4s ease-in-out infinite neonBreathe}.glass-card:hover,.recipe-card:hover{animation:2s ease-in-out infinite neonBreathe;transform:translateY(-2px)}.app-title{animation:3s ease-in-out infinite textGlow}.btn-primary{position:relative;overflow:hidden}.btn-primary:after{content:"";opacity:0;background:conic-gradient(#0000,#0000,#0000,#fffc);width:200%;height:200%;transition:opacity .3s;animation:4s linear infinite rotateTrail;position:absolute;top:-50%;left:-50%}.btn-primary:hover:after{opacity:1}@keyframes rotateTrail{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn-primary>*{z-index:1;position:relative}.expiry-badge{letter-spacing:.02em;white-space:nowrap;border-radius:999px;align-items:center;gap:.3rem;padding:.15rem .5rem;font-size:.65rem;font-weight:700;display:inline-flex}.expiry-badge.expired{color:#f87171;background:#ef444426;border:1px solid #ef44444d;animation:2s ease-in-out infinite pulseExpiry}.expiry-badge.expiring-soon{color:#fbbf24;background:#f59e0b26;border:1px solid #f59e0b4d}.expiry-badge.fresh{color:#4ade80;background:#22c55e1a;border:1px solid #22c55e33}@keyframes pulseExpiry{0%,to{box-shadow:0 0 4px #ef444433}50%{box-shadow:0 0 12px #ef444480}}.location-filters{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.location-chip{cursor:pointer;transition:all .25s var(--ease-out);background:var(--surface-glass);border:1px solid var(--border-glass);color:var(--text-secondary);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:999px;align-items:center;gap:.35rem;padding:.4rem .85rem;font-size:.75rem;font-weight:500;display:inline-flex}.location-chip:hover{color:var(--text-primary);background:#ff2e4d14;border-color:#ff2e4d40}.location-chip.active{color:var(--blue-300);background:linear-gradient(135deg,#ff2e4d33,#ff00001f);border-color:#ff2e4d66;box-shadow:0 0 12px #ff2e4d26}.location-chip .chip-count{background:#ffffff14;border-radius:999px;padding:.1rem .35rem;font-size:.65rem;font-weight:700}.waste-modal-overlay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:2000;background:#000000b3;justify-content:center;align-items:center;animation:.25s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.waste-modal{border-radius:var(--radius-xl);width:90%;max-width:480px;box-shadow:0 0 60px #ff2e4d1a, var(--shadow-card);animation:modalSlideIn .35s var(--ease-out);background:#140404f2;border:1px solid #ff2e4d40;padding:2rem}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.waste-modal h3{color:var(--text-primary);align-items:center;gap:.5rem;margin-bottom:1.5rem;font-size:1.15rem;font-weight:700;display:flex}.waste-reason-grid{grid-template-columns:repeat(3,1fr);gap:.5rem;margin-bottom:1rem;display:grid}.waste-reason-btn{border-radius:var(--radius-md);border:1px solid var(--border-glass);background:var(--surface-glass);color:var(--text-secondary);cursor:pointer;flex-direction:column;align-items:center;gap:.35rem;padding:.75rem .5rem;font-family:inherit;font-size:.72rem;font-weight:500;transition:all .2s;display:flex}.waste-reason-btn:hover{background:#ff2e4d14;border-color:#ff2e4d4d}.waste-reason-btn.selected{color:var(--blue-300);background:linear-gradient(135deg,#ff2e4d33,#ff00001f);border-color:#ff2e4d80;box-shadow:0 0 15px #ff2e4d26}.waste-reason-btn .reason-icon{font-size:1.25rem}.audit-form-grid{flex-direction:column;gap:.625rem;max-height:400px;padding-right:.5rem;display:flex;overflow-y:auto}.audit-form-grid::-webkit-scrollbar{width:4px}.audit-form-grid::-webkit-scrollbar-track{background:0 0}.audit-form-grid::-webkit-scrollbar-thumb{background:#ff2e4d4d;border-radius:4px}.audit-row{border-radius:var(--radius-sm);border:1px solid var(--border-glass);background:#00000026;grid-template-columns:1fr 120px 80px;align-items:center;gap:1rem;padding:.75rem 1rem;transition:border-color .2s;display:grid}.audit-row:hover{border-color:var(--border-glass-strong)}.audit-row .item-info{flex-direction:column;gap:.15rem;display:flex}.audit-row .item-info .item-name{font-size:.875rem}.audit-row .item-info .item-meta{color:var(--text-muted);font-size:.7rem}.audit-row input[type=number]{border:1px solid var(--border-glass-strong);color:var(--text-primary);text-align:center;background:#0000004d;border-radius:6px;outline:none;padding:.5rem .65rem;font-family:inherit;font-size:.85rem;transition:all .2s}.audit-row input[type=number]:focus{border-color:var(--blue-500);box-shadow:0 0 8px #ff2e4d33}.variance-report{margin-top:1.5rem}.variance-row{border-bottom:1px solid var(--border-glass);grid-template-columns:1fr 80px 80px 80px 100px;align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.85rem;display:grid}.variance-row:last-child{border-bottom:none}.variance-row.header{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);border-bottom:1px solid var(--border-glass-strong);font-size:.7rem;font-weight:600}.variance-match{color:#4ade80}.variance-minor{color:#fbbf24}.variance-major{color:#f87171;font-weight:700}.variance-indicator{border-radius:999px;align-items:center;gap:.25rem;padding:.15rem .5rem;font-size:.7rem;font-weight:600;display:inline-flex}.variance-indicator.match{color:#4ade80;background:#22c55e1f;border:1px solid #22c55e33}.variance-indicator.minor{color:#fbbf24;background:#f59e0b1f;border:1px solid #f59e0b33}.variance-indicator.major{color:#f87171;background:#ef44441f;border:1px solid #ef444433}.forecast-controls{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.horizon-selector{background:var(--surface-glass);border:1px solid var(--border-glass);border-radius:var(--radius-md);gap:.375rem;padding:.25rem;display:flex}.horizon-btn{border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:.45rem 1rem;font-family:inherit;font-size:.8rem;font-weight:500;transition:all .25s}.horizon-btn:hover{color:var(--text-secondary)}.horizon-btn.active{color:var(--blue-300);background:linear-gradient(135deg,#ff2e4d33,#ff00001f);box-shadow:0 2px 8px #ff2e4d26}.forecast-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.forecast-card{border:1px solid var(--border-glass);border-radius:var(--radius-md);transition:all .25s var(--ease-out);background:#00000026;flex-direction:column;gap:.75rem;padding:1.25rem;display:flex}.forecast-card:hover{border-color:var(--border-glass-strong);transform:translateY(-1px)}.forecast-card .fc-header{justify-content:space-between;align-items:flex-start;display:flex}.forecast-card .fc-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-size:.9rem;font-weight:600;overflow:hidden}.forecast-card .fc-urgency{text-transform:uppercase;letter-spacing:.05em;border-radius:999px;padding:.15rem .5rem;font-size:.65rem;font-weight:700}.fc-urgency.critical{color:#f87171;background:#ef444426;border:1px solid #ef44444d}.fc-urgency.warning{color:#fbbf24;background:#f59e0b26;border:1px solid #f59e0b4d}.fc-urgency.healthy{color:#4ade80;background:#22c55e1a;border:1px solid #22c55e33}.forecast-card .fc-stats{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.forecast-card .fc-stat{flex-direction:column;gap:.15rem;display:flex}.forecast-card .fc-stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.65rem}.forecast-card .fc-stat-value{font-variant-numeric:tabular-nums;font-size:1.1rem;font-weight:700}.forecast-card .fc-bar{background:var(--surface-glass);border-radius:2px;height:4px;overflow:hidden}.forecast-card .fc-bar-fill{height:100%;transition:width .8s var(--ease-out);border-radius:2px}.sub-recipe-badge{color:#a78bfa;background:#8b5cf61f;border:1px solid #8b5cf640;border-radius:999px;align-items:center;gap:.3rem;padding:.2rem .6rem;font-size:.68rem;font-weight:600;display:inline-flex}.yield-badge{color:#38bdf8;background:#38bdf81a;border:1px solid #38bdf833;border-radius:999px;align-items:center;gap:.25rem;padding:.15rem .5rem;font-size:.65rem;font-weight:600;display:inline-flex}.section-divider{align-items:center;gap:.75rem;margin:1.5rem 0 1rem;display:flex}.section-divider span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;font-size:.75rem;font-weight:600}.section-divider:after{content:"";background:var(--border-glass);flex:1;height:1px}.audit-history-list{flex-direction:column;gap:.75rem;max-height:300px;display:flex;overflow-y:auto}.audit-history-item{border-radius:var(--radius-sm);border:1px solid var(--border-glass);cursor:pointer;background:#0000001a;justify-content:space-between;align-items:center;padding:.75rem 1rem;transition:all .2s;display:flex}.audit-history-item:hover{background:#ff2e4d0a;border-color:#ff2e4d4d}.audit-history-item .audit-date{font-size:.85rem;font-weight:500}.audit-history-item .audit-summary{color:var(--text-muted);font-size:.75rem}.waste-history{flex-direction:column;gap:.5rem;max-height:250px;display:flex;overflow-y:auto}.waste-history-item{border-radius:var(--radius-sm);border:1px solid var(--border-glass);background:#0000001a;align-items:center;gap:1rem;padding:.65rem .85rem;font-size:.8rem;display:flex}.waste-history-item .waste-reason-tag{color:#f87171;background:#ef44441a;border:1px solid #ef444433;border-radius:999px;padding:.15rem .45rem;font-size:.65rem;font-weight:600}.toggle-wrapper{align-items:center;gap:.625rem;display:flex}.toggle-switch{background:var(--surface-glass);border:1px solid var(--border-glass-strong);cursor:pointer;border-radius:999px;width:40px;height:22px;transition:all .3s;position:relative}.toggle-switch.active{background:linear-gradient(135deg,#ff2e4d66,#ff00004d);border-color:#ff2e4d80}.toggle-switch .toggle-knob{background:var(--text-secondary);width:16px;height:16px;transition:all .3s var(--ease-out);border-radius:50%;position:absolute;top:2px;left:2px}.toggle-switch.active .toggle-knob{background:var(--blue-300);left:20px;box-shadow:0 0 8px #ff2e4d66}.toggle-label{color:var(--text-secondary);font-size:.8rem;font-weight:500}@media (max-width:768px){.audit-row{grid-template-columns:1fr 80px 60px;gap:.5rem}.variance-row{grid-template-columns:1fr 60px 60px 60px 80px;gap:.5rem;font-size:.75rem}.forecast-grid{grid-template-columns:1fr}.waste-reason-grid{grid-template-columns:repeat(2,1fr)}.location-filters{flex-wrap:nowrap;padding-bottom:.5rem;overflow-x:auto}.location-chip{flex-shrink:0}}
