/* Shared action language: green continues; red cancels or deletes. */
:is(.modal,dialog,.appConfirm) button.primary {
 background:#08783f!important;color:#ffffff!important;border:1px solid #08783f!important;
 border-radius:14px;min-height:48px;line-height:1.35;padding:12px 18px;
 white-space:normal;overflow-wrap:anywhere;
}
:is(.modal,dialog,.appConfirm) button.cancelAction239,
#appConfirmNo,#appPrompt button[onclick="closeAppPrompt(false)"] {
 background:#fdecec!important;color:#8a2424!important;border:1px solid #dbaaaa!important;
 border-radius:14px;min-height:48px;line-height:1.35;padding:12px 18px;
}
:is(.modal,dialog,.appConfirm) button:focus-visible {outline:3px solid #254d73;outline-offset:3px;}
:is(.modal,dialog,.appConfirm) button:disabled {opacity:1;filter:grayscale(1);cursor:not-allowed;}
.appConfirmCard {max-height:calc(100dvh - 32px);overflow-y:auto;box-sizing:border-box;}
.appConfirmCard h3 {color:#143f26;line-height:1.3;}
.appConfirmCard p {color:#435348;font-size:16px;}
.appConfirmActions {display:flex;flex-direction:column-reverse;align-items:stretch;}
.appConfirmActions button {width:100%;font-size:16px;}
@media(max-width:820px){
 .modal > .card {max-width:100%;min-width:0;box-sizing:border-box;overflow-x:hidden;}
 :is(.modal,dialog) :is(.articleFormGrid,.packCardGrid,.packEditRow,.batchRow,.supplierAdminGrid,.resourceGrid,.accessRole,.permissionGrid,.opsGrid92,.inboundFields182,.inboundRow182,.inboundNew185,.invoiceRow191,.invoiceExtraFields191,.expiryParts231,.receiptFields) {
  grid-template-columns:minmax(0,1fr)!important;min-width:0;
 }
 :is(.modal,dialog) :is(.field,input,select,textarea) {min-width:0;max-width:100%;box-sizing:border-box;}
 :is(.modal,dialog) :is(input,select,textarea,label,button) {font-size:16px;line-height:1.4;}
 :is(.modal,dialog) .field {grid-column:1/-1;}
 .appConfirm {padding:12px 12px max(12px,env(safe-area-inset-bottom));align-items:center;box-sizing:border-box;}
 .appConfirmActions {display:flex;gap:10px;}
 :is(.modal,dialog) .modalHeader {gap:12px;flex-wrap:wrap;}
 :is(.modal,dialog) .modalHeader h2 {font-size:22px;line-height:1.3;}
}

#zAccountButton162 {width:44px;height:44px;min-height:44px;background:#08783f;color:#fff;}
#zAccountMenu162 {max-width:calc(100vw - 24px);box-sizing:border-box;color:#143f26;}
#zAccountMenu162 button {min-height:48px;font-size:16px;border-radius:12px;line-height:1.35;}
#zAccountMenu162 button[onclick="zOpenSettings240()"] {background:#08783f;color:#fff;}
#zAccountMenu162 button[onclick="zLogout162()"] {background:#fdecec;color:#8a2424;}

/* Consistent secondary actions, with cancel and destructive actions kept distinct. */
:is(.modal,dialog,.appConfirm) button.soft:not(.cancelAction239):not(.danger) {
 background:#eaf5ee!important;color:#174d32!important;border:1px solid #bed7c7!important;
 border-radius:14px;min-height:48px;line-height:1.35;
}
#articleModal.mobileCreateMode118 #aePacks.barcodeEditing241 {display:grid!important;grid-template-columns:minmax(0,1fr)!important;}
#articleModal.mobileCreateMode118 #aePacks.barcodeEditing241 > :not(.originalBarcode241) {display:none!important;}
.invoicePriceCaption241 {display:block;line-height:1.4;}
.invoicePriceCaption241 .invoicePriceUnit227 {display:inline!important;}
.guideLookup194 button {width:100%;margin:8px 0 12px;}

/* Small action groups may share a row; the working form remains one column. */
#articleModal .guideActions194, #photoModal144 .photoActions144,
.appConfirmActions {flex-direction:row;flex-wrap:wrap;align-items:stretch;}
#articleModal .guideActions194 > button, #photoModal144 .photoActions144 > button,
.appConfirmActions > button {
 flex:1 1 8rem!important;width:auto!important;height:auto!important;min-height:44px!important;
 padding:10px 14px!important;line-height:1.35;align-self:stretch;min-width:0;max-width:100%;
}
#articleModal .recognizedPrice214 .guideActions194 > button {flex:1 1 5rem!important;}
:is(.modal,dialog) .expiry231 .expiryParts231 {
 grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.4fr)!important;gap:8px;
}
.expiryParts231 label {font-size:14px!important;}
.expiryParts231 input {font-size:16px!important;padding:10px 6px!important;}
.expiryDaysLabel242 {display:block!important;margin-top:8px;}
.expiryDaysLabel242 input {width:100%;}
@media(max-width:300px){:is(.modal,dialog) .expiry231 .expiryParts231 {grid-template-columns:minmax(0,1fr)!important;}}
