
/* v2.9.601: Expense form focus visibility. Presentation-only, no posting or inventory business logic changes. */
body.ami-saas485 .ami496-expense :is(input,select,textarea,button):focus-visible{outline:3px solid #2563eb!important;outline-offset:2px!important}

/* v2.9.602: Expense labels and validation cues. Presentation-only, no posting or inventory business logic changes. */
body.ami-saas485 .ami496-expense label{line-height:1.4}body.ami-saas485 .ami496-expense :is(input,select,textarea)[aria-invalid="true"]{border-color:#dc2626!important;box-shadow:0 0 0 2px #fee2e2!important}

/* v2.9.603: Material item table readability. Presentation-only, no posting or inventory business logic changes. */
body.ami-saas485 .ami496-material .b430-material-table th{vertical-align:middle;white-space:nowrap}body.ami-saas485 .ami496-material .b430-material-table td{vertical-align:middle}body.ami-saas485 .ami496-material .b430-material-table tbody tr:nth-child(even){background:#f8fafc}

/* v2.9.604: Material expense mobile table. Presentation-only, no posting or inventory business logic changes. */
@media(max-width:760px){body.ami-saas485 .ami496-material .b430-table-wrap{max-width:calc(100vw - 24px);-webkit-overflow-scrolling:touch}body.ami-saas485 .ami496-material .b430-material-table{min-width:670px}body.ami-saas485 .ami496-material .b430-summary-card{max-width:100%}}

/* v2.9.605: Expense save button and actions usability. Presentation-only, no posting or inventory business logic changes. */
body.ami-saas485 .ami496-expense :is(button,.btn)[disabled]{cursor:not-allowed!important;opacity:.65}body.ami-saas485 .ami496-expense :is(.b425-form-actions,.b430-footer){flex-wrap:wrap;gap:8px}body.ami-saas485 .ami496-expense :is(.b425-form-actions,.b430-footer) button{min-height:38px}

/* v2.9.606: Expense report filter and print settings focus. Presentation-only, no posting or inventory business logic changes. */
.ami497-report :is(input,select,button,summary):focus-visible,.ami497-print-settings :is(input,select,button):focus-visible{outline:3px solid #2563eb!important;outline-offset:2px!important}.ami497-report [aria-invalid="true"]{border-color:#dc2626!important}

/* v2.9.607: Expense report long descriptions. Presentation-only, no posting or inventory business logic changes. */
.ami497-table td{overflow-wrap:anywhere;word-break:normal}.ami497-table td:first-child{min-width:120px}.ami497-report .ami497-summary{min-width:0}.ami497-summary>span{min-width:0}

/* v2.9.608: Dispatch entry compact mobile controls. Presentation-only, no posting or inventory business logic changes. */
@media(max-width:680px){body.ami-saas485 .ami496-dispatch :is(input,select,textarea){max-width:100%;min-width:0;box-sizing:border-box}body.ami-saas485 .ami496-dispatch .b415-item-row{max-width:100%}.b369-dispatch-page .b434-dispatch-title{min-width:0}}

/* v2.9.609: Expense report print page breaks. Presentation-only, no posting or inventory business logic changes. */
@media print{@page{size:A4 portrait;margin:12mm}.ami497-table{width:100%!important;table-layout:auto}.ami497-table thead{display:table-header-group}.ami497-table tr{break-inside:avoid;page-break-inside:avoid}.ami497-table td,.ami497-table th{position:static!important;overflow-wrap:anywhere;color:#111827!important;background:#fff!important;box-shadow:none!important}.ami497-summary>span{background:#fff!important;color:#111827!important}}

/* v2.9.610: Expense report and Dispatch final responsive polish. Presentation-only, no posting or inventory business logic changes. */
@media(max-width:680px){.ami497-report-actions{gap:8px!important}.ami497-print-options{gap:10px!important}.b369-dispatch-page .b434-dispatch-title>small{overflow-wrap:anywhere}}@media print{.ami497-table-wrap{overflow:visible!important;box-shadow:none!important}.ami497-report .ami497-summary{break-inside:avoid;page-break-inside:avoid}.ami497-preview-box{overflow:visible!important}}
