/* Shared form safety + focused machine workspace refinement. */
[hidden] { display:none !important; }
.form-grid > *, .filter-bar > *, .machine-inline-form > *, .consumable-card { min-width:0; }
.form-grid :is(input,select,textarea) { max-width:100%; box-sizing:border-box; }
form .button { min-height:40px; white-space:normal; overflow-wrap:anywhere; line-height:1.35; }
form .check { display:flex; gap:10px; align-items:flex-start; line-height:1.6; }
form .check input[type=checkbox] { flex:0 0 auto; width:17px; height:17px; margin-top:3px; }
.machine-form .form-grid, .machine-inline-form .form-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; align-items:start; }
.machine-form label, .machine-inline-form label { color:#233b5e; font-size:14px; font-weight:600; }
.machine-form :is(input,select,textarea), .machine-inline-form :is(input,select,textarea), .machine-filter :is(input,select) {
    font-family:inherit; font-size:15px; line-height:1.5; border:1px solid #b9c8dc; border-radius:9px; padding:11px 12px; background:#fff; color:#142b4d; width:100%; min-height:44px;
}
.machine-form input[type=checkbox], .machine-inline-form input[type=checkbox] { width:18px; min-height:18px; }
.machine-form :is(input,select,textarea):focus-visible, .machine-inline-form :is(input,select,textarea):focus-visible { outline:3px solid #c5daf8; outline-offset:1px; border-color:#315b91; }
.machine-form small, .machine-inline-form small, .blade-job-picker .help { display:block; color:#58708c; font-weight:400; line-height:1.5; font-size:12px; margin-top:6px; }
.machine-action-details { border:1px solid #d5dfeb; background:#fff; border-radius:12px; margin:12px 0; padding:0; }
.machine-action-details > summary { padding:15px 18px; color:#15365f; font-size:14px; font-weight:700; cursor:pointer; line-height:1.5; }
.machine-action-details[open] > summary { background:#f1f6fc; border-bottom:1px solid #d5dfeb; border-radius:12px 12px 0 0; }
.machine-action-details > :not(summary) { margin:16px 18px; }
.machine-action-details .machine-inline-form { display:flex; flex-direction:column; gap:16px; }
.machine-inline-form .button { width:fit-content; max-width:100%; padding:11px 18px; }
.consumable-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; align-items:start; }
.consumable-card { padding:22px; border:1px solid #dbe3ee; box-shadow:0 3px 14px #12294c06; }
.consumable-card header { gap:12px; align-items:flex-start; }
.consumable-card h2 { font-size:20px; line-height:1.4; overflow-wrap:anywhere; margin:6px 0 12px; }
.consumable-card .machine-stock-meta { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.consumable-card .machine-stock-meta dd { overflow-wrap:anywhere; color:#233b5e; }
.consumable-card .form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.blade-metrics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:18px 0; }
.blade-metrics > div { padding:14px; border-radius:10px; background:#f3f6fb; border:1px solid #e1e8f1; }
.blade-metrics small { color:#536b86; display:block; font-size:12px; margin-bottom:6px; }
.blade-metrics strong { color:#163660; font-size:16px; overflow-wrap:anywhere; }
.blade-danger > summary { color:#a02131; }
.blade-job-picker { margin:14px 0; }
.machine-form .machine-toggle-grid { gap:14px; }
.machine-stock-compatibility { gap:16px; }
.machine-stock-compatibility fieldset { min-width:0; border:1px solid #dbe3ee; border-radius:10px; max-height:260px; overflow:auto; padding:14px; }
.machine-stock-compatibility .check { padding:7px 0; }
@media(max-width:1100px) { .consumable-grid { grid-template-columns:1fr; } }
@media(max-width:640px) {
    .machine-form .form-grid, .machine-inline-form .form-grid, .consumable-card .form-grid { grid-template-columns:1fr; gap:14px; }
    .machine-form .span-2, .machine-inline-form .span-2 { grid-column:auto; }
    .consumable-card { padding:14px; }
    .machine-action-details > summary { padding:14px; }
    .machine-action-details > :not(summary) { margin:14px; }
    .machine-inline-form .button { width:100%; }
    .machine-form :is(input,select,textarea), .machine-inline-form :is(input,select,textarea) { font-size:16px; }
    .machine-stock-compatibility { display:grid; grid-template-columns:1fr; }
}

.supply-line { padding:20px; border:1px solid #d8e2ee; border-radius:12px; background:#f8fafd; margin:14px 0; }
.supply-line > button { margin-top:12px; }
[data-supply-order] > .form-grid, [data-supply-need] > .form-grid { margin:16px 0; }
