/* Shared, permission-neutral presentation for existing order actions. */
.btn.order-action-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 32px;
    width: 32px;
    min-width: 32px;
    height: 32px;
    min-height: 32px;
    padding: 0;
    vertical-align: middle;
    border-radius: 7px;
    --order-action-background: #234bb2;
    border: 1px solid var(--order-action-background);
    color: #fff !important;
    -webkit-text-fill-color: currentColor;
    background: var(--order-action-background) !important;
    line-height: 1;
    position: relative;
}
.btn.order-action-icon[data-order-action="save"] { --order-action-background: #234bb2; }
.btn.order-action-icon[data-order-action="delete"] { --order-action-background: #a11d32; }
.btn.order-action-icon[data-order-action="post"] { --order-action-background: #14633f; }
.btn.order-action-icon[data-order-action="gps"] { --order-action-background: #125969; }
.btn.order-action-icon[data-order-action="review"] { --order-action-background: #663b94; }
.btn.order-action-icon[data-order-action="edit"] { --order-action-background: #a64412; }
.btn.order-action-icon[data-order-action="reviewed"] { --order-action-background: #59651f; }
.btn.order-action-icon[data-order-action="receive"] { --order-action-background: #845032; }
/* Compact legacy tables set button dimensions with !important. */
.btn.order-action-icon[data-order-action] { height: 32px !important; min-height: 32px !important; padding: 0 !important; }
/* Keep the approved action palette in both light and dark themes. */
.btn.order-action-icon:hover:not(:disabled):not([aria-disabled="true"]) { filter: brightness(.88); }
.btn.order-action-icon:focus-visible { outline: 2px solid var(--order-action-background); outline-offset: 3px; }
html[data-theme="dark"] .btn.order-action-icon:focus-visible { outline-color: #cbdfff; }
.btn.order-action-icon[data-order-action]:disabled,
.btn.order-action-icon[data-order-action][aria-disabled="true"] {
    --order-action-background: #64748b;
    opacity: 1;
    cursor: not-allowed;
}
.order-action-icon svg { width: 18px; height: 18px; flex: none; pointer-events: none; }
.order-action-label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.order-action-icon .order-action-spinner { display: none; }
.order-action-icon[aria-busy="true"] .order-action-glyph { display: none; }
.order-action-icon[aria-busy="true"] .order-action-spinner { display: block; animation: order-action-spin .8s linear infinite; }
.order-action-icon[aria-busy="true"] { cursor: progress; }
@keyframes order-action-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .order-action-icon[aria-busy="true"] .order-action-spinner { animation: none; } }
@media (pointer: coarse) { .btn.order-action-icon[data-order-action] { width: 40px; height: 40px !important; min-height: 40px !important; min-width: 40px; flex-basis: 40px; } }
@media print { .order-action-icon { display: none !important; } }
