/* Shared action roles. New markup uses .oa-btn plus data-oa-action; the
   remaining selectors map existing component controls without changing events. */
@media screen {
    html:root :is(.oa-btn, .staff-button, .oa-signin button.btn, .app-shot-button,
        .oa-page__link, :is(button, a, input).btn,
        .optionBoard button:not([class]), .main_container button:not([class]),
        .quotation-editor-footer :is(button, a),
        .ui-dialog-buttonpane button:not(.ui-dialog-titlebar-close),
        .ui-jqdialog .EditButton .fm-button, #popup_panel button, #window_panel button.link) {
        box-sizing: border-box;
        min-height: var(--oa-action-height);
        padding: 5px 11px;
        border: 1px solid var(--oa-btn-border, var(--oa-border-strong));
        border-radius: var(--oa-action-radius);
        background: var(--oa-btn-bg, var(--oa-action-secondary));
        color: var(--oa-btn-text, var(--oa-text));
        box-shadow: none;
        font: 600 13px/1.35 var(--oa-font);
        text-decoration: none;
        white-space: nowrap;
        cursor: pointer;
    }

    html:root :is([data-oa-action=primary], .staff-primary, .oa-signin button.btn,
        .oa-page__link, .btn-primary, .btn-success, #popup_ok, #window_ok, #sData,
        .app-shot-button:not(.secondary):not(.danger), .main_container button[onclick*="doMultiSearch("]) {
        --oa-btn-bg: var(--oa-action-primary);
        --oa-btn-border: var(--oa-action-primary);
        --oa-btn-text: #fff;
        --oa-btn-hover: var(--oa-action-primary-hover);
    }

    html:root :is([data-oa-action=danger], .btn-danger, #dData, .staff-danger[type=submit]) {
        --oa-btn-bg: var(--oa-action-danger);
        --oa-btn-border: var(--oa-action-danger);
        --oa-btn-text: #fff;
        --oa-btn-hover: var(--oa-action-danger-hover);
    }

    html:root :is([data-oa-action=danger-quiet], .staff-danger:not([type=submit]), .app-shot-button.danger) {
        --oa-btn-bg: var(--oa-danger-bg);
        --oa-btn-border: #fecdd3;
        --oa-btn-text: var(--oa-danger);
        --oa-btn-hover: #ffe4e6;
    }

    html:root :is([data-oa-action=quiet], .staff-subtle) {
        --oa-btn-bg: transparent;
        --oa-btn-border: transparent;
        --oa-btn-text: var(--oa-muted);
    }

    html:root :is(.oa-btn, .staff-button, .oa-signin button.btn, .app-shot-button,
        .oa-page__link, :is(button, a, input).btn,
        .optionBoard button:not([class]), .main_container button:not([class]),
        .quotation-editor-footer :is(button, a), .ui-dialog-buttonpane button,
        .ui-jqdialog .EditButton .fm-button, #popup_panel button, #window_panel button.link):hover:not(:disabled):not(.disabled):not(.ui-state-disabled) {
        background: var(--oa-btn-hover, var(--oa-action-secondary-hover));
        color: var(--oa-btn-text, var(--oa-ink));
        text-decoration: none;
    }

    html:root :is(.oa-btn, .staff-button, .btn, .ui-dialog-buttonpane button, #popup_panel button):is(:disabled, .disabled, .ui-state-disabled) {
        opacity: .55;
        cursor: not-allowed;
    }

    html:root :is(.oa-btn, .staff-button, .btn, .ui-dialog-buttonpane button, #popup_panel button):focus-visible {
        outline: 2px solid var(--oa-focus);
        outline-offset: -2px;
    }

    html:root :is(.btn-sm, .oa-btn[data-oa-size=small]) { min-height: 28px; padding-block: 3px; }
    html:root .btn-group > .btn:not(:last-child) { border-top-right-radius: 0; border-bottom-right-radius: 0; }
    html:root .btn-group > .btn:not(:first-child) { border-top-left-radius: 0; border-bottom-left-radius: 0; }

    /* Wrap the footer actions without resizing the modal contents. */
    html:root :is(.modal-footer, .resourceEditActions, .quotation-editor-footer, #popup_panel, #window_panel) {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-end;
        align-items: center;
        gap: 8px;
    }
    html:root .ui-dialog-buttonpane .ui-dialog-buttonset {
        display: flex;
        justify-content: flex-end;
        align-items: center;
        flex-wrap: wrap;
        width: 100%;
        gap: 8px;
    }
    html:root .ui-dialog-buttonset > button { margin: 0; }
    html:root :is(.ui-dialog-buttonset, .resourceEditActions) > [data-oa-action=danger-quiet] { margin-inline-end: auto; }
    html:root :is(.modal-footer, #popup_panel, #window_panel) > * { margin: 0; }
    html:root #window_panel button.link { float: none; margin: 0; }
    html:root #window_cancel { order: -1; }
    html:root #popup_container :is(.layerBox, .layerBoxTop .topCon) {
        border: 0;
        border-radius: var(--oa-action-radius);
        background: var(--oa-surface);
    }
    html:root #popup_container .mid_c { background: var(--oa-panel); }
    html:root #popup_container :is(.top_c, .bottom_c, .mid_l, .mid_r, .top_r, .top_l, .bottom_l, .bottom_r) {
        background: transparent;
    }
}
