/* Shared action controls. Native close buttons, navigation and form fields retain their layouts. */
body {
    --action-accent: var(--portal-accent, var(--cp-brand, var(--vp-brand, var(--portal-primary, var(--workspace-blue, #24548a)))));
}
body :is(.btn, .toolbar-btn, .ml-icon-btn, .dt-button, .btn-signin, .btn-portal) {
    font-family: inherit;
    font-weight: 600;
    font-size: .8125rem;
    line-height: 1.4;
    min-height: 38px;
    padding: .55rem .95rem;
    border-radius: 7px;
    text-decoration: none;
    vertical-align: middle;
    box-shadow: none;
    transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
body :is(.btn-primary, .btn-signin, .btn-portal) {
    --action-bg: var(--action-accent);
    --action-fg: #fff;
}
body .btn-primary { --action-bg: var(--action-accent); --action-fg: #fff; }
body .btn-outline-primary { --action-outline: var(--action-accent); }
body .btn-secondary { --action-bg: #52647b; --action-fg: #fff; }
body .btn-outline-secondary { --action-outline: #52647b; }
body .btn-success { --action-bg: #187657; --action-fg: #fff; }
body .btn-outline-success { --action-outline: #187657; }
body .btn-danger { --action-bg: #b83240; --action-fg: #fff; }
body .btn-outline-danger { --action-outline: #b83240; }
body .btn-warning { --action-bg: #f4cf78; --action-fg: #49330b; }
body .btn-outline-warning { --action-outline: #80551e; }
body .btn-info { --action-bg: #dceef6; --action-fg: #174d66; }
body .btn-outline-info { --action-outline: #186581; }
body .btn-light { --action-bg: #f1f5f9; --action-fg: #33465e; }
body .btn-outline-light { --action-outline: #52647b; }
body .btn-dark { --action-bg: #24364d; --action-fg: #fff; }
body .btn-outline-dark { --action-outline: #24364d; }

body :is(.btn-primary, .btn-secondary, .btn-success, .btn-danger, .btn-warning, .btn-info, .btn-light, .btn-dark, .btn-signin, .btn-portal) {
    background: var(--action-bg) !important;
    border: 1px solid var(--action-bg) !important;
    color: var(--action-fg) !important;
}
body :is(.btn-primary, .btn-secondary, .btn-success, .btn-danger, .btn-warning, .btn-info, .btn-light, .btn-dark, .btn-signin, .btn-portal):hover:not(:disabled):not(.disabled):not([aria-disabled="true"]) {
    background-color: color-mix(in srgb, var(--action-bg) 90%, #000) !important;
}
body :is(.btn-outline-primary, .btn-outline-secondary, .btn-outline-success, .btn-outline-danger, .btn-outline-warning, .btn-outline-info, .btn-outline-light, .btn-outline-dark) {
    background: transparent !important;
    border: 1px solid var(--action-outline) !important;
    color: var(--action-outline) !important;
}
body :is(.btn-outline-primary, .btn-outline-secondary, .btn-outline-success, .btn-outline-danger, .btn-outline-warning, .btn-outline-info, .btn-outline-light, .btn-outline-dark):hover:not(:disabled):not(.disabled):not([aria-disabled="true"]) {
    background: var(--action-outline) !important;
    color: #fff !important;
}
body :is(.toolbar-btn, .ml-icon-btn, .dt-button) {
    background: #fff;
    color: #43566f;
    border: 1px solid #c5d1df;
}
body :is(.toolbar-btn, .ml-icon-btn, .dt-button):hover:not(:disabled):not(.disabled) {
    background: #eef3f9;
    border-color: #91a7c1;
}
body .btn-link { background: transparent; border-color: transparent; color: var(--action-accent); }
body .btn-link:hover { text-decoration: underline; }
body .btn-sm { min-height: 32px; padding: .35rem .65rem; font-size: .75rem; }
body .btn-lg { min-height: 48px; padding: .75rem 1.25rem; font-size: 1rem; }
body :is(.ml-icon-btn, .btn-icon) { min-width: 34px; padding: .4rem; }
body :is(.btn-signin, .btn-portal) { min-height: 46px; }
body :is(.btn, .toolbar-btn, .ml-icon-btn, .dt-button, .btn-signin, .btn-portal):focus-visible {
    outline: 2px solid var(--action-accent) !important;
    outline-offset: 3px;
    box-shadow: none !important;
}
body :is(.btn, .toolbar-btn, .ml-icon-btn, .dt-button, .btn-signin, .btn-portal):is(:disabled, .disabled, [aria-disabled="true"]) {
    opacity: .55;
    cursor: not-allowed;
    box-shadow: none !important;
    background-image: none !important;
}
body .btn-group > .btn:not(:first-child) { border-top-left-radius: 0; border-bottom-left-radius: 0; }
body .btn-group > .btn:not(:last-child):not(.dropdown-toggle) { border-top-right-radius: 0; border-bottom-right-radius: 0; }
@media (pointer: coarse) {
    body :is(.btn, .toolbar-btn, .ml-icon-btn, .dt-button) { min-height: 44px; }
    body :is(.ml-icon-btn, .btn-icon) { min-width: 44px; }
}
@media (prefers-reduced-motion: reduce) {
    body :is(.btn, .toolbar-btn, .ml-icon-btn, .dt-button, .btn-signin, .btn-portal) { transition: none; }
}
