/* Ordinary actions only. Navigation, pickers, editors and icon actions have separate modules. */
:is([data-zevs-ui].ui-button,[data-zevs-ui] .ui-button).zds-button[data-zds-component="button"][data-zds-variant] {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-block-size: var(--zds-action-height);
    block-size: auto;
    max-inline-size: 100%;
    padding-block: var(--zds-button-padding-block);
    padding-inline: var(--zds-button-padding-inline);
    border: 1px solid var(--zds-border);
    border-radius: var(--zds-button-radius);
    background: transparent;
    color: var(--zds-ink);
    font-family: var(--zds-font-family);
    font-size: calc(var(--zds-font-size) * var(--font-scale, 1));
    font-weight: 400;
    line-height: 1.4;
    text-decoration: none;
    white-space: normal;
    overflow-wrap: anywhere;
    cursor: pointer;
    box-shadow: none;
    transform: none;
    filter: none;
    outline: none;
}
:is([data-zevs-ui].ui-button,[data-zevs-ui] .ui-button).zds-button[data-zds-component="button"]:not(:disabled):not([aria-disabled="true"]):is(:hover,[data-demo-state="hover"]) {
    background: color-mix(in srgb, var(--zds-ink) 5%, transparent);
    box-shadow: none;
    transform: none;
    filter: none;
}
:is([data-zevs-ui].ui-button,[data-zevs-ui] .ui-button).zds-button[data-zds-component="button"][data-zds-variant="primary"] {
    background: var(--zds-accent);
    border-color: var(--zds-accent);
    color: var(--zds-accent-text);
}
:is([data-zevs-ui].ui-button,[data-zevs-ui] .ui-button).zds-button[data-zds-component="button"][data-zds-variant="primary"]:not(:disabled):not([aria-disabled="true"]):is(:hover,[data-demo-state="hover"]) {
    background: var(--accent-hover, var(--zds-accent));
    border-color: var(--accent-hover, var(--zds-accent));
}
:is([data-zevs-ui].ui-button,[data-zevs-ui] .ui-button).zds-button[data-zds-component="button"][data-zds-variant="danger"] { color: var(--zds-danger); border-color: var(--zds-danger); }
:is([data-zevs-ui].ui-button,[data-zevs-ui] .ui-button).zds-button[data-zds-component="button"][data-zds-variant="danger"]:not(:disabled):not([aria-disabled="true"]):is(:hover,[data-demo-state="hover"]) { background: color-mix(in srgb, var(--zds-danger) 8%, transparent); }
:is([data-zevs-ui].ui-button,[data-zevs-ui] .ui-button).zds-button[data-zds-component="button"][data-zds-variant="quiet"] { border-color: transparent; color: var(--zds-accent-ink); }
:is([data-zevs-ui].ui-button,[data-zevs-ui] .ui-button).zds-button[data-zds-component="button"]:is([data-zds-variant="text"], [data-zds-variant="back"]),
:is([data-zevs-ui].ui-button,[data-zevs-ui] .ui-button).zds-button[data-zds-component="button"]:is([data-zds-variant="text"], [data-zds-variant="back"]):hover {
    background: transparent;
    border: 0;
    padding-inline: 0;
    border-radius: 0;
    color: var(--zds-muted);
}
:is([data-zevs-ui].ui-button,[data-zevs-ui] .ui-button).zds-button[data-zds-component="button"][data-zds-variant="back"] { text-decoration: underline; text-underline-offset: 3px; }
:is([data-zevs-ui].ui-button,[data-zevs-ui] .ui-button).zds-button[data-zds-component="button"]:is(:focus, :focus-visible) { outline: none; box-shadow: none; }
:is([data-zevs-ui].ui-button,[data-zevs-ui] .ui-button).zds-button[data-zds-component="button"]:is(:disabled, [aria-disabled="true"]) { opacity: .5; cursor: default; }
:is([data-zevs-ui].ui-button,[data-zevs-ui] .ui-button).zds-button[data-zds-component="button"] svg { inline-size: var(--zds-glyph-size); block-size: var(--zds-glyph-size); flex: none; stroke: currentColor; }
:is([data-zevs-ui].ui-button,[data-zevs-ui] .ui-button).zds-button[data-zds-component="button"][data-hover-label] .ui-action-label { opacity: 0; }
:is([data-zevs-ui].ui-button,[data-zevs-ui] .ui-button).zds-button[data-zds-component="button"][data-hover-label]:is(:hover, :focus-visible) .ui-action-label { opacity: 1; }
@media (max-width: 680px), (pointer: coarse) {
    :is([data-zevs-ui].ui-button,[data-zevs-ui] .ui-button).zds-button[data-zds-component="button"][data-hover-label] .ui-action-label { opacity: 1; }
}

:is([data-zevs-ui].ui-button,[data-zevs-ui] .ui-button).zds-button[data-zds-component="button"]:not(:disabled):not([aria-disabled="true"]):is(:active,[data-demo-state="active"]) { background: color-mix(in srgb, var(--zds-ink) 9%, transparent); }
:is([data-zevs-ui].ui-button,[data-zevs-ui] .ui-button).zds-button[data-zds-component="button"][data-zds-variant="primary"]:not(:disabled):not([aria-disabled="true"]):is(:active,[data-demo-state="active"]) { background: var(--accent-active, var(--zds-accent)); border-color: var(--accent-active, var(--zds-accent)); }
:is([data-zevs-ui].ui-button,[data-zevs-ui] .ui-button).zds-button[data-zds-component="button"]:is([data-zds-variant="text"],[data-zds-variant="back"]):not(:disabled):not([aria-disabled="true"]):is(:hover,:active,[data-demo-state]) { background: transparent; border: 0; color: var(--zds-accent-ink); }
:is([data-zevs-ui].ui-button,[data-zevs-ui] .ui-button).zds-button[data-zds-component="button"][aria-busy="true"] { cursor: progress; }
:is([data-zevs-ui].ui-button,[data-zevs-ui] .ui-button).zds-button[data-zds-component="button"][aria-busy="true"] .ui-symbol { animation: zds-button-progress 1s linear infinite; }
@keyframes zds-button-progress { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
    :is([data-zevs-ui].ui-button,[data-zevs-ui] .ui-button).zds-button[data-zds-component="button"][aria-busy="true"] .ui-symbol { animation: none; }
}

/* Legacy semantic colors remain authoritative; shared geometry is common. */
:is([data-zevs-ui].ui-button,[data-zevs-ui] .ui-button).zds-button[data-zds-component="button"][data-zds-button-profile="ai"] { background:var(--ai); border-color:var(--ai); color:var(--zds-ai-button-ink); }
:is([data-zevs-ui].ui-button,[data-zevs-ui] .ui-button).zds-button[data-zds-component="button"][data-zds-button-profile="ai-line"] { color:var(--ai); border-color:rgba(var(--ai-rgb),.45); background:transparent; }
:is([data-zevs-ui].ui-button,[data-zevs-ui] .ui-button).zds-button[data-zds-component="button"][data-zds-button-profile="warning"] { color:var(--warning); border-color:var(--warning); }
:is([data-zevs-ui].ui-button,[data-zevs-ui] .ui-button).zds-button[data-zds-component="button"][data-zds-button-profile="option"][aria-pressed="true"] { color:var(--zds-accent-ink); border-color:var(--zds-accent-ink); background:var(--card-on-bg,var(--raised-bg)); }
:is([data-zevs-ui].ui-button,[data-zevs-ui] .ui-button).zds-button[data-zds-component="button"][hidden] { display:none; }

:is([data-zevs-ui].ui-button,[data-zevs-ui] .ui-button).zds-button[data-zds-component="button"]:is(summary) { list-style:none; }
:is([data-zevs-ui].ui-button,[data-zevs-ui] .ui-button).zds-button[data-zds-component="button"]:is(summary)::-webkit-details-marker { display:none; }

/* Explicit custom command controls: presentation only, never new switch/rating semantics. */
:is([data-zevs-ui].zds-owned-action,[data-zevs-ui] .zds-owned-action) { box-sizing:border-box; font-size:var(--zds-font-size); font-weight:400; outline:none; box-shadow:none; }
:is([data-zevs-ui].zds-owned-action,[data-zevs-ui] .zds-owned-action):is(:focus,:focus-visible) { outline:none; box-shadow:none; }
:is([data-zevs-ui].zds-owned-action,[data-zevs-ui] .zds-owned-action):not([data-zds-button-profile="choice-card"]) { min-block-size:var(--zds-action-height); }
:is([data-zevs-ui].zds-owned-action,[data-zevs-ui] .zds-owned-action)[data-zds-button-profile="command-track"] { position:relative; inline-size:var(--zds-switch-track-width); block-size:var(--zds-action-height); padding:0; border:0; background:transparent; }
:is([data-zevs-ui].zds-owned-action,[data-zevs-ui] .zds-owned-action)[data-zds-button-profile="command-track"]::before { content:""; position:absolute; inset-block-start:50%; inset-inline-start:0; transform:translateY(-50%); inline-size:var(--zds-switch-track-width); block-size:var(--zds-switch-track-height); border-radius:var(--zds-switch-track-height); background:rgba(var(--text-rgb),.18); }
:is([data-zevs-ui].zds-owned-action,[data-zevs-ui] .zds-owned-action)[data-zds-button-profile="command-track"] > span { position:absolute; inset-block-start:50%; inset-inline-start:2px; transform:translateY(-50%); inline-size:var(--zds-switch-knob-size); block-size:var(--zds-switch-knob-size); border-radius:50%; background:var(--text-muted); }
:is([data-zevs-ui].zds-owned-action,[data-zevs-ui] .zds-owned-action)[data-zds-button-profile="command-track"].is-on::before { background:rgba(var(--accent-strong-rgb),.35); }
:is([data-zevs-ui].zds-owned-action,[data-zevs-ui] .zds-owned-action)[data-zds-button-profile="command-track"].is-on > span { inset-inline-start:calc(var(--zds-switch-track-width) - var(--zds-switch-knob-size) - 2px); background:var(--accent); }
:is([data-zevs-ui].zds-owned-action,[data-zevs-ui] .zds-owned-action)[data-zds-button-profile="command-label"] .knob { inline-size:var(--zds-switch-track-width); block-size:var(--zds-switch-track-height); border-radius:var(--zds-switch-track-height); }
:is([data-zevs-ui].zds-owned-action,[data-zevs-ui] .zds-owned-action)[data-zds-button-profile="command-label"] .knob::after { inline-size:var(--zds-switch-knob-size); block-size:var(--zds-switch-knob-size); }
:is([data-zevs-ui].zds-owned-action,[data-zevs-ui] .zds-owned-action)[data-zds-button-profile="command-label"].on .knob::after { inset-inline-start:calc(var(--zds-switch-track-width) - var(--zds-switch-knob-size) - 2px); }
:is([data-zevs-ui].zds-owned-action,[data-zevs-ui] .zds-owned-action)[hidden] { display:none; }

/* Existing theme surfaces provide contrasting ink for the existing AI hue in both themes. */
:is([data-zevs-ui].ui-button,[data-zevs-ui] .ui-button).zds-button[data-zds-component="button"][data-zds-button-profile="ai"]:not(:disabled):not([aria-disabled="true"]):is(:hover,:active,[data-demo-state="hover"],[data-demo-state="active"]) { background:var(--ai); border-color:var(--ai); color:var(--zds-ai-button-ink); }
:is([data-zevs-ui].ui-button,[data-zevs-ui] .ui-button).zds-button[data-zds-component="button"][data-zds-button-profile="ai-line"]:not(:disabled):not([aria-disabled="true"]):is(:hover,:active,[data-demo-state="hover"],[data-demo-state="active"]) { background:rgba(var(--ai-rgb),.10); border-color:rgba(var(--ai-rgb),.45); color:var(--ai); }
:is([data-zevs-ui].zds-owned-action,[data-zevs-ui] .zds-owned-action)[data-zds-button-profile="completion-command"][data-zds-component="button"] { position:relative; inline-size:var(--zds-action-height); block-size:var(--zds-action-height); min-inline-size:var(--zds-action-height); padding:0; margin:0; border:0; background:transparent; }
:is([data-zevs-ui].zds-owned-action,[data-zevs-ui] .zds-owned-action)[data-zds-button-profile="completion-command"]::before { content:""; position:absolute; inset-block-start:50%; inset-inline-start:50%; transform:translate(-50%,-50%); inline-size:var(--zds-glyph-size); block-size:var(--zds-glyph-size); border:1px solid var(--card-border); border-radius:50%; }
:is([data-zevs-ui].zds-owned-action,[data-zevs-ui] .zds-owned-action)[data-zds-button-profile="completion-command"].is-on::before { border-color:var(--success); background:rgba(var(--success-rgb),.16); }
:is([data-zevs-ui].zds-owned-action,[data-zevs-ui] .zds-owned-action)[data-zds-button-profile="completion-command"] svg { position:relative; inline-size:var(--zds-glyph-size); block-size:var(--zds-glyph-size); }
:is([data-zevs-ui].zds-owned-action,[data-zevs-ui] .zds-owned-action)[data-zds-button-profile="brand"] { min-block-size:var(--zds-action-height); block-size:auto; padding-block:var(--zds-button-padding-block); padding-inline:var(--zds-button-padding-inline); font-weight:400; }
:is([data-zevs-ui].zds-owned-action,[data-zevs-ui] .zds-owned-action)[data-zds-button-profile="theme-choice"] { min-block-size:var(--zds-action-height); }

:is([data-zevs-ui].zds-owned-action,[data-zevs-ui] .zds-owned-action)[data-zds-button-profile="completion-command"][data-zds-component="button"].onb-tick { background:transparent; border:0; }


/* Toolbar actions retain their natural label width beside the owner's search/filter fields. */
:is([data-zevs-ui].tw-filter-main,[data-zevs-ui] .tw-filter-main) > .zds-button[data-zds-component="button"] { flex:none; }

/* Preserve the exact owners' responsive action visibility. */
:is([data-zevs-ui].ui-button,[data-zevs-ui] .ui-button).zds-button[data-zds-component="button"].ew-back { display:none; }
@media(max-width:767px) {
 .expert-window.ew-mobile-detail #ew-reports :is([data-zevs-ui].ui-button,[data-zevs-ui] .ui-button).zds-button[data-zds-component="button"].ew-back:not([hidden]) { display:inline-flex; }
}
@media(max-width:700px) {
 .tw-filter-main > :is([data-zevs-ui].ui-button,[data-zevs-ui] .ui-button).zds-button[data-zds-component="button"].tw-search-submit { display:none; }
}
