.btn-primary {
    width: 100%;
    min-height: var(--d-control-h);
    padding: 0 1rem;
    background: var(--color-kview-light);
    color: white;
    border: none;
    border-radius: var(--radius-control);
    font-size: 0.95rem;
    font-weight: 600;
    cursor: pointer;
    transition: background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);
}

.btn-primary:hover {
    background: var(--primary-600);
}

.btn-primary.inline,
.btn-secondary,
.btn-danger {
    width: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    min-height: var(--d-control-h);
    padding: 0 1rem;
    border-radius: var(--radius-control);
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    border: none;
    transition: background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);
}

.btn-secondary {
    background: var(--surface);
    color: var(--color-ink);
    border: 1px solid var(--border-strong);
}

.btn-secondary:hover {
    background: var(--surface-sunken);
    border-color: var(--primary);
    color: var(--primary);
}

.btn-danger {
    background: var(--error);
    color: white;
}

.btn-danger:hover {
    background: var(--error-fg);
}

.btn-primary:focus-visible,
.btn-secondary:focus-visible,
.btn-danger:focus-visible {
    outline: none;
    box-shadow: var(--shadow-focus);
}

.btn-primary:disabled,
.btn-secondary:disabled,
.btn-danger:disabled,
.btn-primary[aria-disabled="true"],
.btn-secondary[aria-disabled="true"],
.btn-danger[aria-disabled="true"] {
    cursor: not-allowed;
    opacity: 0.5;
    pointer-events: none;
}
