.ingredient-lab-container{flex-direction:column;gap:1.5rem;width:100%;max-width:1200px;margin:0 auto;display:flex}.category-tabs-bar{background:var(--lab-surface);border:1px solid var(--lab-border);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.65rem .95rem;display:flex}.category-tabs-list{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.cat-tab{color:var(--lab-text-muted);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;padding:.35rem .75rem;font-family:Barlow Condensed,sans-serif;font-size:.82rem;font-weight:800;transition:all .15s}.cat-tab:hover{color:var(--lab-text);background:var(--lab-elevated)}.cat-tab.active{border-color:var(--lab-primary);color:var(--lab-primary);background:#2aa19826}.lab-search-input{background:var(--lab-bg);border:1px solid var(--lab-border);color:var(--lab-text);border-radius:5px;outline:none;width:240px;padding:.4rem .75rem;font-size:.82rem}.lab-search-input:focus{border-color:var(--lab-primary)}.ingredient-studio-grid{grid-template-columns:340px 1fr;align-items:start;gap:1.5rem;display:grid}@media (width<=900px){.ingredient-studio-grid{grid-template-columns:1fr}}.recipe-catalog-pane{background:var(--lab-surface);border:1.5px solid var(--lab-border);border-radius:10px;flex-direction:column;gap:.85rem;padding:1.15rem;display:flex}.catalog-header{border-bottom:1px dashed var(--lab-border);justify-content:space-between;align-items:center;padding-bottom:.5rem;display:flex}.catalog-count-tag{text-transform:uppercase;letter-spacing:.08em;color:var(--lab-text-muted);font-family:Barlow Condensed,sans-serif;font-size:.75rem;font-weight:800}.recipe-cards-list{flex-direction:column;gap:.65rem;max-height:720px;display:flex;overflow-y:auto}.recipe-nav-card{background:var(--lab-bg);border:1px solid var(--lab-border);cursor:pointer;border-radius:8px;flex-direction:column;gap:.35rem;padding:.85rem 1rem;transition:all .15s;display:flex}.recipe-nav-card:hover{border-color:var(--lab-primary);background:var(--lab-elevated);transform:translateY(-1px)}.recipe-nav-card--active{border-color:var(--lab-primary);background:var(--lab-elevated);box-shadow:inset 3px 0 0 var(--lab-primary)}.r-card-top{justify-content:space-between;align-items:center;display:flex}.r-cat-badge{letter-spacing:.08em;text-transform:uppercase;border-radius:4px;padding:.12rem .45rem;font-size:.65rem;font-weight:800}.r-cat-badge--protein{border:1px solid var(--lab-danger);color:var(--lab-danger);background:#dc322f26}.r-cat-badge--sauce{border:1px solid var(--lab-tertiary);color:var(--lab-tertiary);background:#b5890026}.r-cat-badge--cheese{color:#22c55e;background:#22c55e26;border:1px solid #22c55e}.r-cat-badge--condiment{border:1px solid var(--lab-primary);color:var(--lab-primary);background:#2aa19826}.r-yield-tag{color:var(--lab-text-muted);font-size:.72rem}.r-card-title{color:var(--lab-text);text-transform:uppercase;letter-spacing:.03em;margin:0;font-size:1.1rem;font-weight:800}.r-card-summary{color:var(--lab-text-muted);margin:0;font-size:.76rem;line-height:1.35}.active-recipe-card{background:var(--lab-surface);border:1.5px solid var(--lab-border);border-radius:12px;flex-direction:column;gap:1.35rem;padding:1.75rem;display:flex;box-shadow:0 4px 20px #0003}.r-detail-header{border-bottom:1.5px solid var(--lab-border);justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:1rem;display:flex}.r-detail-header__left{flex-direction:column;gap:.35rem;display:flex}.r-detail-tags{align-items:center;gap:.5rem;display:flex}.r-kicker-badge{letter-spacing:.08em;color:var(--lab-primary);font-size:.68rem;font-weight:800}.r-detail-title{text-transform:uppercase;color:var(--lab-text);letter-spacing:.03em;margin:0;font-size:2.1rem;font-weight:800;line-height:1.1}.r-detail-desc{color:var(--lab-text-muted);margin:0;font-size:.9rem}.scaling-toolbar{background:var(--lab-bg);border:1px solid var(--lab-border);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1.15rem;display:flex}.scaler-left{flex-wrap:wrap;align-items:center;gap:.85rem;display:flex}.scaler-label{letter-spacing:.08em;color:var(--lab-text);font-size:.85rem;font-weight:800}.scaler-pills-row{align-items:center;gap:.35rem;display:flex}.scale-btn{background:var(--lab-surface);border:1px solid var(--lab-border);color:var(--lab-text);text-transform:uppercase;cursor:pointer;border-radius:4px;padding:.3rem .65rem;font-family:Barlow Condensed,sans-serif;font-size:.82rem;font-weight:800;transition:all .15s}.scale-btn:hover{border-color:var(--lab-primary);color:var(--lab-primary)}.scale-btn--active{background:var(--lab-primary);color:#002b36;border-color:var(--lab-primary)}.custom-pizza-input-wrap{align-items:center;gap:.35rem;margin-left:.5rem;display:flex}.pizza-num-input{background:var(--lab-surface);border:1px solid var(--lab-border);width:60px;color:var(--lab-text);text-align:center;border-radius:4px;padding:.25rem .45rem;font-size:.95rem;font-weight:800}.pizza-num-label{color:var(--lab-text-muted);font-size:.78rem}.unit-toggle-wrap{border:1px solid var(--lab-border);border-radius:6px;display:flex;overflow:hidden}.unit-btn{background:var(--lab-surface);color:var(--lab-text-muted);text-transform:uppercase;cursor:pointer;border:none;padding:.3rem .65rem;font-family:Barlow Condensed,sans-serif;font-size:.78rem;font-weight:800}.unit-btn--active{color:var(--lab-primary);background:#2aa19833}.r-meta-strip{background:var(--lab-bg);border:1px solid var(--lab-border);border-radius:8px;grid-template-columns:repeat(4,1fr);gap:.75rem;padding:.75rem 1rem;display:grid}@media (width<=640px){.r-meta-strip{grid-template-columns:repeat(2,1fr)}}.meta-strip-item{flex-direction:column;gap:.15rem;display:flex}.meta-strip-label{color:var(--lab-text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.7rem}.meta-strip-val{color:var(--lab-text);font-size:1.15rem;font-weight:800}.lab-subcard{background:var(--lab-bg);border:1px solid var(--lab-border);border-radius:8px;flex-direction:column;gap:.85rem;padding:1.25rem;display:flex}.lab-subcard-header{border-bottom:1px dashed var(--lab-border);flex-direction:column;gap:.2rem;padding-bottom:.5rem;display:flex}.lab-subcard-title{color:var(--lab-text);letter-spacing:.04em;margin:0;font-size:1.1rem;font-weight:800}.lab-subcard-sub{color:var(--lab-text-muted);font-size:.75rem}.ing-table-wrap{overflow-x:auto}.ing-table{border-collapse:collapse;text-align:left;width:100%;font-size:.88rem}.ing-table th{text-transform:uppercase;letter-spacing:.08em;color:var(--lab-text-muted);border-bottom:1.5px solid var(--lab-border);padding:.5rem .65rem;font-family:Barlow Condensed,sans-serif;font-size:.75rem;font-weight:800}.ing-table td{border-bottom:1px dotted var(--lab-border);color:var(--lab-text);padding:.6rem .65rem}.ing-col-name strong{color:var(--lab-text);font-weight:700}.ing-col-weight{color:var(--lab-primary);font-size:.95rem;font-weight:800}.ing-col-ratio{color:var(--lab-text-muted);font-size:.82rem}.ing-col-notes{color:var(--lab-text-muted);font-size:.8rem}.water-indicator{color:#38bdf8;background:#38bdf826;border:1px solid #38bdf84d;border-radius:4px;margin-left:.4rem;padding:.1rem .35rem;font-size:.65rem;font-weight:800}.sop-steps-stack{flex-direction:column;gap:.75rem;display:flex}.sop-step-card{background:var(--lab-surface);border:1px solid var(--lab-border);border-radius:6px;flex-direction:column;gap:.35rem;padding:.85rem 1.15rem;display:flex}.sop-step-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.sop-step-title-wrap{align-items:center;gap:.55rem;display:flex}.sop-step-num{color:#002b36;background:var(--lab-primary);border-radius:999px;justify-content:center;align-items:center;width:22px;height:22px;font-size:.78rem;font-weight:800;display:inline-flex}.sop-step-title{color:var(--lab-text);text-transform:uppercase;letter-spacing:.03em;margin:0;font-size:1.05rem;font-weight:800}.step-meta-pill{color:var(--lab-primary);background:#2aa1981f;border:1px solid #2aa1984d;border-radius:4px;padding:.15rem .45rem;font-size:.7rem;font-weight:800}.sop-step-desc{color:var(--lab-text-muted);margin:0;font-size:.86rem;line-height:1.45}.storage-pairings-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (width<=640px){.storage-pairings-grid{grid-template-columns:1fr}}.info-block{background:var(--lab-bg);border:1px solid var(--lab-border);border-radius:8px;flex-direction:column;gap:.35rem;padding:1rem 1.15rem;display:flex}.info-block-title{letter-spacing:.08em;color:var(--lab-text);text-transform:uppercase;margin:0;font-size:.85rem;font-weight:800}.info-block-text{color:var(--lab-text-muted);margin:0;font-size:.82rem;line-height:1.4}.r-actions-footer{border-top:1.5px solid var(--lab-border);flex-direction:column;gap:.85rem;padding-top:1.15rem;display:flex}.r-actions-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.r-actions-row--secondary{border-top:1px dotted var(--lab-border);padding-top:.65rem}.modal-backdrop{backdrop-filter:blur(3px);z-index:2000;background:#000000a6;position:fixed;inset:0}.custom-recipe-modal{background:var(--lab-surface);border:2px solid var(--lab-border);z-index:2001;border-radius:12px;width:680px;max-width:95vw;max-height:90vh;padding:1.75rem;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 10px 40px #00000080}.modal-header{border-bottom:1.5px solid var(--lab-border);justify-content:space-between;align-items:flex-start;margin-bottom:1.25rem;padding-bottom:.75rem;display:flex}.modal-kicker{letter-spacing:.1em;color:var(--lab-primary);font-family:Barlow Condensed,sans-serif;font-size:.75rem;font-weight:800}.modal-title{color:var(--lab-text);text-transform:uppercase;margin:0;font-family:Barlow Condensed,sans-serif;font-size:1.6rem;font-weight:800}.btn-close-modal{color:var(--lab-text-muted);cursor:pointer;background:0 0;border:none;font-size:1.2rem}.custom-form{flex-direction:column;gap:1rem;display:flex}.form-row{gap:.85rem;display:grid}.form-row--2col{grid-template-columns:1fr 1fr}.form-row--3col{grid-template-columns:1fr 1fr 1fr}@media (width<=600px){.form-row{grid-template-columns:1fr}}.form-group{flex-direction:column;gap:.35rem;display:flex}.form-label{text-transform:uppercase;letter-spacing:.08em;color:var(--lab-text);font-family:Barlow Condensed,sans-serif;font-size:.78rem;font-weight:800}.form-input,.form-select{background:var(--lab-bg);border:1px solid var(--lab-border);color:var(--lab-text);border-radius:6px;outline:none;padding:.5rem .75rem;font-size:.88rem}.form-input:focus,.form-select:focus{border-color:var(--lab-primary)}.builder-section{background:var(--lab-bg);border:1px solid var(--lab-border);border-radius:8px;flex-direction:column;gap:.65rem;padding:1rem;display:flex}.builder-section-header{justify-content:space-between;align-items:center;display:flex}.btn-sm-text{color:var(--lab-primary);text-transform:uppercase;cursor:pointer;background:0 0;border:none;font-family:Barlow Condensed,sans-serif;font-size:.82rem;font-weight:800}.ingredient-rows-stack,.step-rows-stack{flex-direction:column;gap:.5rem;display:flex}.cr-ing-row,.cr-step-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.cr-ing-name{flex:2;min-width:140px}.cr-ing-grams{width:90px}.cr-ing-notes{flex:2;min-width:120px}.cr-step-title{width:140px}.cr-step-desc{flex:1;min-width:180px}.cr-step-mins{width:70px}.water-check-label{color:#38bdf8;cursor:pointer;align-items:center;gap:.25rem;font-size:.75rem;display:flex}.btn-del-row{border:1px solid var(--lab-border);color:var(--lab-danger);cursor:pointer;background:0 0;border-radius:4px;width:28px;height:28px}.modal-actions{border-top:1.5px solid var(--lab-border);justify-content:flex-end;align-items:center;gap:.75rem;margin-top:.5rem;padding-top:1rem;display:flex}@media print{body{color:#000!important;background:#fff!important}.lab-sidebar,.header-actions,.category-tabs-bar,.recipe-catalog-pane,.scaling-toolbar,.r-actions-footer,#btn-print-recipe{display:none!important}.ingredient-studio-grid{display:block!important}.active-recipe-card{box-shadow:none!important;color:#000!important;background:0 0!important;border:none!important;padding:0!important}.lab-subcard,.r-meta-strip,.info-block{color:#000!important;background:#fff!important;border:1px solid #ccc!important}.ing-table th,.ing-table td{color:#000!important;border-bottom:1px solid #e5e5e5!important}.sop-step-card{color:#000!important;background:#fff!important;border:1px solid #e5e5e5!important}}
