.composition-table-field{margin-bottom:var(--base)}.composition-table-field__header{align-items:center;gap:calc(var(--base)/2);margin-bottom:calc(var(--base)/2);justify-content:space-between;display:flex}.composition-table-field__header h3{margin:0;font-size:18px;font-weight:500;line-height:1.25}.composition-table-field__actions,.composition-table-field__row-actions-inner{white-space:nowrap;align-items:center;gap:6px;display:flex}.composition-table-field__actions{min-height:36px}.composition-table-field__total{border:1px solid var(--theme-elevation-150);border-radius:3px;align-items:center;height:28px;padding:0 8px;font-size:12px;display:inline-flex}.composition-table-field__total--invalid{border-color:var(--theme-error-500);color:var(--theme-error-700)}.composition-table-field__total--valid{color:var(--theme-elevation-700)}.composition-table-field__scroll{border:1px solid var(--theme-elevation-150);border-radius:4px;overflow-x:auto}.composition-table-field table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:900px}.composition-table-field th,.composition-table-field td{border-bottom:1px solid var(--theme-elevation-100);text-align:left;vertical-align:middle;padding:8px}.composition-table-field th{background:var(--theme-elevation-50);color:var(--theme-elevation-800);font-size:12px;font-weight:600}.composition-table-field td{background:var(--theme-bg)}.composition-table-field tbody tr:last-child td{border-bottom:0}.composition-table-field input{background:var(--theme-input-bg);border:1px solid var(--theme-elevation-150);color:var(--theme-text);font:inherit;border-radius:3px;width:100%;height:36px;padding:6px 8px}.composition-table-field .btn{margin:0}.composition-table-field input:focus{border-color:var(--theme-elevation-400);outline:0}.composition-table-field input:disabled{color:var(--theme-elevation-500)}.composition-table-field__row-number{color:var(--theme-elevation-600);text-align:center;width:44px}.composition-table-field__row-actions{width:228px}.composition-table-field__row-actions-inner{min-height:36px}.composition-table-field__empty,.composition-table-field__error{color:var(--theme-elevation-600)}.composition-table-field__empty{text-align:center}.composition-table-field__error{margin:0 0 calc(var(--base)/2)}.ingredients-table-field{margin-bottom:var(--base)}.ingredients-table-field__header{align-items:center;gap:calc(var(--base)/2);margin-bottom:calc(var(--base)/2);justify-content:space-between;display:flex}.ingredients-table-field__header h3{margin:0;font-size:18px;font-weight:500;line-height:1.25}.ingredients-table-field__actions{white-space:nowrap;align-items:center;gap:6px;min-height:36px;display:flex}.ingredients-table-field__total{border:1px solid var(--theme-elevation-150);border-radius:3px;align-items:center;height:28px;padding:0 8px;font-size:12px;display:inline-flex}.ingredients-table-field__total--warning{border-color:var(--theme-warning-500);color:var(--theme-warning-700)}.ingredients-table-field__total--valid{color:var(--theme-elevation-700)}.ingredients-table-field__scroll{border:1px solid var(--theme-elevation-150);border-radius:4px;overflow-x:auto}.ingredients-table-field table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:900px}.ingredients-table-field th,.ingredients-table-field td{border-bottom:1px solid var(--theme-elevation-100);text-align:left;vertical-align:middle;padding:8px}.ingredients-table-field th{background:var(--theme-elevation-50);color:var(--theme-elevation-800);font-size:12px;font-weight:600}.ingredients-table-field td{background:var(--theme-bg)}.ingredients-table-field tbody tr:last-child td{border-bottom:0}.ingredients-table-field input,.ingredients-table-field select{background:var(--theme-input-bg);border:1px solid var(--theme-elevation-150);color:var(--theme-text);font:inherit;border-radius:3px;width:100%;height:36px;padding:6px 8px}.ingredients-table-field .btn{margin:0}.ingredients-table-field input:focus,.ingredients-table-field select:focus{border-color:var(--theme-elevation-400);outline:0}.ingredients-table-field input:disabled,.ingredients-table-field select:disabled{color:var(--theme-elevation-500)}.ingredients-table-field__row-number{color:var(--theme-elevation-600);text-align:center;width:44px}.ingredients-table-field__phase{width:88px}.ingredients-table-field__status{width:96px}.ingredients-table-field__status-badge{border:1px solid var(--theme-elevation-200);color:var(--theme-elevation-700);white-space:nowrap;border-radius:999px;align-items:center;min-height:24px;padding:2px 8px;font-size:12px;font-weight:500;display:inline-flex}.ingredients-table-field__status-badge--approved{border-color:var(--theme-success-200);color:var(--theme-success-700)}.ingredients-table-field__status-badge--draft{border-color:var(--theme-warning-200);color:var(--theme-warning-700)}.ingredients-table-field__quantity{white-space:nowrap;width:132px}.ingredients-table-field td.ingredients-table-field__quantity strong{color:var(--theme-elevation-800);font-weight:600}.ingredients-table-field__row-actions{width:228px}.ingredients-table-field__row-actions-inner{white-space:nowrap;align-items:center;gap:6px;min-height:36px;display:flex}.ingredients-table-field__empty,.ingredients-table-field__error{color:var(--theme-elevation-600)}.ingredients-table-field__empty{text-align:center}.ingredients-table-field__error{margin:0 0 calc(var(--base)/2)}.formula-inci-list{background:var(--theme-bg);border:1px solid var(--theme-elevation-150);border-radius:var(--style-radius-m);margin-top:var(--base);overflow:hidden}.formula-inci-list__header{background:linear-gradient(135deg, var(--theme-elevation-50), var(--theme-bg));border-bottom:1px solid var(--theme-elevation-100);justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.formula-inci-list__header h3{margin:0;font-size:17px;font-weight:600;line-height:1.25}.formula-inci-list__header p{color:var(--theme-elevation-500);margin:4px 0 0;font-size:12px;line-height:1.4}.formula-inci-list__total{border:1px solid var(--theme-elevation-150);color:var(--theme-elevation-700);border-radius:999px;flex:none;padding:6px 10px;font-size:12px;font-weight:600}.formula-inci-list__summary{background:var(--theme-elevation-50);border-bottom:1px solid var(--theme-elevation-100);padding:14px 16px 16px}.formula-inci-list__summary strong{color:var(--theme-elevation-700);letter-spacing:.04em;text-transform:uppercase;margin-bottom:6px;font-size:11px;font-weight:600;display:block}.formula-inci-list__summary p{color:var(--theme-elevation-900);-webkit-user-select:text;user-select:text;margin:0;font-size:14px;line-height:1.65}.formula-inci-list__items{counter-reset:inci-item;margin:0;padding:0;list-style:none}.formula-inci-list__items li{border-bottom:1px solid var(--theme-elevation-100);counter-increment:inci-item;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:46px;padding:8px 16px;display:grid}.formula-inci-list__items li:last-child{border-bottom:0}.formula-inci-list__items li:before{color:var(--theme-elevation-450);content:counter(inci-item);font-size:11px;font-weight:600}.formula-inci-list__items li span{line-height:1.4}.formula-inci-list__items li strong{background:var(--theme-elevation-100);color:var(--theme-elevation-700);border-radius:999px;padding:5px 9px;font-size:12px;font-weight:600}.formula-inci-list__empty{color:var(--theme-elevation-500);text-align:center;padding:28px 20px;font-size:13px}@media (max-width:768px){.composition-table-field__header{flex-direction:column;align-items:flex-start}.composition-table-field table{min-width:760px}.ingredients-table-field__header{flex-direction:column;align-items:flex-start}.ingredients-table-field table{min-width:760px}.formula-inci-list__header{flex-direction:column;align-items:flex-start}}.formulation-inventory-actions{border:1px solid var(--theme-elevation-150);margin-bottom:var(--base);border-radius:4px;overflow:hidden}:is(.formulations-join-card,.batches-join-card,#field-formulations,#field-batches){background:var(--theme-bg);border:1px solid var(--theme-elevation-150);border-radius:var(--style-radius-m);box-shadow:0 8px 24px -20px var(--theme-elevation-1000);margin-bottom:var(--base);overflow:hidden}:is(.formulations-join-card,.batches-join-card,#field-formulations,#field-batches) .relationship-table__header{background:linear-gradient(135deg, var(--theme-elevation-50), var(--theme-bg));border-bottom:1px solid var(--theme-elevation-100);align-items:center;min-height:74px;margin:0;padding:14px 16px}:is(.formulations-join-card,.batches-join-card,#field-formulations,#field-batches) .relationship-table__header h4{font-size:17px;font-weight:600;line-height:1.25}:is(.formulations-join-card,.batches-join-card,#field-formulations,#field-batches) .relationship-table__header h4:after{color:var(--theme-elevation-500);content:"Recipe revisions for this project";margin-top:4px;font-size:12px;font-weight:400;display:block}:is(.batches-join-card,#field-batches) .relationship-table__header h4:after{content:"Production batches created from this recipe"}:is(.formulations-join-card,.batches-join-card,#field-formulations,#field-batches) .relationship-table__actions{gap:8px}:is(.formulations-join-card,.batches-join-card,#field-formulations,#field-batches) .relationship-table__add-new{background:var(--theme-elevation-900);border-radius:var(--style-radius-s);color:var(--theme-elevation-0);height:34px;margin:0;padding:0 13px;transition:background-color .12s,transform .12s}:is(.formulations-join-card,.batches-join-card,#field-formulations,#field-batches) .relationship-table__add-new:hover{background:var(--theme-elevation-750);transform:translateY(-1px)}:is(.formulations-join-card,.batches-join-card,#field-formulations,#field-batches) .relationship-table__toggle-columns{border:1px solid var(--theme-elevation-150);border-radius:var(--style-radius-s);height:34px;padding-inline:11px 7px}:is(.formulations-join-card,.batches-join-card,#field-formulations,#field-batches) .relationship-table__columns-inner{background:var(--theme-elevation-50);border-bottom:1px solid var(--theme-elevation-100);padding:12px 16px}:is(.formulations-join-card,.batches-join-card,#field-formulations,#field-batches) .table{margin-bottom:0}:is(.formulations-join-card,.batches-join-card,#field-formulations,#field-batches) .table table{border-collapse:collapse}:is(.formulations-join-card,.batches-join-card,#field-formulations,#field-batches) .table thead{background:var(--theme-elevation-50);color:var(--theme-elevation-500)}:is(.formulations-join-card,.batches-join-card,#field-formulations,#field-batches) .table th,:is(.formulations-join-card,.batches-join-card,#field-formulations,#field-batches) .table td{border:0;border-bottom:1px solid var(--theme-elevation-100);vertical-align:middle;padding:11px 16px}:is(.formulations-join-card,.batches-join-card,#field-formulations,#field-batches) .table th{letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:600}:is(.formulations-join-card,.batches-join-card,#field-formulations,#field-batches) .table tbody tr{background:var(--theme-bg);transition:background-color .12s}:is(.formulations-join-card,.batches-join-card,#field-formulations,#field-batches) .table tbody tr:hover{background:var(--theme-elevation-50)}:is(.formulations-join-card,.batches-join-card,#field-formulations,#field-batches) .table tbody tr:last-child td{border-bottom:0}:is(.formulations-join-card,#field-formulations) .cell-formulaCode,:is(.batches-join-card,#field-batches) .cell-batchNumber{letter-spacing:.01em;font-weight:600}:is(.formulations-join-card,.batches-join-card,#field-formulations,#field-batches) .cell-status>span{background:var(--theme-elevation-100);border:1px solid var(--theme-elevation-150);color:var(--theme-elevation-700);border-radius:999px;align-items:center;min-height:25px;padding:0 9px;font-size:11px;font-weight:600;line-height:1;display:inline-flex}:is(.formulations-join-card,#field-formulations) .cell-status>.selected--approved,:is(.batches-join-card,#field-batches) .cell-status>.selected--completed,:is(.batches-join-card,#field-batches) .cell-status>.selected--released{background:var(--theme-success-100);border-color:var(--theme-success-200);color:var(--theme-success-700)}:is(.formulations-join-card,#field-formulations) .cell-status>.selected--in_review,:is(.formulations-join-card,#field-formulations) .cell-status>.selected--trial,:is(.batches-join-card,#field-batches) .cell-status>.selected--inventory_checked,:is(.batches-join-card,#field-batches) .cell-status>.selected--in_production{background:var(--theme-warning-100);border-color:var(--theme-warning-200);color:var(--theme-warning-700)}:is(.batches-join-card,#field-batches) .cell-status>.selected--cancelled,:is(.batches-join-card,#field-batches) .cell-status>.selected--rejected{background:var(--theme-error-100);border-color:var(--theme-error-200);color:var(--theme-error-700)}:is(.formulations-join-card,.batches-join-card,#field-formulations,#field-batches) .cell-updatedAt{color:var(--theme-elevation-600);font-size:12px}@keyframes relationship-table-loading-spin{to{transform:rotate(360deg)}}:is(.formulations-join-card,.batches-join-card,#field-formulations,#field-batches) .relationship-table>p{background:radial-gradient(circle at 50% 0, var(--theme-elevation-100), transparent 52%),var(--theme-bg);color:var(--theme-elevation-500);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:156px;margin:0;padding:32px 24px;font-size:0;display:flex}:is(.formulations-join-card,.batches-join-card,#field-formulations,#field-batches) .relationship-table>p:before{border:2px solid var(--theme-elevation-150);border-top-color:var(--theme-elevation-700);content:"";border-radius:50%;width:30px;height:30px;animation:.8s linear infinite relationship-table-loading-spin}:is(.formulations-join-card,.batches-join-card,#field-formulations,#field-batches) .relationship-table>p:after{content:"Loading formulations…";font-size:13px;font-weight:500;line-height:1.4}:is(.batches-join-card,#field-batches) .relationship-table>p:after{content:"Loading batches…"}:is(.formulations-join-card,.batches-join-card,#field-formulations,#field-batches):has(.no-results) .relationship-table__header .relationship-table__actions{display:none}:is(.formulations-join-card,.batches-join-card,#field-formulations,#field-batches) .no-results{background:radial-gradient(circle at 50% 0, var(--theme-elevation-100), transparent 48%),var(--theme-bg);text-align:center;border-radius:0;align-items:center;padding:40px 24px 44px}:is(.formulations-join-card,.batches-join-card,#field-formulations,#field-batches) .no-results:before{background:var(--theme-elevation-100);border:1px solid var(--theme-elevation-150);color:var(--theme-elevation-700);content:"+";border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:16px;font-size:28px;font-weight:300;line-height:1;display:flex}:is(.formulations-join-card,.batches-join-card,#field-formulations,#field-batches) .no-results h3{font-size:0}:is(.formulations-join-card,.batches-join-card,#field-formulations,#field-batches) .no-results h3:after{color:var(--theme-elevation-900);content:"No formulations yet";font-size:18px;font-weight:600;line-height:1.3}:is(.batches-join-card,#field-batches) .no-results h3:after{content:"No batches yet"}:is(.formulations-join-card,.batches-join-card,#field-formulations,#field-batches) .no-results p{color:var(--theme-elevation-500);max-width:430px;margin-top:7px;font-size:0}:is(.formulations-join-card,.batches-join-card,#field-formulations,#field-batches) .no-results p:after{content:"Create the first recipe revision for this project to get started.";font-size:13px;line-height:1.5}:is(.batches-join-card,#field-batches) .no-results p:after{content:"Create the first production batch from this formulation to get started."}:is(.formulations-join-card,.batches-join-card,#field-formulations,#field-batches) .no-results__actions{margin-top:18px}:is(.formulations-join-card,.batches-join-card,#field-formulations,#field-batches) .no-results__actions .btn{border-radius:var(--style-radius-s);min-height:38px;padding-inline:15px;transition:transform .12s}:is(.formulations-join-card,.batches-join-card,#field-formulations,#field-batches) .no-results__actions .btn:hover{transform:translateY(-1px)}@media (max-width:768px){:is(.formulations-join-card,.batches-join-card,#field-formulations,#field-batches) .relationship-table__header{flex-direction:column;align-items:flex-start}:is(.formulations-join-card,.batches-join-card,#field-formulations,#field-batches) .table table{min-width:720px}}@media (prefers-reduced-motion:reduce){:is(.formulations-join-card,.batches-join-card,#field-formulations,#field-batches) .relationship-table>p:before{animation:none}}.formulation-inventory-actions__header{background:var(--theme-elevation-50);grid-template-columns:1fr auto auto;align-items:flex-start;gap:10px;padding:12px;display:grid}.formulation-inventory-actions__header h3{margin:0;font-size:18px;font-weight:500;line-height:1.25}.formulation-inventory-actions__header .btn{margin:0}.formulation-inventory-actions__metrics{color:var(--theme-elevation-600);flex-wrap:wrap;gap:10px;margin-top:4px;font-size:12px;display:flex}.formulation-inventory-actions__summary,.formulation-inventory-actions__status{border:1px solid var(--theme-elevation-150);white-space:nowrap;border-radius:3px;align-items:center;width:max-content;min-height:28px;padding:0 8px;font-size:12px;display:inline-flex}.formulation-inventory-actions__summary--ok,.formulation-inventory-actions__status--sufficient{border-color:var(--theme-success-500);color:var(--theme-success-700)}.formulation-inventory-actions__summary--warning,.formulation-inventory-actions__status--invalid_requirement,.formulation-inventory-actions__status--not_approved,.formulation-inventory-actions__status--resupply_required,.formulation-inventory-actions__status--unit_mismatch{border-color:var(--theme-warning-500);color:var(--theme-warning-700)}.formulation-inventory-actions__result{overflow-x:auto}.formulation-inventory-actions table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:1060px}.formulation-inventory-actions th,.formulation-inventory-actions td{border-bottom:1px solid var(--theme-elevation-100);text-align:left;vertical-align:middle;padding:8px}.formulation-inventory-actions th{background:var(--theme-elevation-50);color:var(--theme-elevation-800);font-size:12px;font-weight:600}.formulation-inventory-actions tbody tr:last-child td{border-bottom:0}.formulation-inventory-actions td{background:var(--theme-bg)}.formulation-inventory-actions td strong,.formulation-inventory-actions td span{display:block}.formulation-inventory-actions td span:not(.formulation-inventory-actions__status){color:var(--theme-elevation-600);margin-top:2px;font-size:12px}@media (max-width:768px){.formulation-inventory-actions__header{grid-template-columns:1fr}}
