/* Shared action controls, loaded after page styles in every layout.
   Existing component classes below adapt to this single button design. */
:root { --button-radius: 8px; --button-primary-text: #fff; --button-danger-text: #fff; }
html[data-theme="dark"] { --button-primary-text: #071126; --button-danger-text: #071126; }

:is(.btn:not(.global-header__link), .statz-subnav__link, .profile-chip,
    .tournament-tabs__link, .data-tab__button, .admin-menu__link,
    .dca-action, .dca-card-button, .rankings-picker-actions button,
    button.rankings-chip, .rankings-legend button, .admin-edit-link,
    .dca-pool-tabs label, .rankings-modes span, .statz-compare__filter-option) {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    min-height: 44px;
    max-width: 100%;
    padding: .6rem 1.1rem;
    border: 1px solid var(--dca-line);
    border-radius: var(--button-radius);
    background: var(--dca-panel);
    color: var(--dca-green-dark);
    box-shadow: var(--dca-shadow);
    font-family: var(--font-sans);
    font-size: .9rem;
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: 0;
    text-align: center;
    text-decoration: none;
    text-transform: none;
    white-space: normal;
    overflow-wrap: anywhere;
    cursor: pointer;
    transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
:is(.btn:not(.global-header__link), .statz-subnav__link, .profile-chip,
    .tournament-tabs__link, .data-tab__button, .admin-menu__link,
    .dca-action, .dca-card-button, .rankings-picker-actions button,
    button.rankings-chip, .rankings-legend button, .admin-edit-link,
    .dca-pool-tabs label, .rankings-modes span, .statz-compare__filter-option):hover {
    background: var(--dca-soft);
    border-color: var(--dca-green);
    color: var(--dca-green-dark);
    box-shadow: var(--dca-shadow);
    transform: none;
    filter: none;
    text-decoration: none;
}
:is(.btn:not(.global-header__link), .statz-subnav__link, .profile-chip,
    .tournament-tabs__link, .data-tab__button, .admin-menu__link,
    .dca-action, .dca-card-button, .rankings-picker-actions button,
    button.rankings-chip, .rankings-legend button, .admin-edit-link):focus-visible {
    outline: 2px solid var(--dca-green);
    outline-offset: 3px;
    transform: none;
}
.btn.btn--primary, .btn.btn--primary:hover, .btn.btn--primary:focus-visible,
.dca-action.dca-action--primary, .dca-action.dca-action--primary:hover {
    background: var(--dca-green); border-color: var(--dca-green); color: var(--button-primary-text);
}
.btn.btn--danger, .btn.btn--danger:hover, .btn.btn--danger:focus-visible {
    background: var(--dca-red); border-color: var(--dca-red); color: var(--button-danger-text);
}
.btn.btn--primary:hover, .dca-action.dca-action--primary:hover, .btn.btn--danger:hover { filter: brightness(.94); }
.btn.btn--primary:focus-visible, .dca-action.dca-action--primary:focus-visible { color: var(--button-primary-text); }
.btn.btn--danger:focus-visible { color: var(--button-danger-text); }

/* The current destination uses the same accent in every section. */
:is(.statz-subnav__link, .profile-chip, .tournament-tabs__link, .admin-menu__link)[aria-current="page"],
.data-tab__button.is-active, .rankings-legend button[aria-pressed="true"], .btn[role="tab"][aria-selected="true"] {
    background: var(--dca-soft); border-color: var(--dca-green);
    color: var(--dca-green-dark); box-shadow: inset 0 -3px var(--dca-green);
}
.btn.btn--small, button.rankings-chip, .rankings-legend button,
.rankings-picker-actions button { min-height: 36px; padding: .4rem .8rem; font-size: .8rem; }
.dca-pool-tabs input:checked + label, .rankings-modes input:checked + span {
    background: var(--dca-soft); border-color: var(--dca-green);
    color: var(--dca-green-dark); box-shadow: inset 0 -3px var(--dca-green);
}
.statz-compare__filter-option:has(input:checked) {
    background: var(--dca-soft); border-color: var(--dca-green);
    color: var(--dca-green-dark); box-shadow: inset 0 -3px var(--dca-green);
}
.statz-compare__filter-option:has(input:focus-visible) {
    outline: 2px solid var(--dca-green); outline-offset: 3px;
}
.statz-compare__filter-option input[type="radio"] { accent-color: var(--dca-green); }
.dca-pool-tabs input:focus-visible + label, .rankings-modes input:focus-visible + span {
    outline: 2px solid var(--dca-green); outline-offset: 3px;
}
.dca-pool-tabs label { min-height: 36px; padding: .4rem .8rem; font-size: .8rem; }
.rankings-modes span { width: 100%; }
.admin-menu__link { justify-content: flex-start; width: 100%; font-size: .85rem; }
.admin-edit-link { width: 40px; min-height: 40px; padding: .5rem; }
.btn.btn--icon { width: 44px; height: 44px; padding: 0; }
.btn:disabled, .btn[disabled], .btn[aria-disabled="true"] {
    opacity: .5; cursor: not-allowed; transform: none; filter: none; box-shadow: none;
}
@media (prefers-reduced-motion: reduce) {
    .btn, .statz-subnav__link, .profile-chip, .tournament-tabs__link,
    .data-tab__button, .admin-menu__link, .dca-action, .dca-card-button { transition: none; }
}
